[PATCH i-g-t 09/11] lib/intel_compute: Fix enqueued local size in xehp
Francois Dugast
francois.dugast at intel.com
Tue Mar 11 15:21:29 UTC 2025
According to the metadata of the compute kernel used for this test, the
enqueued_local_size comes at offset 52, right after the value of the
"count" argument. Fix it and add comments for clarity.
Relevant part of the kernel metadata:
- arg_type: arg_bypointer
offset: 32
size: 8
arg_index: 0
addrmode: stateless
addrspace: global
access_type: readwrite
- arg_type: arg_bypointer
offset: 40
size: 8
arg_index: 1
addrmode: stateless
addrspace: global
access_type: readwrite
- arg_type: arg_byvalue
offset: 48
size: 4
arg_index: 2
- arg_type: enqueued_local_size
offset: 52
size: 12
Signed-off-by: Francois Dugast <francois.dugast at intel.com>
---
lib/intel_compute.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/intel_compute.c b/lib/intel_compute.c
index 7a2e04b10..f5b3a88f0 100644
--- a/lib/intel_compute.c
+++ b/lib/intel_compute.c
@@ -781,12 +781,12 @@ static void xehp_create_indirect_data(uint32_t *addr_bo_buffer_batch,
addr_bo_buffer_batch[b++] = addr_output & 0xffffffff;
addr_bo_buffer_batch[b++] = addr_output >> 32;
addr_bo_buffer_batch[b++] = loop_count;
+ addr_bo_buffer_batch[b++] = 0x00000400; // Enqueued local size X
+ addr_bo_buffer_batch[b++] = 0x00000001; // Enqueued local size Y
+ addr_bo_buffer_batch[b++] = 0x00000001; // Enqueued local size Z
addr_bo_buffer_batch[b++] = 0x00000000;
addr_bo_buffer_batch[b++] = 0x00000000;
addr_bo_buffer_batch[b++] = 0x00000000;
- addr_bo_buffer_batch[b++] = 0x00000400;
- addr_bo_buffer_batch[b++] = 0x00000001;
- addr_bo_buffer_batch[b++] = 0x00000001;
addr_bo_buffer_batch[b++] = 0x00000000;
addr_bo_buffer_batch[b++] = 0x00000000;
addr_bo_buffer_batch[b++] = 0x00000000;
--
2.43.0
More information about the igt-dev
mailing list