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

Revert "[dxvk] Don't clear bind mask for unbound UBOs and samplers"

For some bizarre reason, this crashes Star Citizen. The reason might be
that we create multiple pipelines with identical pipelines when using a
state cache, which used to crash some drivers in the past.

Fixes #1266.

This reverts commit 00a064e32b.
This commit is contained in:
Philip Rebohle 2019-12-04 12:24:25 +01:00
parent 0e44bc3068
commit 1ae7d4b302
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -3913,6 +3913,7 @@ namespace dxvk {
if (m_rcTracked.set(binding.slot)) if (m_rcTracked.set(binding.slot))
m_cmd->trackResource<DxvkAccess::None>(res.sampler); m_cmd->trackResource<DxvkAccess::None>(res.sampler);
} else { } else {
bindMask.clr(i);
descriptors[i].image = m_common->dummyResources().samplerDescriptor(); descriptors[i].image = m_common->dummyResources().samplerDescriptor();
} break; } break;
@ -4007,6 +4008,7 @@ namespace dxvk {
if (m_rcTracked.set(binding.slot)) if (m_rcTracked.set(binding.slot))
m_cmd->trackResource<DxvkAccess::Read>(res.bufferSlice.buffer()); m_cmd->trackResource<DxvkAccess::Read>(res.bufferSlice.buffer());
} else { } else {
bindMask.clr(i);
descriptors[i].buffer = m_common->dummyResources().bufferDescriptor(); descriptors[i].buffer = m_common->dummyResources().bufferDescriptor();
} break; } break;
@ -4029,6 +4031,7 @@ namespace dxvk {
if (m_rcTracked.set(binding.slot)) if (m_rcTracked.set(binding.slot))
m_cmd->trackResource<DxvkAccess::Read>(res.bufferSlice.buffer()); m_cmd->trackResource<DxvkAccess::Read>(res.bufferSlice.buffer());
} else { } else {
bindMask.clr(i);
descriptors[i].buffer = m_common->dummyResources().bufferDescriptor(); descriptors[i].buffer = m_common->dummyResources().bufferDescriptor();
} break; } break;