Mesa (staging/22.1): anv: don't emit 3DSTATE_VF_TOPOLOGY 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: 5346b6aac41f755e9eb9099f6291c4c4354956f4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5346b6aac41f755e9eb9099f6291c4c4354956f4

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

anv: don't emit 3DSTATE_VF_TOPOLOGY in pipeline batch

v2: drop primitive_topology = 0xffffffff (Tapani)

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 74a27a6ccb32b4c81eff4bcc808401bdb0adba0b)

---

 .pick_status.json                  |  2 +-
 src/intel/vulkan/genX_pipeline.c   | 13 -------------
 src/intel/vulkan/gfx8_cmd_buffer.c |  3 ++-
 3 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index ec66119343a..046f4635d02 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -931,7 +931,7 @@
         "description": "anv: don't emit 3DSTATE_VF_TOPOLOGY 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_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index e56c90f9b70..b8889155b4a 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -2458,14 +2458,6 @@ emit_3dstate_ps_extra(struct anv_graphics_pipeline *pipeline,
 #endif
    }
 }
-
-static void
-emit_3dstate_vf_topology(struct anv_graphics_pipeline *pipeline)
-{
-   anv_batch_emit(&pipeline->base.batch, GENX(3DSTATE_VF_TOPOLOGY), vft) {
-      vft.PrimitiveTopologyType = pipeline->topology;
-   }
-}
 #endif
 
 static void
@@ -2806,11 +2798,6 @@ genX(graphics_pipeline_create)(
       emit_3dstate_hs_te_ds(pipeline, pCreateInfo->pTessellationState);
       emit_3dstate_gs(pipeline);
 
-#if GFX_VER >= 8
-      if (!(dynamic_states & ANV_CMD_DIRTY_DYNAMIC_PRIMITIVE_TOPOLOGY))
-         emit_3dstate_vf_topology(pipeline);
-#endif
-
       emit_3dstate_vf_statistics(pipeline);
 
       emit_3dstate_streamout(pipeline, pCreateInfo->pRasterizationState,
diff --git a/src/intel/vulkan/gfx8_cmd_buffer.c b/src/intel/vulkan/gfx8_cmd_buffer.c
index d229d1f603e..c16893381df 100644
--- a/src/intel/vulkan/gfx8_cmd_buffer.c
+++ b/src/intel/vulkan/gfx8_cmd_buffer.c
@@ -328,7 +328,8 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer)
       genX(emit_shading_rate)(&cmd_buffer->batch, pipeline, d);
 #endif /* GFX_VER >= 11 */
 
-   if (cmd_buffer->state.gfx.dirty & ANV_CMD_DIRTY_DYNAMIC_PRIMITIVE_TOPOLOGY) {
+   if (cmd_buffer->state.gfx.dirty & (ANV_CMD_DIRTY_PIPELINE |
+                                      ANV_CMD_DIRTY_DYNAMIC_PRIMITIVE_TOPOLOGY)) {
       uint32_t topology;
       if (anv_pipeline_has_stage(pipeline, MESA_SHADER_TESS_EVAL))
          topology = pipeline->topology;



More information about the mesa-commit mailing list