Mesa (main): v3dv: explain why we clear certain state after a draw call

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 19 06:10:00 UTC 2022


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

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Jul 15 05:27:04 2022 +0200

v3dv: explain why we clear certain state after a draw call

Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17536>

---

 src/broadcom/vulkan/v3dvx_cmd_buffer.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/broadcom/vulkan/v3dvx_cmd_buffer.c b/src/broadcom/vulkan/v3dvx_cmd_buffer.c
index 3516a048ace..571f7ad5433 100644
--- a/src/broadcom/vulkan/v3dvx_cmd_buffer.c
+++ b/src/broadcom/vulkan/v3dvx_cmd_buffer.c
@@ -2106,6 +2106,11 @@ v3dX(cmd_buffer_emit_gl_shader_state)(struct v3dv_cmd_buffer *cmd_buffer)
       }
    }
 
+   /* Clearing push constants and descriptor sets for all stages is not quite
+    * correct (some shader stages may not be used at all or they may not be
+    * consuming push constants), however this is not relevant because if we
+    * bind a different pipeline we always have to rebuild the uniform streams.
+    */
    cmd_buffer->state.dirty &= ~(V3DV_CMD_DIRTY_VERTEX_BUFFER |
                                 V3DV_CMD_DIRTY_DESCRIPTOR_SETS |
                                 V3DV_CMD_DIRTY_PUSH_CONSTANTS);



More information about the mesa-commit mailing list