From: Caio Marcelo de Oliveira Filho Date: Thu, 21 May 2020 09:34:52 +0000 (-0700) Subject: iris: Set CS KernelStatePointer at dispatch X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c9f4bda6ce52685cc835530d23348c69adfd89be;p=mesa.git 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 Part-of: --- 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;