|
1 | 1 | /* |
2 | | - * Copyright (C) 2019-2020 Intel Corporation |
| 2 | + * Copyright (C) 2019-2021 Intel Corporation |
3 | 3 | * |
4 | 4 | * SPDX-License-Identifier: MIT |
5 | 5 | * |
@@ -367,19 +367,27 @@ TEST(KernelInfoFromPatchTokens, GivenKernelWithStatelessObjectArgWhenAddressingM |
367 | 367 | std::vector<uint8_t> storage; |
368 | 368 | NEO::PatchTokenBinary::KernelFromPatchtokens kernelTokens = PatchTokensTestData::ValidEmptyKernel::create(storage); |
369 | 369 |
|
| 370 | + auto surfaceStateHeapOffset = 0x40; |
| 371 | + auto dataParamOffset = 0x32; |
| 372 | + |
370 | 373 | iOpenCL::SPatchStatelessGlobalMemoryObjectKernelArgument globalMemArg = {}; |
371 | 374 | globalMemArg.Token = iOpenCL::PATCH_TOKEN_STATELESS_GLOBAL_MEMORY_OBJECT_KERNEL_ARGUMENT; |
372 | 375 | globalMemArg.Size = sizeof(iOpenCL::SPatchStatelessGlobalMemoryObjectKernelArgument); |
373 | 376 | globalMemArg.ArgumentNumber = 0; |
374 | | - globalMemArg.SurfaceStateHeapOffset = 0x40; |
| 377 | + globalMemArg.SurfaceStateHeapOffset = surfaceStateHeapOffset; |
| 378 | + globalMemArg.DataParamOffset = dataParamOffset; |
375 | 379 |
|
376 | 380 | kernelTokens.tokens.kernelArgs.resize(1); |
377 | 381 | kernelTokens.tokens.kernelArgs[0].objectArg = &globalMemArg; |
378 | 382 | NEO::KernelInfo kernelInfo = {}; |
379 | 383 | NEO::populateKernelInfo(kernelInfo, kernelTokens, sizeof(void *)); |
380 | 384 | auto &argPointer = kernelInfo.kernelDescriptor.payloadMappings.explicitArgs[0].as<NEO::ArgDescPointer>(true); |
381 | 385 | EXPECT_TRUE(NEO::isValidOffset(argPointer.bindless)); |
| 386 | + EXPECT_TRUE(NEO::isValidOffset(argPointer.stateless)); |
382 | 387 | EXPECT_FALSE(NEO::isValidOffset(argPointer.bindful)); |
| 388 | + |
| 389 | + EXPECT_EQ(argPointer.bindless, surfaceStateHeapOffset); |
| 390 | + EXPECT_EQ(argPointer.stateless, dataParamOffset); |
383 | 391 | } |
384 | 392 |
|
385 | 393 | TEST(KernelInfoFromPatchTokens, GivenKernelWithStatelessObjectArgWhenAddressingModeIsBindfulThenBindlessOffsetIsSetProperly) { |
|
0 commit comments