Correct INTERFACE_DESCRIPTOR_DATA definitions for XeHp and later

Related-To: NEO-6466
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2022-01-13 23:57:00 +00:00
committed by Compute-Runtime-Automation
parent de5e1dcd1e
commit ff79c84115
25 changed files with 481 additions and 433 deletions

View File

@@ -51,7 +51,7 @@ struct HardwareCommandsHelper : public PerThreadDataHelper {
size_t sizeCrossThreadData,
size_t sizePerThreadData,
size_t bindingTablePointer,
size_t offsetSamplerState,
[[maybe_unused]] size_t offsetSamplerState,
uint32_t numSamplers,
uint32_t numThreadsPerThreadGroup,
const Kernel &kernel,

View File

@@ -140,7 +140,7 @@ size_t HardwareCommandsHelper<GfxFamily>::sendInterfaceDescriptorData(
size_t sizeCrossThreadData,
size_t sizePerThreadData,
size_t bindingTablePointer,
size_t offsetSamplerState,
[[maybe_unused]] size_t offsetSamplerState,
uint32_t numSamplers,
uint32_t threadsPerThreadGroup,
const Kernel &kernel,
@@ -158,8 +158,7 @@ size_t HardwareCommandsHelper<GfxFamily>::sendInterfaceDescriptorData(
auto interfaceDescriptor = GfxFamily::cmdInitInterfaceDescriptorData;
// Program the kernel start pointer
interfaceDescriptor.setKernelStartPointerHigh(kernelStartOffset >> 32);
interfaceDescriptor.setKernelStartPointer((uint32_t)kernelStartOffset);
interfaceDescriptor.setKernelStartPointer(static_cast<uint32_t>(kernelStartOffset & std::numeric_limits<uint32_t>::max()));
// # of threads in thread group should be based on LWS.
interfaceDescriptor.setNumberOfThreadsInGpgpuThreadGroup(threadsPerThreadGroup);
@@ -173,7 +172,9 @@ size_t HardwareCommandsHelper<GfxFamily>::sendInterfaceDescriptorData(
interfaceDescriptor.setBindingTablePointer(static_cast<uint32_t>(bindingTablePointer));
interfaceDescriptor.setSamplerStatePointer(static_cast<uint32_t>(offsetSamplerState));
if constexpr (GfxFamily::supportsSampler) {
interfaceDescriptor.setSamplerStatePointer(static_cast<uint32_t>(offsetSamplerState));
}
EncodeDispatchKernel<GfxFamily>::adjustBindingTablePrefetch(interfaceDescriptor, numSamplers, bindingTablePrefetchSize);