From 8b1e3cf8cf431e0308386dcfc01b2fcf0eb83fdd Mon Sep 17 00:00:00 2001 From: MaulingMonkey Date: Wed, 16 May 2018 08:43:26 -0700 Subject: [PATCH] Ignore stencil ref in bstencil param. Avoids assert in StateCacheT:add when D3D11 deduplicates identical ID3D11DepthStencilState s (#1391) --- src/renderer_d3d11.cpp | 2 +- src/renderer_d3d12.cpp | 2 +- src/renderer_mtl.mm | 2 +- src/renderer_vk.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index df00a2e58..9f41d9918 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -2749,7 +2749,7 @@ namespace bgfx { namespace d3d11 uint32_t fstencil = unpackStencil(0, _stencil); uint32_t ref = (fstencil&BGFX_STENCIL_FUNC_REF_MASK)>>BGFX_STENCIL_FUNC_REF_SHIFT; - _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, BGFX_STENCIL_MASK); + _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, ~BGFX_STENCIL_FUNC_REF_MASK); bx::HashMurmur2A murmur; murmur.begin(); diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index bdce510c2..c964bbc5c 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -2647,7 +2647,7 @@ namespace bgfx { namespace d3d12 | BGFX_STATE_PT_MASK ; - _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, BGFX_STENCIL_MASK); + _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, ~BGFX_STENCIL_FUNC_REF_MASK); VertexDecl decl; bx::memCopy(&decl, _vertexDecls[0], sizeof(VertexDecl) ); diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index 140fddd48..0915468d8 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -1707,7 +1707,7 @@ namespace bgfx { namespace mtl uint32_t fstencil = unpackStencil(0, _stencil); uint32_t ref = (fstencil&BGFX_STENCIL_FUNC_REF_MASK)>>BGFX_STENCIL_FUNC_REF_SHIFT; - _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, BGFX_STENCIL_MASK); + _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, ~BGFX_STENCIL_FUNC_REF_MASK); bx::HashMurmur2A murmur; murmur.begin(); diff --git a/src/renderer_vk.cpp b/src/renderer_vk.cpp index 35e237965..d5841261c 100644 --- a/src/renderer_vk.cpp +++ b/src/renderer_vk.cpp @@ -2609,7 +2609,7 @@ VK_IMPORT_DEVICE | BGFX_STATE_PT_MASK ; - _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, BGFX_STENCIL_MASK); + _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, ~BGFX_STENCIL_FUNC_REF_MASK); VertexDecl decl; bx::memCopy(&decl, &m_vertexDecls[_declIdx], sizeof(VertexDecl) );