diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index da1cf882..f00fbb57 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -5165,14 +5165,14 @@ namespace dxvk { return false; } - if (m_descriptorState.hasDirtyComputeSets()) - this->updateComputeShaderResources(); - if (m_flags.test(DxvkContextFlag::CpDirtyPipelineState)) { if (unlikely(!this->updateComputePipelineState())) return false; } + if (m_descriptorState.hasDirtyComputeSets()) + this->updateComputeShaderResources(); + if (m_flags.test(DxvkContextFlag::DirtyPushConstants)) this->updatePushConstants(); @@ -5207,9 +5207,6 @@ namespace dxvk { if (m_flags.test(DxvkContextFlag::GpDirtyVertexBuffers)) this->updateVertexBufferBindings(); - if (m_descriptorState.hasDirtyGraphicsSets()) - this->updateGraphicsShaderResources(); - if (m_flags.test(DxvkContextFlag::GpDirtyPipelineState)) { DxvkGlobalPipelineBarrier barrier = { }; @@ -5227,6 +5224,9 @@ namespace dxvk { return false; } + if (m_descriptorState.hasDirtyGraphicsSets()) + this->updateGraphicsShaderResources(); + if (m_state.gp.flags.test(DxvkGraphicsPipelineFlag::HasTransformFeedback)) this->updateTransformFeedbackState();