Jelajahi Sumber

Fix blit for depth textures.

Andrew Mac 10 tahun lalu
induk
melakukan
120ed1c52f
2 mengubah file dengan 3 tambahan dan 3 penghapusan
  1. 1 1
      src/renderer_d3d11.cpp
  2. 2 2
      src/renderer_d3d9.cpp

+ 1 - 1
src/renderer_d3d11.cpp

@@ -4901,7 +4901,7 @@ BX_PRAGMA_DIAGNOSTIC_POP();
 								, 0
 								, 0
 								, src.m_ptr
 								, src.m_ptr
 								, srcZ*src.m_numMips+blit.m_srcMip
 								, srcZ*src.m_numMips+blit.m_srcMip
-								, &box
+								, isDepth((TextureFormat::Enum)src.m_textureFormat) ? NULL : &box
 								);
 								);
 						}
 						}
 					}
 					}

+ 2 - 2
src/renderer_d3d9.cpp

@@ -3649,9 +3649,9 @@ namespace bgfx { namespace d3d9
 						// GetRenderTargetData (dst must be SYSTEMMEM)
 						// GetRenderTargetData (dst must be SYSTEMMEM)
 
 
 						HRESULT hr = m_device->StretchRect(srcSurface
 						HRESULT hr = m_device->StretchRect(srcSurface
-							, &srcRect
+							, isDepth((TextureFormat::Enum)src.m_textureFormat) ? NULL : &srcRect
 							, dstSurface
 							, dstSurface
-							, &dstRect
+							, isDepth((TextureFormat::Enum)src.m_textureFormat) ? NULL : &dstRect
 							, D3DTEXF_NONE
 							, D3DTEXF_NONE
 							);
 							);
 						if (FAILED(hr) )
 						if (FAILED(hr) )