fix: store image arg size in kernel descriptor

- use arg size when patching bindless offset

Related-To: HSD-18042502539

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2025-06-20 16:16:51 +00:00
committed by Compute-Runtime-Automation
parent e3fecb932a
commit b7580a3998
5 changed files with 5 additions and 2 deletions

View File

@@ -827,7 +827,7 @@ ze_result_t KernelImp::setArgImage(uint32_t argIndex, size_t argSize, const void
auto ssInHeap = image->getBindlessSlot();
auto patchLocation = ptrOffset(getCrossThreadData(), arg.bindless);
auto bindlessSlotOffset = ssInHeap->surfaceStateOffset;
uint32_t patchSize = this->heaplessEnabled ? 8u : 4u;
uint32_t patchSize = NEO::isUndefined(arg.size) ? 0 : arg.size;
uint64_t patchValue = this->heaplessEnabled
? bindlessSlotOffset
: gfxCoreHelper.getBindlessSurfaceExtendedMessageDescriptorValue(static_cast<uint32_t>(bindlessSlotOffset));