From 59462f323120ccd887daf7cd60788b0385cf0f32 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 16 Jan 2019 17:47:31 +0100 Subject: [PATCH] [dxvk] Don't re-emit dynamic state every time we bind a pipeline This used to be necessary on some drivers that would lose dynamic state upon pipeline bindings, but that no longer seems to be the case. --- src/dxvk/dxvk_context.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index b66b01b0..36dc0af9 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -48,6 +48,10 @@ namespace dxvk { DxvkContextFlag::GpDirtyVertexBuffers, DxvkContextFlag::GpDirtyIndexBuffer, DxvkContextFlag::GpDirtyXfbBuffers, + DxvkContextFlag::GpDirtyBlendConstants, + DxvkContextFlag::GpDirtyStencilRef, + DxvkContextFlag::GpDirtyViewport, + DxvkContextFlag::GpDirtyDepthBias, DxvkContextFlag::CpDirtyPipeline, DxvkContextFlag::CpDirtyPipelineState, DxvkContextFlag::CpDirtyResources, @@ -2551,7 +2555,11 @@ namespace dxvk { DxvkContextFlag::GpDirtyResources, DxvkContextFlag::GpDirtyVertexBuffers, DxvkContextFlag::GpDirtyIndexBuffer, - DxvkContextFlag::GpDirtyXfbBuffers); + DxvkContextFlag::GpDirtyXfbBuffers, + DxvkContextFlag::GpDirtyBlendConstants, + DxvkContextFlag::GpDirtyStencilRef, + DxvkContextFlag::GpDirtyViewport, + DxvkContextFlag::GpDirtyDepthBias); m_gpActivePipeline = VK_NULL_HANDLE; } @@ -2604,12 +2612,6 @@ namespace dxvk { VK_PIPELINE_BIND_POINT_GRAPHICS, m_gpActivePipeline); } - - m_flags.set( - DxvkContextFlag::GpDirtyBlendConstants, - DxvkContextFlag::GpDirtyStencilRef, - DxvkContextFlag::GpDirtyViewport, - DxvkContextFlag::GpDirtyDepthBias); } }