Bläddra i källkod

Ignore stencil ref in bstencil param. Avoids assert in StateCacheT:add when D3D11 deduplicates identical ID3D11DepthStencilState s (#1391)

MaulingMonkey 7 år sedan
förälder
incheckning
8b1e3cf8cf
4 ändrade filer med 4 tillägg och 4 borttagningar
  1. 1 1
      src/renderer_d3d11.cpp
  2. 1 1
      src/renderer_d3d12.cpp
  3. 1 1
      src/renderer_mtl.mm
  4. 1 1
      src/renderer_vk.cpp

+ 1 - 1
src/renderer_d3d11.cpp

@@ -2749,7 +2749,7 @@ namespace bgfx { namespace d3d11
 
 
 			uint32_t fstencil = unpackStencil(0, _stencil);
 			uint32_t fstencil = unpackStencil(0, _stencil);
 			uint32_t ref = (fstencil&BGFX_STENCIL_FUNC_REF_MASK)>>BGFX_STENCIL_FUNC_REF_SHIFT;
 			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;
 			bx::HashMurmur2A murmur;
 			murmur.begin();
 			murmur.begin();

+ 1 - 1
src/renderer_d3d12.cpp

@@ -2647,7 +2647,7 @@ namespace bgfx { namespace d3d12
 				| BGFX_STATE_PT_MASK
 				| 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;
 			VertexDecl decl;
 			bx::memCopy(&decl, _vertexDecls[0], sizeof(VertexDecl) );
 			bx::memCopy(&decl, _vertexDecls[0], sizeof(VertexDecl) );

+ 1 - 1
src/renderer_mtl.mm

@@ -1707,7 +1707,7 @@ namespace bgfx { namespace mtl
 			uint32_t fstencil = unpackStencil(0, _stencil);
 			uint32_t fstencil = unpackStencil(0, _stencil);
 			uint32_t ref      = (fstencil&BGFX_STENCIL_FUNC_REF_MASK)>>BGFX_STENCIL_FUNC_REF_SHIFT;
 			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;
 			bx::HashMurmur2A murmur;
 			murmur.begin();
 			murmur.begin();

+ 1 - 1
src/renderer_vk.cpp

@@ -2609,7 +2609,7 @@ VK_IMPORT_DEVICE
 				| BGFX_STATE_PT_MASK
 				| 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;
 			VertexDecl decl;
 			bx::memCopy(&decl, &m_vertexDecls[_declIdx], sizeof(VertexDecl) );
 			bx::memCopy(&decl, &m_vertexDecls[_declIdx], sizeof(VertexDecl) );