Ver Fonte

Fixed texture mip mismatch.

Бранимир Караџић há 7 anos atrás
pai
commit
9054588331
5 ficheiros alterados com 5 adições e 0 exclusões
  1. 1 0
      src/renderer_d3d11.cpp
  2. 1 0
      src/renderer_d3d12.cpp
  3. 1 0
      src/renderer_d3d9.cpp
  4. 1 0
      src/renderer_gl.cpp
  5. 1 0
      src/renderer_mtl.mm

+ 1 - 0
src/renderer_d3d11.cpp

@@ -4109,6 +4109,7 @@ namespace bgfx { namespace d3d11
 				, imageContainer.m_numLayers
 				, imageContainer.m_format
 				);
+			ti.numMips = bx::min<uint8_t>(imageContainer.m_numMips-startLod, ti.numMips);
 
 			m_flags  = _flags;
 			m_width  = ti.width;

+ 1 - 0
src/renderer_d3d12.cpp

@@ -4592,6 +4592,7 @@ namespace bgfx { namespace d3d12
 				, imageContainer.m_numLayers
 				, imageContainer.m_format
 				);
+			ti.numMips = bx::min<uint8_t>(imageContainer.m_numMips-startLod, ti.numMips);
 
 			m_flags  = _flags;
 			m_width  = ti.width;

+ 1 - 0
src/renderer_d3d9.cpp

@@ -2920,6 +2920,7 @@ namespace bgfx { namespace d3d9
 				, imageContainer.m_numLayers
 				, imageContainer.m_format
 				);
+			ti.numMips = bx::min<uint8_t>(imageContainer.m_numMips-startLod, ti.numMips);
 
 			m_flags   = _flags;
 			m_width   = ti.width;

+ 1 - 0
src/renderer_gl.cpp

@@ -4734,6 +4734,7 @@ BX_TRACE("%d, %d, %d, %s", _array, _srgb, _mipAutogen, getName(_format) );
 				, imageContainer.m_numLayers
 				, imageContainer.m_format
 				);
+			ti.numMips = bx::min<uint8_t>(imageContainer.m_numMips-startLod, ti.numMips);
 
 			m_requestedFormat  = uint8_t(imageContainer.m_format);
 			m_textureFormat    = uint8_t(getViableTextureFormat(imageContainer) );

+ 1 - 0
src/renderer_mtl.mm

@@ -2591,6 +2591,7 @@ namespace bgfx { namespace mtl
 				, imageContainer.m_numLayers
 				, imageContainer.m_format
 				);
+			ti.numMips = bx::min<uint8_t>(imageContainer.m_numMips-startLod, ti.numMips);
 
 			m_flags  = _flags;
 			m_width  = ti.width;