Pass Kernel to sendInterfaceDescriptorData()

Change-Id: Ie3617ccadf577d120e941416ecda55e1b60a78d2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz 2019-09-20 14:55:06 +02:00 committed by sys_ocldev
parent 76638922bd
commit 2cb3be0b47
5 changed files with 10 additions and 12 deletions

View File

@ -44,6 +44,7 @@ struct HardwareCommandsHelper : public PerThreadDataHelper {
static void setAdditionalInfo(
INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor,
const Kernel &kernel,
const size_t &sizeCrossThreadData,
const size_t &sizePerThreadData);
@ -59,9 +60,8 @@ struct HardwareCommandsHelper : public PerThreadDataHelper {
size_t offsetSamplerState,
uint32_t numSamplers,
uint32_t threadsPerThreadGroup,
uint32_t sizeSlm,
const Kernel &kernel,
uint32_t bindingTablePrefetchSize,
bool barrierEnable,
PreemptionMode preemptionMode,
INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor);

View File

@ -131,9 +131,8 @@ size_t HardwareCommandsHelper<GfxFamily>::sendInterfaceDescriptorData(
size_t offsetSamplerState,
uint32_t numSamplers,
uint32_t threadsPerThreadGroup,
uint32_t sizeSlm,
const Kernel &kernel,
uint32_t bindingTablePrefetchSize,
bool barrierEnable,
PreemptionMode preemptionMode,
INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor) {
using SAMPLER_STATE = typename GfxFamily::SAMPLER_STATE;
@ -151,7 +150,7 @@ size_t HardwareCommandsHelper<GfxFamily>::sendInterfaceDescriptorData(
pInterfaceDescriptor->setDenormMode(INTERFACE_DESCRIPTOR_DATA::DENORM_MODE_SETBYKERNEL);
setAdditionalInfo(pInterfaceDescriptor, sizeCrossThreadData, sizePerThreadData);
setAdditionalInfo(pInterfaceDescriptor, kernel, sizeCrossThreadData, sizePerThreadData);
pInterfaceDescriptor->setBindingTablePointer(static_cast<uint32_t>(bindingTablePointer));
@ -161,10 +160,10 @@ size_t HardwareCommandsHelper<GfxFamily>::sendInterfaceDescriptorData(
auto samplerCountState = static_cast<typename INTERFACE_DESCRIPTOR_DATA::SAMPLER_COUNT>((numSamplers + 3) / 4);
pInterfaceDescriptor->setSamplerCount(samplerCountState);
auto programmableIDSLMSize = static_cast<typename INTERFACE_DESCRIPTOR_DATA::SHARED_LOCAL_MEMORY_SIZE>(computeSlmValues(sizeSlm));
auto programmableIDSLMSize = static_cast<typename INTERFACE_DESCRIPTOR_DATA::SHARED_LOCAL_MEMORY_SIZE>(computeSlmValues(kernel.slmTotalSize));
pInterfaceDescriptor->setSharedLocalMemorySize(programmableIDSLMSize);
pInterfaceDescriptor->setBarrierEnable(barrierEnable);
pInterfaceDescriptor->setBarrierEnable(!!kernel.getKernelInfo().patchInfo.executionEnvironment->HasBarriers);
PreemptionHelper::programInterfaceDescriptorDataPreemption<GfxFamily>(pInterfaceDescriptor, preemptionMode);
@ -337,9 +336,8 @@ size_t HardwareCommandsHelper<GfxFamily>::sendIndirectState(
samplerStateOffset,
samplerCount,
threadsPerThreadGroup,
kernel.slmTotalSize,
kernel,
bindingTablePrefetchSize,
!!patchInfo.executionEnvironment->HasBarriers,
preemptionMode,
inlineInterfaceDescriptor);

View File

@ -22,6 +22,7 @@ typename HardwareCommandsHelper<GfxFamily>::INTERFACE_DESCRIPTOR_DATA *HardwareC
template <typename GfxFamily>
void HardwareCommandsHelper<GfxFamily>::setAdditionalInfo(
INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor,
const Kernel &kernel,
const size_t &sizeCrossThreadData,
const size_t &sizePerThreadData) {

View File

@ -89,7 +89,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, programInterfaceDescriptorData
size_t crossThreadDataSize = kernel->getCrossThreadDataSize();
HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData(
indirectHeap, 0, 0, crossThreadDataSize, 64, 0, 0, 0, 1, 0 * KB, 0, false, pDevice->getPreemptionMode(), nullptr);
indirectHeap, 0, 0, crossThreadDataSize, 64, 0, 0, 0, 1, *kernel, 0, pDevice->getPreemptionMode(), nullptr);
auto usedIndirectHeapAfter = indirectHeap.getUsed();
EXPECT_EQ(sizeof(INTERFACE_DESCRIPTOR_DATA), usedIndirectHeapAfter - usedIndirectHeapBefore);

View File

@ -95,9 +95,8 @@ HWCMDTEST_P(IGFX_GEN8_CORE, KernelSLMAndBarrierTest, test_SLMProgramming) {
0,
0,
1,
kernelInfo.workloadInfo.slmStaticSize,
kernel,
4u,
!!executionEnvironment.HasBarriers, // Barriers Enabled
pDevice->getPreemptionMode(),
nullptr);