v3dv: only emit config bits and varyings packets if needed
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 19 Mar 2020 07:19:39 +0000 (08:19 +0100)
committerMarge Bot <eric+marge@anholt.net>
Tue, 13 Oct 2020 21:21:28 +0000 (21:21 +0000)
These should be emitted only if we have a new pipeline.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>

src/broadcom/vulkan/v3dv_cmd_buffer.c

index 298bb4e..3a9d29e 100644 (file)
@@ -2448,6 +2448,9 @@ cmd_buffer_emit_pre_draw(struct v3dv_cmd_buffer *cmd_buffer)
                  V3DV_CMD_DIRTY_DESCRIPTOR_SETS |
                  V3DV_CMD_DIRTY_PUSH_CONSTANTS)) {
       emit_gl_shader_state(cmd_buffer);
+   }
+
+   if (*dirty & (V3DV_CMD_DIRTY_PIPELINE)) {
       emit_configuration_bits(cmd_buffer);
       emit_varyings_state(cmd_buffer);
    }