Mesa (main): anv: Refactor dirty masking in cmd_buffer_flush_state

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Dec 21 11:28:32 UTC 2021


Module: Mesa
Branch: main
Commit: de916d827f77cdce88a413f6a4dc2c3f2b183ee2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=de916d827f77cdce88a413f6a4dc2c3f2b183ee2

Author: Caio Oliveira <caio.oliveira at intel.com>
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 <lionel.g.landwerlin at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
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);
 



More information about the mesa-commit mailing list