Module: Mesa Branch: main Commit: de916d827f77cdce88a413f6a4dc2c3f2b183ee2 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=de916d827f77cdce88a413f6a4dc2c3f2b183ee2
Author: Caio Oliveira <[email protected]> Date: Tue Dec 21 00:40:53 2021 -0800 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 <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14275> --- 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);
