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