From 5eadf0d634e208be90a06e408e2bbbc1032ee900 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Thu, 28 Apr 2022 09:23:23 +0300 Subject: [PATCH] anv: don't emit 3DSTATE_STREAMOUT in pipeline batch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lionel Landwerlin Reviewed-by: Tapani Pälli Part-of: (cherry picked from commit 065242d623d89e84ef3ed9dd5558b40aa6f46ec2) --- .pick_status.json | 2 +- src/intel/vulkan/genX_cmd_buffer.c | 8 ++++---- src/intel/vulkan/genX_pipeline.c | 7 +------ 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 2724483a02a..bf7f536a493 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -967,7 +967,7 @@ "description": "anv: don't emit 3DSTATE_STREAMOUT in pipeline batch", "nominated": false, "nomination_type": null, - "resolution": 4, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index cc34261d1e9..837207f185a 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -4055,10 +4055,10 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer) cmd_buffer_emit_clip(cmd_buffer); - if (pipeline->dynamic_states & ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE) { - if (cmd_buffer->state.gfx.dirty & (ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE | ANV_CMD_DIRTY_XFB_ENABLE)) - cmd_buffer_emit_streamout(cmd_buffer); - } + if (cmd_buffer->state.gfx.dirty & (ANV_CMD_DIRTY_PIPELINE | + ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE | + ANV_CMD_DIRTY_XFB_ENABLE)) + cmd_buffer_emit_streamout(cmd_buffer); if (cmd_buffer->state.gfx.dirty & (ANV_CMD_DIRTY_DYNAMIC_SCISSOR | ANV_CMD_DIRTY_RENDER_TARGETS | diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 568ac99da16..1bb03d34ab7 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -1827,12 +1827,7 @@ emit_3dstate_streamout(struct anv_graphics_pipeline *pipeline, so.Stream3VertexReadLength = urb_entry_read_length - 1; } - if (dynamic_states & ANV_CMD_DIRTY_DYNAMIC_RASTERIZER_DISCARD_ENABLE) { - GENX(3DSTATE_STREAMOUT_pack)(NULL, streamout_state_dw, &so); - } else { - anv_batch_emit(&pipeline->base.batch, GENX(3DSTATE_STREAMOUT), _so) - _so = so; - } + GENX(3DSTATE_STREAMOUT_pack)(NULL, streamout_state_dw, &so); } static uint32_t