2017-12-21 07:45:38 +08:00
|
|
|
/*
|
2022-02-25 09:19:13 +08:00
|
|
|
* Copyright (C) 2018-2022 Intel Corporation
|
2017-12-21 07:45:38 +08:00
|
|
|
*
|
2019-07-17 23:45:52 +08:00
|
|
|
* SPDX-License-Identifier: MIT
|
2017-12-21 07:45:38 +08:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2022-08-10 19:24:38 +08:00
|
|
|
#include "shared/test/common/helpers/gtest_helpers.h"
|
2022-03-14 18:15:57 +08:00
|
|
|
|
2020-02-23 22:20:22 +08:00
|
|
|
#include "opencl/test/unit_test/fixtures/kernel_data_fixture.h"
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2021-04-08 17:05:45 +08:00
|
|
|
#include "patch_g7.h"
|
|
|
|
|
2022-07-06 19:43:51 +08:00
|
|
|
TEST_F(KernelDataTest, givenPatchTokenAllocateStatelessEventPoolSurfaceWhenDecodeTokensThenTokenLocatedInPatchInfo) {
|
2017-12-21 07:45:38 +08:00
|
|
|
iOpenCL::SPatchAllocateStatelessEventPoolSurface allocateStatelessEventPoolSurface;
|
|
|
|
allocateStatelessEventPoolSurface.Token = PATCH_TOKEN_ALLOCATE_STATELESS_EVENT_POOL_SURFACE;
|
|
|
|
allocateStatelessEventPoolSurface.Size = sizeof(SPatchAllocateStatelessEventPoolSurface);
|
|
|
|
|
|
|
|
allocateStatelessEventPoolSurface.DataParamSize = 7;
|
|
|
|
allocateStatelessEventPoolSurface.DataParamOffset = 0xABC;
|
|
|
|
allocateStatelessEventPoolSurface.SurfaceStateHeapOffset = 0xDEF;
|
|
|
|
|
|
|
|
pPatchList = &allocateStatelessEventPoolSurface;
|
|
|
|
patchListSize = allocateStatelessEventPoolSurface.Size;
|
|
|
|
|
|
|
|
buildAndDecode();
|
|
|
|
|
2021-02-23 17:55:12 +08:00
|
|
|
const auto &eventPoolArg = pKernelInfo->kernelDescriptor.payloadMappings.implicitArgs.deviceSideEnqueueEventPoolSurfaceAddress;
|
|
|
|
EXPECT_EQ_VAL(allocateStatelessEventPoolSurface.DataParamOffset, eventPoolArg.stateless);
|
|
|
|
EXPECT_EQ_VAL(allocateStatelessEventPoolSurface.DataParamSize, eventPoolArg.pointerSize);
|
|
|
|
EXPECT_EQ_VAL(allocateStatelessEventPoolSurface.SurfaceStateHeapOffset, eventPoolArg.bindful);
|
2017-12-21 07:45:38 +08:00
|
|
|
}
|
|
|
|
|
2022-07-06 19:43:51 +08:00
|
|
|
TEST_F(KernelDataTest, givenDataParameterPreferredWorkgroupMultipleTokenWhenBinaryIsdecodedThenCorrectOffsetIsAssigned) {
|
2017-12-21 07:45:38 +08:00
|
|
|
const uint32_t offset = 0x100;
|
|
|
|
|
|
|
|
SPatchDataParameterBuffer dataParameterToken;
|
|
|
|
dataParameterToken.Token = PATCH_TOKEN_DATA_PARAMETER_BUFFER;
|
|
|
|
dataParameterToken.Size = sizeof(SPatchDataParameterBuffer);
|
|
|
|
dataParameterToken.Type = DATA_PARAMETER_PREFERRED_WORKGROUP_MULTIPLE;
|
|
|
|
dataParameterToken.ArgumentNumber = 0;
|
|
|
|
dataParameterToken.Offset = offset;
|
|
|
|
dataParameterToken.DataSize = sizeof(uint32_t);
|
|
|
|
dataParameterToken.SourceOffset = 0;
|
|
|
|
|
|
|
|
pPatchList = &dataParameterToken;
|
|
|
|
patchListSize = dataParameterToken.Size;
|
|
|
|
|
|
|
|
buildAndDecode();
|
|
|
|
|
2021-03-29 18:34:25 +08:00
|
|
|
EXPECT_EQ(pKernelInfo->kernelDescriptor.payloadMappings.implicitArgs.preferredWkgMultiple, offset);
|
2017-12-21 07:45:38 +08:00
|
|
|
}
|