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

[dxvk] Properly dirty multisample state when binding linked pipelines

Fixes a validation error in GTA V in very specific circumstances.
This commit is contained in:
Philip Rebohle 2024-10-17 19:40:17 +02:00
parent 990c7f562a
commit e2b4060d43

View File

@ -4964,10 +4964,12 @@ namespace dxvk {
if (m_device->features().core.features.depthBounds)
m_flags.set(DxvkContextFlag::GpDynamicDepthBounds);
if (m_state.gp.flags.test(DxvkGraphicsPipelineFlag::HasSampleRateShading)
&& m_device->features().extExtendedDynamicState3.extendedDynamicState3RasterizationSamples
&& m_device->features().extExtendedDynamicState3.extendedDynamicState3SampleMask)
m_flags.set(DxvkContextFlag::GpDynamicMultisampleState);
if (m_device->features().extExtendedDynamicState3.extendedDynamicState3RasterizationSamples
&& m_device->features().extExtendedDynamicState3.extendedDynamicState3SampleMask) {
m_flags.set(m_state.gp.flags.test(DxvkGraphicsPipelineFlag::HasSampleRateShading)
? DxvkContextFlag::GpDynamicMultisampleState
: DxvkContextFlag::GpDirtyMultisampleState);
}
} else {
m_flags.set(m_state.gp.state.useDynamicDepthBias()
? DxvkContextFlag::GpDynamicDepthBias