From d7f1569307b44a2b151f5461e69fb342b7fc7d15 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Sat, 8 Oct 2022 19:07:16 +0300 Subject: [PATCH] anv: limit push constant reemission MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lionel Landwerlin Reviewed-by: Emma Anholt Reviewed-by: Tapani Pälli Part-of: --- src/intel/vulkan/genX_cmd_buffer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 217841b4138..7a04cdfeac0 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -2301,7 +2301,7 @@ cmd_buffer_alloc_push_constants(struct anv_cmd_buffer *cmd_buffer) * Since 3DSTATE_PUSH_CONSTANT_ALLOC_VS is programmed as part of * pipeline setup, we need to dirty push constants. */ - cmd_buffer->state.push_constants_dirty |= VK_SHADER_STAGE_ALL_GRAPHICS; + cmd_buffer->state.push_constants_dirty |= stages; } static VkResult @@ -3616,7 +3616,7 @@ genX(cmd_buffer_flush_gfx_state)(struct anv_cmd_buffer *cmd_buffer) /* Because we're pushing UBOs, we have to push whenever either * descriptors or push constants is dirty. */ - dirty |= cmd_buffer->state.push_constants_dirty; + dirty |= cmd_buffer->state.push_constants_dirty & pipeline->active_stages; cmd_buffer_flush_push_constants(cmd_buffer, dirty & VK_SHADER_STAGE_ALL_GRAPHICS); #if GFX_VERx10 >= 125