Browse Source

libobs-d3d11: Use mip levels are used in resource view

jp9000 7 năm trước cách đây
mục cha
commit
35dc89f5ca
1 tập tin đã thay đổi với 4 bổ sung2 xóa
  1. 4 2
      libobs-d3d11/d3d11-texture2d.cpp

+ 4 - 2
libobs-d3d11/d3d11-texture2d.cpp

@@ -123,10 +123,12 @@ void gs_texture_2d::InitResourceView()
 
 	if (type == GS_TEXTURE_CUBE) {
 		resourceDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBE;
-		resourceDesc.TextureCube.MipLevels = genMipmaps ? -1 : 1;
+		resourceDesc.TextureCube.MipLevels =
+			genMipmaps || !levels ? -1 : levels;
 	} else {
 		resourceDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;
-		resourceDesc.Texture2D.MipLevels = genMipmaps ? -1 : 1;
+		resourceDesc.Texture2D.MipLevels =
+			genMipmaps || !levels ? -1 : levels;
 	}
 
 	hr = device->device->CreateShaderResourceView(texture, &resourceDesc,