From 9054588331dbcd2c741b1f69c562f2aaf476c8e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Wed, 30 Jan 2019 17:43:28 -0800 Subject: [PATCH] Fixed texture mip mismatch. --- src/renderer_d3d11.cpp | 1 + src/renderer_d3d12.cpp | 1 + src/renderer_d3d9.cpp | 1 + src/renderer_gl.cpp | 1 + src/renderer_mtl.mm | 1 + 5 files changed, 5 insertions(+) diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index d6d08cc7f..bcde00c09 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -4109,6 +4109,7 @@ namespace bgfx { namespace d3d11 , imageContainer.m_numLayers , imageContainer.m_format ); + ti.numMips = bx::min(imageContainer.m_numMips-startLod, ti.numMips); m_flags = _flags; m_width = ti.width; diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index c7c751432..863b8025e 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -4592,6 +4592,7 @@ namespace bgfx { namespace d3d12 , imageContainer.m_numLayers , imageContainer.m_format ); + ti.numMips = bx::min(imageContainer.m_numMips-startLod, ti.numMips); m_flags = _flags; m_width = ti.width; diff --git a/src/renderer_d3d9.cpp b/src/renderer_d3d9.cpp index 3931112f2..8a0ac9ead 100644 --- a/src/renderer_d3d9.cpp +++ b/src/renderer_d3d9.cpp @@ -2920,6 +2920,7 @@ namespace bgfx { namespace d3d9 , imageContainer.m_numLayers , imageContainer.m_format ); + ti.numMips = bx::min(imageContainer.m_numMips-startLod, ti.numMips); m_flags = _flags; m_width = ti.width; diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index c5e542db7..38513a54c 100644 --- a/src/renderer_gl.cpp +++ b/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(imageContainer.m_numMips-startLod, ti.numMips); m_requestedFormat = uint8_t(imageContainer.m_format); m_textureFormat = uint8_t(getViableTextureFormat(imageContainer) ); diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index da5977d8b..b6fe56ef8 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -2591,6 +2591,7 @@ namespace bgfx { namespace mtl , imageContainer.m_numLayers , imageContainer.m_format ); + ti.numMips = bx::min(imageContainer.m_numMips-startLod, ti.numMips); m_flags = _flags; m_width = ti.width;