1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-05 01:24:14 +01:00

[d3d9] Use m_activeRTs in BindFramebuffer

Can roll in the anyColorWrites this way.
This commit is contained in:
Joshua Ashton 2023-06-24 03:42:54 +01:00
parent 6b60de2d31
commit ff65599dba

View File

@ -5854,7 +5854,7 @@ namespace dxvk {
// target bindings are updated. Set up the attachments. // target bindings are updated. Set up the attachments.
VkSampleCountFlagBits sampleCount = VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM; VkSampleCountFlagBits sampleCount = VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM;
for (uint32_t i : bit::BitMask(m_boundRTs)) { for (uint32_t i : bit::BitMask(m_activeRTs)) {
const DxvkImageCreateInfo& rtImageInfo = m_state.renderTargets[i]->GetCommonTexture()->GetImage()->info(); const DxvkImageCreateInfo& rtImageInfo = m_state.renderTargets[i]->GetCommonTexture()->GetImage()->info();
if (likely(sampleCount == VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM)) if (likely(sampleCount == VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM))
@ -5862,8 +5862,7 @@ namespace dxvk {
else if (unlikely(sampleCount != rtImageInfo.sampleCount)) else if (unlikely(sampleCount != rtImageInfo.sampleCount))
continue; continue;
if (!(m_anyColorWrites & (1 << i))) // Any color writes are included in m_activeRTs
continue;
if (!(m_psShaderMasks.rtMask & (1 << i))) if (!(m_psShaderMasks.rtMask & (1 << i)))
continue; continue;