mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-05 01:24:14 +01:00
[dxvk] Ignore some pipeline flags when ending render pass
This commit is contained in:
parent
0895858901
commit
8704ed7af6
@ -4958,9 +4958,16 @@ namespace dxvk {
|
|||||||
if (unlikely(newPipeline->getSpecConstantMask() != m_state.gp.constants.mask))
|
if (unlikely(newPipeline->getSpecConstantMask() != m_state.gp.constants.mask))
|
||||||
this->resetSpecConstants<VK_PIPELINE_BIND_POINT_GRAPHICS>(newPipeline->getSpecConstantMask());
|
this->resetSpecConstants<VK_PIPELINE_BIND_POINT_GRAPHICS>(newPipeline->getSpecConstantMask());
|
||||||
|
|
||||||
if (m_state.gp.flags != newPipeline->flags()) {
|
DxvkGraphicsPipelineFlags oldFlags = m_state.gp.flags;
|
||||||
m_state.gp.flags = newPipeline->flags();
|
DxvkGraphicsPipelineFlags newFlags = newPipeline->flags();
|
||||||
|
|
||||||
|
DxvkGraphicsPipelineFlags hazardMask(
|
||||||
|
DxvkGraphicsPipelineFlag::HasTransformFeedback,
|
||||||
|
DxvkGraphicsPipelineFlag::HasStorageDescriptors);
|
||||||
|
|
||||||
|
m_state.gp.flags = newFlags;
|
||||||
|
|
||||||
|
if (((oldFlags ^ newFlags) & hazardMask) != 0) {
|
||||||
// Force-update vertex/index buffers for hazard checks
|
// Force-update vertex/index buffers for hazard checks
|
||||||
m_flags.set(DxvkContextFlag::GpDirtyIndexBuffer,
|
m_flags.set(DxvkContextFlag::GpDirtyIndexBuffer,
|
||||||
DxvkContextFlag::GpDirtyVertexBuffers,
|
DxvkContextFlag::GpDirtyVertexBuffers,
|
||||||
|
Loading…
Reference in New Issue
Block a user