From 706f1252baaeabd7dba0163dd55146555f273a70 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Fri, 15 Jul 2022 05:27:04 +0200 Subject: [PATCH] v3dv: explain why we clear certain state after a draw call MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Alejandro PiƱeiro Part-of: --- 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);