Mesa (main): intel/xehp: Update 3DSTATE_PS maximum number of threads per PSD.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jan 11 02:45:21 UTC 2022


Module: Mesa
Branch: main
Commit: ffa2ca8a7753a39564c3cd6b5ac91e896027c6e4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffa2ca8a7753a39564c3cd6b5ac91e896027c6e4

Author: Francisco Jerez <currojerez at riseup.net>
Date:   Mon Jul 19 13:51:46 2021 -0700

intel/xehp: Update 3DSTATE_PS maximum number of threads per PSD.

Reviewed-by: Caio Oliveira <caio.oliveira at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13569>

---

 src/gallium/drivers/iris/iris_state.c | 4 +++-
 src/intel/blorp/blorp_genX_exec.h     | 4 +++-
 src/intel/vulkan/genX_pipeline.c      | 4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index 9ea435e2074..e4860f29710 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -4547,7 +4547,9 @@ iris_store_fs_state(const struct intel_device_info *devinfo,
       ps.VectorMaskEnable = true;
       ps.BindingTableEntryCount = shader->bt.size_bytes / 4;
       ps.FloatingPointMode = prog_data->use_alt_mode;
-      ps.MaximumNumberofThreadsPerPSD = 64 - (GFX_VER == 8 ? 2 : 1);
+      ps.MaximumNumberofThreadsPerPSD = (GFX_VERx10 >= 125 ? 96 - 1 :
+                                         GFX_VER == 8 ? 64 - 2 :
+                                         64 - 1);
 
       ps.PushConstantEnable = prog_data->ubo_ranges[0].length > 0;
 
diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h
index 6f43a88334d..e64976f7a29 100644
--- a/src/intel/blorp/blorp_genX_exec.h
+++ b/src/intel/blorp/blorp_genX_exec.h
@@ -886,7 +886,9 @@ blorp_emit_ps_config(struct blorp_batch *batch,
        *
        * In Gfx8 the format is U8-2 whereas in Gfx9+ it is U9-1.
        */
-      if (GFX_VER >= 9)
+      if (GFX_VERx10 >= 125)
+         ps.MaximumNumberofThreadsPerPSD = 96 - 1;
+      else if (GFX_VER >= 9)
          ps.MaximumNumberofThreadsPerPSD = 64 - 1;
       else
          ps.MaximumNumberofThreadsPerPSD = 64 - 2;
diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index 1ca9c497a08..6957c3bdf24 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -2329,7 +2329,9 @@ emit_3dstate_ps(struct anv_graphics_pipeline *pipeline,
       ps.SampleMask                 = 0xff;
 #endif
 
-#if GFX_VER >= 9
+#if GFX_VERx10 >= 125
+      ps.MaximumNumberofThreadsPerPSD  = 96 - 1;
+#elif GFX_VER >= 9
       ps.MaximumNumberofThreadsPerPSD  = 64 - 1;
 #elif GFX_VER >= 8
       ps.MaximumNumberofThreadsPerPSD  = 64 - 2;



More information about the mesa-commit mailing list