mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 09:09:04 +08:00
feature: add field to reserve extra payload heap space
Related-To: NEO-10066 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
44dfa5187a
commit
149523b73c
@@ -1594,3 +1594,24 @@ HWTEST2_F(CommandEncodeStatesTest, givenEncodeDispatchKernelWhenCpuWalkerPointer
|
||||
|
||||
EXPECT_EQ(0, memcmp(cmdWalkerGfxMemory, cpuWalkerPointer, sizeof(DefaultWalkerType)));
|
||||
}
|
||||
|
||||
HWTEST2_F(CommandEncodeStatesTest, givenEncodeDispatchKernelWhenRequestingExtraPayloadSpaceThenConsumeExtraIndirectHeapSpace, IsAtLeastXeHpCore) {
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {1, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
dispatchInterface->kernelDescriptor.kernelAttributes.flags.passInlineData = false;
|
||||
dispatchInterface->getCrossThreadDataSizeResult = 64;
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.reserveExtraPayloadSpace = 1024;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto heap = cmdContainer->getIndirectHeap(HeapType::indirectObject);
|
||||
|
||||
size_t expectedConsumedSize = 64 + 1024;
|
||||
expectedConsumedSize = alignUp(expectedConsumedSize, pDevice->getGfxCoreHelper().getIOHAlignment());
|
||||
EXPECT_EQ(expectedConsumedSize, heap->getUsed());
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ EncodeDispatchKernelArgs CommandEncodeStatesFixture::createDefaultDispatchKernel
|
||||
NEO::RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
|
||||
NEO::additionalKernelLaunchSizeParamNotSet, // additionalSizeParam
|
||||
1, // partitionCount
|
||||
0, // reserveExtraPayloadSpace
|
||||
false, // isIndirect
|
||||
false, // isPredicate
|
||||
false, // isTimestampEvent
|
||||
|
||||
Reference in New Issue
Block a user