anv/gen7: Set SLM size in interface descriptor
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
ab0d8608d2
commit
8e48ff3ad6
|
@ -294,6 +294,16 @@ flush_compute_descriptor_set(struct anv_cmd_buffer *cmd_buffer)
|
|||
.CURBEDataStartAddress = push_state.offset);
|
||||
}
|
||||
|
||||
assert(prog_data->total_shared <= 64 * 1024);
|
||||
uint32_t slm_size = 0;
|
||||
if (prog_data->total_shared > 0) {
|
||||
/* slm_size is in 4k increments, but must be a power of 2. */
|
||||
slm_size = 4 * 1024;
|
||||
while (slm_size < prog_data->total_shared)
|
||||
slm_size <<= 1;
|
||||
slm_size /= 4 * 1024;
|
||||
}
|
||||
|
||||
struct anv_state state =
|
||||
anv_state_pool_emit(&device->dynamic_state_pool,
|
||||
GEN7_INTERFACE_DESCRIPTOR_DATA, 64,
|
||||
|
@ -304,6 +314,7 @@ flush_compute_descriptor_set(struct anv_cmd_buffer *cmd_buffer)
|
|||
push_constant_regs,
|
||||
.ConstantURBEntryReadOffset = 0,
|
||||
.BarrierEnable = cs_prog_data->uses_barrier,
|
||||
.SharedLocalMemorySize = slm_size,
|
||||
.NumberofThreadsinGPGPUThreadGroup =
|
||||
pipeline->cs_thread_width_max);
|
||||
|
||||
|
|
Loading…
Reference in New Issue