OSDN Git Service

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)
committerEmil Velikov <emil.l.velikov@gmail.com>
Wed, 14 Nov 2018 18:53:02 +0000 (18:53 +0000)
Cc: 18.3 <mesa-stable@lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
(cherry picked from commit b5f213bb1dcde22949dffe9d3a431fecd5d0f33b)

src/amd/vulkan/radv_cmd_buffer.c

index 6510a5c..b9d5726 100644 (file)
@@ -3520,8 +3520,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)