From ffa2ca8a7753a39564c3cd6b5ac91e896027c6e4 Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Mon, 19 Jul 2021 13:51:46 -0700 Subject: [PATCH] intel/xehp: Update 3DSTATE_PS maximum number of threads per PSD. Reviewed-by: Caio Oliveira Part-of: --- 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;