anv: dynamic rasterization stream

This affects following packets:

  3DSTATE_STREAMOUT

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879>
This commit is contained in:
Tapani Pälli 2022-09-04 19:03:41 +03:00 committed by Marge Bot
parent 0f33d7061b
commit 0a6d0fed9d
2 changed files with 3 additions and 3 deletions

View file

@ -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 |

View file

@ -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;