Mesa (staging/22.1): anv: don't emit 3DSTATE_STREAMOUT in pipeline batch

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed May 4 23:16:57 UTC 2022


Module: Mesa
Branch: staging/22.1
Commit: 5eadf0d634e208be90a06e408e2bbbc1032ee900
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5eadf0d634e208be90a06e408e2bbbc1032ee900

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Thu Apr 28 09:23:23 2022 +0300

anv: don't emit 3DSTATE_STREAMOUT in pipeline batch

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220>
(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



More information about the mesa-commit mailing list