Skip to content

Commit 405b39f

Browse files
fix: move getting scratchPtr offset method to ImplicitArgs class
Related-To: NEO-16649 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
1 parent 015d148 commit 405b39f

File tree

7 files changed

+15
-18
lines changed

7 files changed

+15
-18
lines changed

shared/source/command_container/command_encoder.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,6 @@ struct EncodeDispatchKernel : public EncodeDispatchKernelBase<GfxFamily> {
309309
static void patchScratchAddressInImplicitArgs(ImplicitArgs &implicitArgs, uint64_t scratchAddress, bool scratchPtrPatchingRequired);
310310

311311
static size_t getInlineDataOffset(EncodeDispatchKernelArgs &args);
312-
static size_t getScratchPtrOffsetOfImplicitArgs();
313312

314313
template <typename WalkerType>
315314
static void forceComputeWalkerPostSyncFlushWithWrite(WalkerType &walkerCmd);

shared/source/command_container/command_encoder_from_xe_hpg_core_to_xe3_core.inl

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,6 @@
1111

1212
namespace NEO {
1313

14-
template <typename Family>
15-
size_t EncodeDispatchKernel<Family>::getScratchPtrOffsetOfImplicitArgs() {
16-
return 0;
17-
}
18-
1914
template <typename Family>
2015
void EncodeSurfaceState<Family>::setPitchForScratch(R_SURFACE_STATE *surfaceState, uint32_t pitch, const ProductHelper &productHelper) {
2116
surfaceState->setSurfacePitch(pitch);

shared/source/gen12lp/command_encoder_gen12lp.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -692,11 +692,6 @@ void EncodeDispatchKernel<Family>::encodeThreadGroupDispatch(InterfaceDescriptor
692692
const uint32_t grfCount, const uint32_t threadsPerThreadGroup, WalkerType &walkerCmd) {
693693
}
694694

695-
template <typename Family>
696-
size_t EncodeDispatchKernel<Family>::getScratchPtrOffsetOfImplicitArgs() {
697-
return 0;
698-
}
699-
700695
template <typename Family>
701696
void EncodeSurfaceState<Family>::setPitchForScratch(R_SURFACE_STATE *surfaceState, uint32_t pitch, const ProductHelper &productHelper) {
702697
surfaceState->setSurfacePitch(pitch);

shared/source/kernel/definitions/implicit_args.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,13 @@ struct alignas(32) ImplicitArgs {
361361
z = v2.enqueuedLocalSizeZ;
362362
}
363363
}
364+
365+
size_t getScratchPtrOffset() const {
366+
if (v1.header.structVersion == 1) {
367+
return offsetof(ImplicitArgsV1, scratchPtr);
368+
}
369+
return 0;
370+
}
364371
};
365372

366373
} // namespace NEO

shared/test/unit_test/command_container/command_encoder_tests.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,12 +1061,6 @@ HWTEST2_F(CommandEncoderTests, givenInterfaceDescriptorWhenEncodeEuSchedulingPol
10611061
}
10621062
}
10631063

1064-
HWTEST_F(CommandEncoderTests, whenGetScratchPtrOffsetOfImplicitArgsIsCalledThenZeroIsReturned) {
1065-
1066-
auto scratchOffset = EncodeDispatchKernel<FamilyType>::getScratchPtrOffsetOfImplicitArgs();
1067-
EXPECT_EQ(0u, scratchOffset);
1068-
}
1069-
10701064
HWTEST_F(CommandEncoderTests, givenInOrderExecInfoWhenAggregatedEventUsageCounterIsUsedThenVerifyCorrectBehavior) {
10711065
MockDevice mockDevice;
10721066

shared/test/unit_test/kernel/implicit_args_helper_tests.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,8 @@ TEST(ImplicitArgsV0Test, givenImplicitArgsV0WhenSettingFieldsThenCorrectFieldsAr
248248
EXPECT_EQ(0x1000123400u, implicitArgs.v0.rtGlobalBufferPtr);
249249

250250
EXPECT_EQ(32u, implicitArgs.getSimdWidth().value());
251+
252+
EXPECT_EQ(0u, implicitArgs.getScratchPtrOffset());
251253
}
252254

253255
TEST(ImplicitArgsV1Test, givenImplicitArgsV1WhenSettingFieldsThenCorrectFieldsAreSet) {
@@ -299,6 +301,8 @@ TEST(ImplicitArgsV1Test, givenImplicitArgsV1WhenSettingFieldsThenCorrectFieldsAr
299301
EXPECT_EQ(0x1234000u, implicitArgs.v1.syncBufferPtr);
300302

301303
EXPECT_EQ(32u, implicitArgs.getSimdWidth().value());
304+
305+
EXPECT_EQ(offsetof(ImplicitArgsV1, scratchPtr), implicitArgs.getScratchPtrOffset());
302306
}
303307

304308
TEST(ImplicitArgsV2Test, givenImplicitArgsV2WhenSettingFieldsThenCorrectFieldsAreSet) {
@@ -348,6 +352,8 @@ TEST(ImplicitArgsV2Test, givenImplicitArgsV2WhenSettingFieldsThenCorrectFieldsAr
348352
EXPECT_EQ(16u, implicitArgs.v2.numWorkDim);
349353
EXPECT_EQ(0x1000123400u, implicitArgs.v2.rtGlobalBufferPtr);
350354
EXPECT_EQ(0x1234000u, implicitArgs.v2.syncBufferPtr);
355+
356+
EXPECT_EQ(0u, implicitArgs.getScratchPtrOffset());
351357
}
352358

353359
TEST(ImplicitArgsV1Test, givenImplicitArgsWithUnknownVersionWhenSettingFieldsThenFieldsAreNotPopulated) {

shared/test/unit_test/mocks/mock_dispatch_kernel_encoder_interface.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,14 @@ struct MockDispatchKernelEncoder : public DispatchKernelEncoderI {
2525
return numThreadsPerThreadGroup;
2626
}
2727

28-
NEO::ImplicitArgs *getImplicitArgs() const override { return nullptr; }
28+
ImplicitArgs *getImplicitArgs() const override { return implicitArgsPtr; }
2929

3030
void patchBindlessOffsetsInCrossThreadData(uint64_t bindlessSurfaceStateBaseOffset) const override { return; };
3131
void patchSamplerBindlessOffsetsInCrossThreadData(uint64_t samplerStateOffset) const override {
3232
samplerStateOffsetPassed = samplerStateOffset;
3333
}
3434

35+
ImplicitArgs *implicitArgsPtr = nullptr;
3536
MockGraphicsAllocation mockAllocation{};
3637
static constexpr uint32_t crossThreadSize = 0x40;
3738
static constexpr uint32_t perThreadSize = 0x20;

0 commit comments

Comments
 (0)