mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 22:43:00 +08:00
fix: use per product cache line size to align heaps
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
e233cf5127
commit
1cd00b5b89
@@ -1050,6 +1050,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenBindlessKernelWithRequiringSshForMisali
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
cmdContainer->getIndirectHeap(HeapType::surfaceState)->getSpace(sizeof(RENDER_SURFACE_STATE));
|
||||
cmdContainer->getIndirectHeap(HeapType::surfaceState)->align(FamilyType::cacheLineSize);
|
||||
auto usedBefore = cmdContainer->getIndirectHeap(HeapType::surfaceState)->getUsed();
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
@@ -1563,7 +1564,7 @@ HWTEST_F(CommandEncodeStatesTest, givenKernelInfoWhenGettingRequiredDshSpaceThen
|
||||
kernelInfo.kernelDescriptor.payloadMappings.samplerTable.tableOffset = 32;
|
||||
|
||||
// align border color state and samplers
|
||||
alignedSamplers = alignUp(alignUp(32, EncodeStates<FamilyType>::alignIndirectStatePointer) + 3 * sizeof(SAMPLER_STATE), INTERFACE_DESCRIPTOR_DATA::SAMPLERSTATEPOINTER_ALIGN_SIZE);
|
||||
alignedSamplers = alignUp(alignUp(32, FamilyType::cacheLineSize) + 3 * sizeof(SAMPLER_STATE), INTERFACE_DESCRIPTOR_DATA::SAMPLERSTATEPOINTER_ALIGN_SIZE);
|
||||
|
||||
// additional IDD for requiring platforms
|
||||
if (additionalSize > 0) {
|
||||
@@ -1586,7 +1587,7 @@ HWTEST_F(CommandEncodeStatesTest, givenKernelInfoWhenGettingRequiredSshSpaceThen
|
||||
|
||||
// two surface states and BTI indices
|
||||
kernelInfo.heapInfo.surfaceStateHeapSize = 2 * sizeof(RENDER_SURFACE_STATE) + 2 * sizeof(uint32_t);
|
||||
size_t expectedSize = alignUp(kernelInfo.heapInfo.surfaceStateHeapSize, BINDING_TABLE_STATE::SURFACESTATEPOINTER_ALIGN_SIZE);
|
||||
size_t expectedSize = alignUp(kernelInfo.heapInfo.surfaceStateHeapSize, FamilyType::cacheLineSize);
|
||||
|
||||
size = EncodeDispatchKernel<FamilyType>::getSizeRequiredSsh(kernelInfo);
|
||||
EXPECT_EQ(expectedSize, size);
|
||||
@@ -1606,7 +1607,7 @@ HWTEST_F(CommandEncodeStatesTest, givenKernelInfoOfBindlessKernelWhenGettingRequ
|
||||
|
||||
// two surface states
|
||||
kernelInfo.kernelDescriptor.kernelAttributes.numArgsStateful = 2;
|
||||
size_t expectedSize = alignUp(2 * sizeof(RENDER_SURFACE_STATE), BINDING_TABLE_STATE::SURFACESTATEPOINTER_ALIGN_SIZE);
|
||||
size_t expectedSize = alignUp(2 * sizeof(RENDER_SURFACE_STATE), FamilyType::cacheLineSize);
|
||||
|
||||
size = EncodeDispatchKernel<FamilyType>::getSizeRequiredSsh(kernelInfo);
|
||||
EXPECT_EQ(expectedSize, size);
|
||||
|
||||
@@ -206,7 +206,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenStatelessBufferAndIma
|
||||
auto ssh = cmdContainer->getIndirectHeap(HeapType::surfaceState);
|
||||
ssh->getSpace(0x20);
|
||||
uint32_t sizeUsed = static_cast<uint32_t>(ssh->getUsed());
|
||||
auto expectedOffset = alignUp(sizeUsed, BINDING_TABLE_STATE::SURFACESTATEPOINTER_ALIGN_SIZE);
|
||||
auto expectedOffset = alignUp(sizeUsed, FamilyType::cacheLineSize);
|
||||
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -245,7 +245,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givennumBindingTableOneWhe
|
||||
auto ssh = cmdContainer->getIndirectHeap(HeapType::surfaceState);
|
||||
ssh->getSpace(0x20);
|
||||
uint32_t sizeUsed = static_cast<uint32_t>(ssh->getUsed());
|
||||
auto expectedOffset = alignUp(sizeUsed, BINDING_TABLE_STATE::SURFACESTATEPOINTER_ALIGN_SIZE);
|
||||
auto expectedOffset = alignUp(sizeUsed, FamilyType::cacheLineSize);
|
||||
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
Reference in New Issue
Block a user