From 1eb0c687a6748d8268dd84f466a1378de4fb3c10 Mon Sep 17 00:00:00 2001 From: Robin Kertels Date: Fri, 20 Dec 2024 18:04:26 +0100 Subject: [PATCH] [d3d9] Fix messing up the dirty textures bitmask --- src/d3d9/d3d9_device.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index 9f6e17fbd..183512111 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -3379,7 +3379,7 @@ namespace dxvk { m_vsShaderMasks = D3D9ShaderMasks(); // Fixed function vertex shaders don't support sampling textures. - m_dirtyTextures = m_vsShaderMasks.samplerMask & m_mismatchingTextureTypes; + m_dirtyTextures |= m_vsShaderMasks.samplerMask & m_mismatchingTextureTypes; m_mismatchingTextureTypes &= ~m_vsShaderMasks.samplerMask; } @@ -3748,7 +3748,7 @@ namespace dxvk { newShaderMasks = FixedFunctionMask; // Fixed function always uses spec constants to decide the texture type. - m_dirtyTextures = newShaderMasks.samplerMask & m_mismatchingTextureTypes; + m_dirtyTextures |= newShaderMasks.samplerMask & m_mismatchingTextureTypes; m_mismatchingTextureTypes &= ~newShaderMasks.samplerMask; } @@ -6342,7 +6342,7 @@ namespace dxvk { if (unlikely(shader->GetInfo().majorVersion() < 2)) { // SM 1 shaders don't define the texture type in the shader. // We always use spec constants for those. - m_dirtyTextures = shaderSamplerMask & m_mismatchingTextureTypes; + m_dirtyTextures |= shaderSamplerMask & m_mismatchingTextureTypes; m_mismatchingTextureTypes &= ~shaderSamplerMask; return; }