Mesa (master): iris: Set CS KernelStatePointer at dispatch

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu May 28 04:09:30 UTC 2020


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

Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Thu May 21 02:34:52 2020 -0700

iris: Set CS KernelStatePointer at dispatch

There's an update for INTERFACE_DESCRIPTOR_DATA at dispatch, so we can
just move the KSP assignment there.  This flexibility will later allow
variable group size to pick the right SIMD variant.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5142>

---

 src/gallium/drivers/iris/iris_state.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index fd44d7046e0..82438afb05b 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -4375,7 +4375,6 @@ iris_store_cs_state(struct iris_context *ice,
    void *map = shader->derived_data;
 
    iris_pack_state(GENX(INTERFACE_DESCRIPTOR_DATA), map, desc) {
-      desc.KernelStartPointer = KSP(shader);
       desc.ConstantURBEntryReadLength = cs_prog_data->push.per_thread.regs;
       desc.SharedLocalMemorySize =
          encode_slm_size(GEN_GEN, prog_data->total_shared);
@@ -6604,6 +6603,7 @@ iris_upload_compute_state(struct iris_context *ice,
       uint32_t desc[GENX(INTERFACE_DESCRIPTOR_DATA_length)];
 
       iris_pack_state(GENX(INTERFACE_DESCRIPTOR_DATA), desc, idd) {
+         idd.KernelStartPointer = KSP(shader);
          idd.SamplerStatePointer = shs->sampler_table.offset;
          idd.BindingTablePointer = binder->bt_offset[MESA_SHADER_COMPUTE];
          idd.NumberofThreadsinGPGPUThreadGroup = threads;



More information about the mesa-commit mailing list