diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index a809338520e..165ccb965cd 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -3426,6 +3426,7 @@ cmd_buffer_emit_streamout(struct anv_cmd_buffer *cmd_buffer) struct GENX(3DSTATE_STREAMOUT) so = { GENX(3DSTATE_STREAMOUT_header), .RenderingDisable = dyn->rs.rasterizer_discard_enable, + .RenderStreamSelect = dyn->rs.rasterization_stream, }; GENX(3DSTATE_STREAMOUT_pack)(NULL, dwords, &so); anv_batch_emit_merge(&cmd_buffer->batch, dwords, pipeline->gfx8.streamout_state); @@ -3625,7 +3626,8 @@ genX(cmd_buffer_flush_gfx_state)(struct anv_cmd_buffer *cmd_buffer) if ((cmd_buffer->state.gfx.dirty & (ANV_CMD_DIRTY_PIPELINE | ANV_CMD_DIRTY_XFB_ENABLE)) || - BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_RS_RASTERIZER_DISCARD_ENABLE)) + BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_RS_RASTERIZER_DISCARD_ENABLE) || + BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_RS_RASTERIZATION_STREAM)) cmd_buffer_emit_streamout(cmd_buffer); if ((cmd_buffer->state.gfx.dirty & (ANV_CMD_DIRTY_PIPELINE | diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 1c32cd5f99c..800c013436f 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -1269,8 +1269,6 @@ emit_3dstate_streamout(struct anv_graphics_pipeline *pipeline, unreachable("Invalid provoking vertex mode"); } - so.RenderStreamSelect = rs->rasterization_stream; - so.Buffer0SurfacePitch = xfb_info->buffers[0].stride; so.Buffer1SurfacePitch = xfb_info->buffers[1].stride; so.Buffer2SurfacePitch = xfb_info->buffers[2].stride;