performance: get reference from getBindlessInfo
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
parent
f8920fe3b4
commit
7adfa344c0
|
@ -143,7 +143,7 @@ ze_result_t KernelImmutableData::initialize(NEO::KernelInfo *kernelInfo, Device
|
|||
if (!neoDevice->getMemoryManager()->allocateBindlessSlot(globalConstBuffer)) {
|
||||
return ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY;
|
||||
}
|
||||
auto ssInHeap = globalConstBuffer->getBindlessInfo();
|
||||
auto &ssInHeap = globalConstBuffer->getBindlessInfo();
|
||||
|
||||
patchImplicitArgBindlessOffsetAndSetSurfaceState(crossThreadDataArrayRef, surfaceStateHeapArrayRef,
|
||||
globalConstBuffer, kernelDescriptor->payloadMappings.implicitArgs.globalConstantsSurfaceAddress,
|
||||
|
@ -166,7 +166,7 @@ ze_result_t KernelImmutableData::initialize(NEO::KernelInfo *kernelInfo, Device
|
|||
if (!neoDevice->getMemoryManager()->allocateBindlessSlot(globalVarBuffer)) {
|
||||
return ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY;
|
||||
}
|
||||
auto ssInHeap = globalVarBuffer->getBindlessInfo();
|
||||
auto &ssInHeap = globalVarBuffer->getBindlessInfo();
|
||||
|
||||
patchImplicitArgBindlessOffsetAndSetSurfaceState(crossThreadDataArrayRef, surfaceStateHeapArrayRef,
|
||||
globalVarBuffer, kernelDescriptor->payloadMappings.implicitArgs.globalVariablesSurfaceAddress,
|
||||
|
@ -1221,7 +1221,7 @@ uint32_t KernelImp::getSurfaceStateHeapDataSize() const {
|
|||
|
||||
void *KernelImp::patchBindlessSurfaceState(NEO::GraphicsAllocation *alloc, uint32_t bindless) {
|
||||
auto &gfxCoreHelper = this->module->getDevice()->getGfxCoreHelper();
|
||||
auto ssInHeap = alloc->getBindlessInfo();
|
||||
auto &ssInHeap = alloc->getBindlessInfo();
|
||||
|
||||
auto patchLocation = ptrOffset(getCrossThreadData(), bindless);
|
||||
auto patchValue = gfxCoreHelper.getBindlessSurfaceExtendedMessageDescriptorValue(static_cast<uint32_t>(ssInHeap.surfaceStateOffset));
|
||||
|
|
|
@ -2838,7 +2838,7 @@ HWTEST2_F(SetKernelArg, givenImageAndBindlessKernelWhenSetArgImageThenCopySurfac
|
|||
ret = kernel->setArgImage(3, sizeof(imageHW.get()), &handle);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, ret);
|
||||
|
||||
auto expectedSsInHeap = imageHW->getAllocation()->getBindlessInfo();
|
||||
auto &expectedSsInHeap = imageHW->getAllocation()->getBindlessInfo();
|
||||
EXPECT_EQ(imageHW->passedSurfaceStateHeap, expectedSsInHeap.ssPtr);
|
||||
EXPECT_EQ(imageHW->passedSurfaceStateOffset, 0u);
|
||||
EXPECT_TRUE(kernel->isBindlessOffsetSet[3]);
|
||||
|
@ -2900,7 +2900,7 @@ HWTEST2_F(SetKernelArg, givenBindlessKernelAndNoAvailableSpaceOnSshWhenSetArgIma
|
|||
ret = kernel->setArgImage(3, sizeof(imageHW.get()), &handle);
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY, ret);
|
||||
|
||||
auto bindlessInfo = imageHW->getAllocation()->getBindlessInfo();
|
||||
auto &bindlessInfo = imageHW->getAllocation()->getBindlessInfo();
|
||||
EXPECT_EQ(nullptr, bindlessInfo.ssPtr);
|
||||
EXPECT_EQ(nullptr, bindlessInfo.heapAllocation);
|
||||
}
|
||||
|
@ -2929,7 +2929,7 @@ HWTEST2_F(SetKernelArg, givenImageAndBindlessKernelWhenSetArgImageThenCopyImplic
|
|||
auto &gfxCoreHelper = neoDevice->getGfxCoreHelper();
|
||||
auto surfaceStateSize = gfxCoreHelper.getRenderSurfaceStateSize();
|
||||
|
||||
auto expectedSsInHeap = imageHW->getAllocation()->getBindlessInfo();
|
||||
auto &expectedSsInHeap = imageHW->getAllocation()->getBindlessInfo();
|
||||
EXPECT_EQ(imageHW->passedImplicitArgsSurfaceStateHeap, ptrOffset(expectedSsInHeap.ssPtr, surfaceStateSize));
|
||||
EXPECT_EQ(imageHW->passedImplicitArgsSurfaceStateOffset, 0u);
|
||||
EXPECT_TRUE(kernel->isBindlessOffsetSet[3]);
|
||||
|
@ -2960,7 +2960,7 @@ HWTEST2_F(SetKernelArg, givenImageBindlessKernelAndGlobalBindlessHelperWhenSetAr
|
|||
auto &gfxCoreHelper = neoDevice->getGfxCoreHelper();
|
||||
auto surfaceStateSize = gfxCoreHelper.getRenderSurfaceStateSize();
|
||||
|
||||
auto expectedSsInHeap = imageHW->getAllocation()->getBindlessInfo();
|
||||
auto &expectedSsInHeap = imageHW->getAllocation()->getBindlessInfo();
|
||||
EXPECT_EQ(imageHW->passedRedescribedSurfaceStateHeap, ptrOffset(expectedSsInHeap.ssPtr, surfaceStateSize * NEO::BindlessImageSlot::redescribedImage));
|
||||
EXPECT_EQ(imageHW->passedRedescribedSurfaceStateOffset, 0u);
|
||||
EXPECT_TRUE(kernel->isBindlessOffsetSet[3]);
|
||||
|
@ -3166,7 +3166,7 @@ HWTEST2_F(SetKernelArg, givenBindlessKernelAndNoAvailableSpaceOnSshWhenSetArgRed
|
|||
ret = kernel->setArgRedescribedImage(3, handle);
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY, ret);
|
||||
|
||||
auto bindlessInfo = imageHW->getAllocation()->getBindlessInfo();
|
||||
auto &bindlessInfo = imageHW->getAllocation()->getBindlessInfo();
|
||||
EXPECT_EQ(nullptr, bindlessInfo.ssPtr);
|
||||
EXPECT_EQ(nullptr, bindlessInfo.heapAllocation);
|
||||
}
|
||||
|
|
|
@ -154,7 +154,7 @@ void Kernel::patchWithImplicitSurface(uint64_t ptrToPatchInCrossThreadData, Grap
|
|||
auto surfaceStateSize = gfxCoreHelper.getRenderSurfaceStateSize();
|
||||
|
||||
if (clDevice.getDevice().getBindlessHeapsHelper()) {
|
||||
auto ssInHeap = allocation.getBindlessInfo();
|
||||
auto &ssInHeap = allocation.getBindlessInfo();
|
||||
surfaceState = ssInHeap.ssPtr;
|
||||
auto patchLocation = ptrOffset(crossThreadData, arg.bindless);
|
||||
auto patchValue = gfxCoreHelper.getBindlessSurfaceExtendedMessageDescriptorValue(static_cast<uint32_t>(ssInHeap.surfaceStateOffset));
|
||||
|
|
|
@ -3355,7 +3355,7 @@ HWTEST_F(KernelTest, givenBindlessHeapsHelperAndBindlessArgBufferWhenPatchWithIm
|
|||
uint64_t crossThreadData = 0;
|
||||
kernel.mockKernel->patchWithImplicitSurface(castToUint64(&crossThreadData), mockAllocation, kernel.kernelInfo.argAsPtr(0));
|
||||
|
||||
auto ssInHeapInfo = mockAllocation.getBindlessInfo();
|
||||
auto &ssInHeapInfo = mockAllocation.getBindlessInfo();
|
||||
|
||||
auto patchLocation = reinterpret_cast<uint32_t *>(ptrOffset(kernel.mockKernel->crossThreadData, bindlessOffset));
|
||||
auto patchValue = device->getGfxCoreHelper().getBindlessSurfaceExtendedMessageDescriptorValue(static_cast<uint32_t>(ssInHeapInfo.surfaceStateOffset));
|
||||
|
|
|
@ -362,12 +362,12 @@ TEST_F(ProgramDataBindlessTest, givenBindlessKernelAndConstantsAndVariablesMemor
|
|||
ASSERT_NE(nullptr, pProgram->getGlobalSurface(pContext->getDevice(0)->getRootDeviceIndex()));
|
||||
|
||||
auto globalConstantsAlloc = pProgram->getConstantSurface(pContext->getDevice(0)->getRootDeviceIndex());
|
||||
auto ssInHeap1 = globalConstantsAlloc->getBindlessInfo();
|
||||
auto &ssInHeap1 = globalConstantsAlloc->getBindlessInfo();
|
||||
|
||||
EXPECT_NE(nullptr, ssInHeap1.heapAllocation);
|
||||
|
||||
auto globalVariablesAlloc = pProgram->getGlobalSurface(pContext->getDevice(0)->getRootDeviceIndex());
|
||||
auto ssInHeap2 = globalVariablesAlloc->getBindlessInfo();
|
||||
auto &ssInHeap2 = globalVariablesAlloc->getBindlessInfo();
|
||||
|
||||
EXPECT_NE(nullptr, ssInHeap2.heapAllocation);
|
||||
}
|
||||
|
@ -400,7 +400,7 @@ TEST_F(ProgramDataBindlessTest, givenBindlessKernelAndGlobalConstantsMemorySurfa
|
|||
auto globalConstantsAlloc = pProgram->getConstantSurface(pContext->getDevice(0)->getRootDeviceIndex());
|
||||
ASSERT_NE(nullptr, globalConstantsAlloc);
|
||||
|
||||
auto ssInHeap = globalConstantsAlloc->getBindlessInfo();
|
||||
auto &ssInHeap = globalConstantsAlloc->getBindlessInfo();
|
||||
EXPECT_EQ(nullptr, ssInHeap.heapAllocation);
|
||||
}
|
||||
|
||||
|
@ -432,7 +432,7 @@ TEST_F(ProgramDataBindlessTest, givenBindlessKernelAndGlobalVariablesMemorySurfa
|
|||
auto globalVariablesAlloc = pProgram->getGlobalSurface(pContext->getDevice(0)->getRootDeviceIndex());
|
||||
ASSERT_NE(nullptr, globalVariablesAlloc);
|
||||
|
||||
auto ssInHeap = globalVariablesAlloc->getBindlessInfo();
|
||||
auto &ssInHeap = globalVariablesAlloc->getBindlessInfo();
|
||||
EXPECT_EQ(nullptr, ssInHeap.heapAllocation);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue