diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index adc63d1e..c55d08d3 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -5858,7 +5858,7 @@ namespace dxvk { // target bindings are updated. Set up the attachments. VkSampleCountFlagBits sampleCount = VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM; - for (uint32_t i : bit::BitMask(m_activeRTs)) { + for (uint32_t i : bit::BitMask(m_boundRTs)) { const DxvkImageCreateInfo& rtImageInfo = m_state.renderTargets[i]->GetCommonTexture()->GetImage()->info(); if (likely(sampleCount == VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM)) @@ -5866,7 +5866,8 @@ namespace dxvk { else if (unlikely(sampleCount != rtImageInfo.sampleCount)) continue; - // Any color writes are included in m_activeRTs + if (!(m_anyColorWrites & (1 << i))) + continue; if (!(m_psShaderMasks.rtMask & (1 << i))) continue;