From 075c0bf203f9c5e1c76321e1ae257d6b32e97818 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Wed, 24 May 2023 13:42:42 +0100 Subject: [PATCH] [d3d9] Use m_boundRTs for COLORWRITEENABLE checks Also allows us to check for NULL RTs with this too and avoid extra work! --- 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 25dba75f0..bfa9e5222 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -1979,21 +1979,21 @@ namespace dxvk { m_flags.set(D3D9DeviceFlag::DirtyBlendState); break; case D3DRS_COLORWRITEENABLE1: - if (likely(!old != !Value && m_state.renderTargets[1] != nullptr)) { + if (likely(!old != !Value && (m_boundRTs & (1 << 1)))) { m_flags.set(D3D9DeviceFlag::DirtyFramebuffer); UpdateActiveRTs(1); } m_flags.set(D3D9DeviceFlag::DirtyBlendState); break; case D3DRS_COLORWRITEENABLE2: - if (likely(!old != !Value && m_state.renderTargets[2] != nullptr)) { + if (likely(!old != !Value && (m_boundRTs & (1 << 2)))) { m_flags.set(D3D9DeviceFlag::DirtyFramebuffer); UpdateActiveRTs(2); } m_flags.set(D3D9DeviceFlag::DirtyBlendState); break; case D3DRS_COLORWRITEENABLE3: - if (likely(!old != !Value && m_state.renderTargets[3] != nullptr)) { + if (likely(!old != !Value && (m_boundRTs & (1 << 3)))) { m_flags.set(D3D9DeviceFlag::DirtyFramebuffer); UpdateActiveRTs(3); }