radv: binding streamout buffers doesn't change context regs
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 12 Nov 2018 10:37:20 +0000 (11:37 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 13 Nov 2018 09:24:31 +0000 (10:24 +0100)
Cc: 18.3 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_cmd_buffer.c

index ee53739..1f22fda 100644 (file)
@@ -3541,8 +3541,13 @@ static bool radv_need_late_scissor_emission(struct radv_cmd_buffer *cmd_buffer,
 
        uint32_t used_states = cmd_buffer->state.pipeline->graphics.needed_dynamic_state | ~RADV_CMD_DIRTY_DYNAMIC_ALL;
 
-       /* Index & Vertex buffer don't change context regs, and pipeline is handled later. */
-       used_states &= ~(RADV_CMD_DIRTY_INDEX_BUFFER | RADV_CMD_DIRTY_VERTEX_BUFFER | RADV_CMD_DIRTY_PIPELINE);
+       /* Index, vertex and streamout buffers don't change context regs, and
+        * pipeline is handled later.
+        */
+       used_states &= ~(RADV_CMD_DIRTY_INDEX_BUFFER |
+                        RADV_CMD_DIRTY_VERTEX_BUFFER |
+                        RADV_CMD_DIRTY_STREAMOUT_BUFFER |
+                        RADV_CMD_DIRTY_PIPELINE);
 
        /* Assume all state changes except  these two can imply context rolls. */
        if (cmd_buffer->state.dirty & used_states)