From de916d827f77cdce88a413f6a4dc2c3f2b183ee2 Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Tue, 21 Dec 2021 00:40:53 -0800 Subject: [PATCH] anv: Refactor dirty masking in cmd_buffer_flush_state Instead of masking the dirty variable itself, use an appropriate mask in the users of dirty. This will avoid extra tracking when dealing with Task/Mesh later. Reviewed-by: Lionel Landwerlin Reviewed-by: Kenneth Graunke Part-of: --- src/intel/vulkan/genX_cmd_buffer.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 059b1a7751e..371fca734da 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -3759,12 +3759,14 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer) * descriptors or push constants is dirty. */ dirty |= cmd_buffer->state.push_constants_dirty; - dirty &= ANV_STAGE_MASK & VK_SHADER_STAGE_ALL_GRAPHICS; - cmd_buffer_flush_push_constants(cmd_buffer, dirty); + cmd_buffer_flush_push_constants(cmd_buffer, + dirty & VK_SHADER_STAGE_ALL_GRAPHICS); } - if (dirty) - cmd_buffer_emit_descriptor_pointers(cmd_buffer, dirty); + if (dirty & VK_SHADER_STAGE_ALL_GRAPHICS) { + cmd_buffer_emit_descriptor_pointers(cmd_buffer, + dirty & VK_SHADER_STAGE_ALL_GRAPHICS); + } cmd_buffer_emit_clip(cmd_buffer);