Skip to content

Commit 03e617d

Browse files
Refactor memory object control state methods in generated commands
remove setters/getters for Index To Mocs Tables fields all information contained in MOCS from gmm client context is now handled by dedicated method set/get MemoryObjectControlState Related-To: NEO-6466 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
1 parent 601271c commit 03e617d

35 files changed

+584
-329
lines changed

opencl/source/gen8/image_gen8.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ template <>
2020
void ImageHw<Family>::setMediaSurfaceRotation(void *) {}
2121

2222
template <>
23-
void ImageHw<Family>::setSurfaceMemoryObjectControlStateIndexToMocsTable(void *, uint32_t) {}
23+
void ImageHw<Family>::setSurfaceMemoryObjectControlState(void *, uint32_t) {}
2424

2525
} // namespace NEO
2626

opencl/source/mem_obj/image.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class Image : public MemObj {
138138
virtual void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex, bool useGlobalAtomics) = 0;
139139
virtual void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) = 0;
140140
virtual void setMediaSurfaceRotation(void *memory) = 0;
141-
virtual void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) = 0;
141+
virtual void setSurfaceMemoryObjectControlState(void *memory, uint32_t value) = 0;
142142

143143
const cl_image_desc &getImageDesc() const;
144144
const cl_image_format &getImageFormat() const;
@@ -305,7 +305,7 @@ class ImageHw : public Image {
305305
void setAuxParamsForMultisamples(RENDER_SURFACE_STATE *surfaceState);
306306
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override;
307307
void setMediaSurfaceRotation(void *memory) override;
308-
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override;
308+
void setSurfaceMemoryObjectControlState(void *memory, uint32_t value) override;
309309
void appendSurfaceStateParams(RENDER_SURFACE_STATE *surfaceState, uint32_t rootDeviceIndex, bool useGlobalAtomics);
310310
void appendSurfaceStateDepthParams(RENDER_SURFACE_STATE *surfaceState, Gmm *gmm);
311311
void appendSurfaceStateExt(void *memory);

opencl/source/mem_obj/image.inl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ void ImageHw<GfxFamily>::setMediaImageArg(void *memory, uint32_t rootDeviceIndex
167167
state.setXOffsetForVCr(0);
168168
state.setYOffsetForVCr(0);
169169

170-
setSurfaceMemoryObjectControlStateIndexToMocsTable(
170+
setSurfaceMemoryObjectControlState(
171171
reinterpret_cast<void *>(&state),
172172
gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_IMAGE));
173173

@@ -214,13 +214,13 @@ inline void ImageHw<GfxFamily>::setMediaSurfaceRotation(void *memory) {
214214
}
215215

216216
template <typename GfxFamily>
217-
inline void ImageHw<GfxFamily>::setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) {
217+
inline void ImageHw<GfxFamily>::setSurfaceMemoryObjectControlState(void *memory, uint32_t value) {
218218
using MEDIA_SURFACE_STATE = typename GfxFamily::MEDIA_SURFACE_STATE;
219219
using SURFACE_FORMAT = typename MEDIA_SURFACE_STATE::SURFACE_FORMAT;
220220

221221
auto surfaceState = reinterpret_cast<MEDIA_SURFACE_STATE *>(memory);
222222

223-
surfaceState->setSurfaceMemoryObjectControlStateIndexToMocsTables(value);
223+
surfaceState->setSurfaceMemoryObjectControlState(value);
224224
}
225225

226226
} // namespace NEO

opencl/test/unit_test/command_queue/enqueue_kernel_2_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ HWCMDTEST_P(IGFX_GEN8_CORE, EnqueueWorkItemTestsWithLimitedParamSet, givenDebugV
275275
auto itorCmd = find<STATE_BASE_ADDRESS *>(cmdList.begin(), cmdList.end());
276276
ASSERT_NE(itorWalker, itorCmd);
277277
auto *cmdSBA = (STATE_BASE_ADDRESS *)*itorCmd;
278-
auto mocsProgrammed = cmdSBA->getStatelessDataPortAccessMemoryObjectControlStateIndexToMocsTables() >> 1;
278+
auto mocsProgrammed = cmdSBA->getStatelessDataPortAccessMemoryObjectControlState() >> 1;
279279
EXPECT_EQ(1u, mocsProgrammed);
280280
}
281281

opencl/test/unit_test/command_queue/enqueue_map_image_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -942,7 +942,7 @@ TEST_F(EnqueueMapImageTest, givenImage1DArrayWhenEnqueueMapImageIsCalledThenRetu
942942
void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex, bool useGlobalAtomics) override {}
943943
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override {}
944944
void setMediaSurfaceRotation(void *memory) override {}
945-
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override {}
945+
void setSurfaceMemoryObjectControlState(void *memory, uint32_t value) override {}
946946
void transformImage2dArrayTo3d(void *memory) override {}
947947
void transformImage3dTo2dArray(void *memory) override {}
948948
};

opencl/test/unit_test/gen11/image_tests_gen11.cpp

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,3 @@ GEN11TEST_F(gen11ImageTests, givenImageForGen11WhenClearColorParametersAreSetThe
9393

9494
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
9595
}
96-
97-
using Gen11RenderSurfaceStateDataTests = ::testing::Test;
98-
99-
GEN11TEST_F(Gen11RenderSurfaceStateDataTests, WhenMemoryObjectControlStateIndexToMocsTablesIsSetThenValueIsShift) {
100-
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
101-
auto surfaceState = FamilyType::cmdInitRenderSurfaceState;
102-
103-
uint32_t value = 4;
104-
surfaceState.setMemoryObjectControlStateIndexToMocsTables(value);
105-
106-
EXPECT_EQ(surfaceState.TheStructure.Common.MemoryObjectControlState_IndexToMocsTables, value >> 1);
107-
EXPECT_EQ(surfaceState.getMemoryObjectControlStateIndexToMocsTables(), value);
108-
}

opencl/test/unit_test/gen12lp/image_tests_gen12lp.inl

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -156,16 +156,3 @@ GEN12LPTEST_F(gen12LpImageTests, givenMediaCompressionThenSurfaceStateParamsAreS
156156
EXPECT_TRUE(surfaceState.getMemoryCompressionEnable());
157157
EXPECT_EQ(surfaceState.getAuxiliarySurfaceMode(), RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE);
158158
}
159-
160-
using Gen12lpRenderSurfaceStateDataTests = ::testing::Test;
161-
162-
GEN12LPTEST_F(Gen12lpRenderSurfaceStateDataTests, WhenMemoryObjectControlStateIndexToMocsTablesIsSetThenValueIsShifted) {
163-
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
164-
auto surfaceState = FamilyType::cmdInitRenderSurfaceState;
165-
166-
uint32_t value = 4;
167-
surfaceState.setMemoryObjectControlStateIndexToMocsTables(value);
168-
169-
EXPECT_EQ(surfaceState.TheStructure.Common.MemoryObjectControlStateIndexToMocsTables, value >> 1);
170-
EXPECT_EQ(surfaceState.getMemoryObjectControlStateIndexToMocsTables(), value);
171-
}

opencl/test/unit_test/gen9/image_tests_gen9.cpp

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,3 @@ GEN9TEST_F(gen9ImageTests, appendSurfaceSWhenAppendingSurfaceStateParamsThenSurf
2727

2828
EXPECT_EQ(0, memcmp(&surfaceStateBefore, &surfaceStateAfter, sizeof(RENDER_SURFACE_STATE)));
2929
}
30-
31-
using Gen9RenderSurfaceStateDataTests = ::testing::Test;
32-
33-
GEN9TEST_F(Gen9RenderSurfaceStateDataTests, WhenMemoryObjectControlStateIndexToMocsTablesIsSetThenValueIsShifted) {
34-
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
35-
auto surfaceState = FamilyType::cmdInitRenderSurfaceState;
36-
37-
uint32_t value = 4;
38-
surfaceState.setMemoryObjectControlStateIndexToMocsTables(value);
39-
40-
EXPECT_EQ(surfaceState.TheStructure.Common.MemoryObjectControlState_IndexToMocsTables, value >> 1);
41-
EXPECT_EQ(surfaceState.getMemoryObjectControlStateIndexToMocsTables(), value);
42-
}

opencl/test/unit_test/helpers/test_preamble_xehp_and_later.cpp

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -256,16 +256,16 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHpCommandStreamReceiverFlushTaskTests, whenFlushC
256256
hwParserCsr.findHardwareCommands<FamilyType>();
257257
ASSERT_NE(nullptr, hwParserCsr.cmdStateBaseAddress);
258258
auto stateBaseAddress = static_cast<STATE_BASE_ADDRESS *>(hwParserCsr.cmdStateBaseAddress);
259-
auto expectedMocsIndexForStateless = gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CONST);
260-
auto expectedMocsIndexForHeap = gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_STATE_HEAP_BUFFER);
261-
262-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getSurfaceStateMemoryObjectControlStateIndexToMocsTables());
263-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getDynamicStateMemoryObjectControlStateIndexToMocsTables());
264-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getGeneralStateMemoryObjectControlStateIndexToMocsTables());
265-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getInstructionMemoryObjectControlStateIndexToMocsTables());
266-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getBindlessSurfaceStateMemoryObjectControlStateIndexToMocsTables());
267-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getBindlessSamplerStateMemoryObjectControlStateIndexToMocsTables());
268-
EXPECT_EQ(expectedMocsIndexForStateless, stateBaseAddress->getStatelessDataPortAccessMemoryObjectControlStateIndexToMocsTables());
259+
auto expectedMocsForStateless = gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CONST);
260+
auto expectedMocsForHeap = gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_STATE_HEAP_BUFFER);
261+
262+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getSurfaceStateMemoryObjectControlState());
263+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getDynamicStateMemoryObjectControlState());
264+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getGeneralStateMemoryObjectControlState());
265+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getInstructionMemoryObjectControlState());
266+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getBindlessSurfaceStateMemoryObjectControlState());
267+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getBindlessSamplerStateMemoryObjectControlState());
268+
EXPECT_EQ(expectedMocsForStateless, stateBaseAddress->getStatelessDataPortAccessMemoryObjectControlState());
269269
}
270270

271271
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHpCommandStreamReceiverFlushTaskTests, whenFlushCalledThenStateBaseAddressHasAllCachesOffWhenDebugFlagIsPresent) {
@@ -281,14 +281,14 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHpCommandStreamReceiverFlushTaskTests, whenFlushC
281281
hwParserCsr.findHardwareCommands<FamilyType>();
282282
ASSERT_NE(nullptr, hwParserCsr.cmdStateBaseAddress);
283283
auto stateBaseAddress = static_cast<STATE_BASE_ADDRESS *>(hwParserCsr.cmdStateBaseAddress);
284-
auto expectedMocsIndexForHeap = gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_SYSTEM_MEMORY_BUFFER_CACHELINE_MISALIGNED);
285-
286-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getSurfaceStateMemoryObjectControlStateIndexToMocsTables());
287-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getDynamicStateMemoryObjectControlStateIndexToMocsTables());
288-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getGeneralStateMemoryObjectControlStateIndexToMocsTables());
289-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getInstructionMemoryObjectControlStateIndexToMocsTables());
290-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getBindlessSurfaceStateMemoryObjectControlStateIndexToMocsTables());
291-
EXPECT_EQ(expectedMocsIndexForHeap, stateBaseAddress->getBindlessSamplerStateMemoryObjectControlStateIndexToMocsTables());
284+
auto expectedMocsForHeap = gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_SYSTEM_MEMORY_BUFFER_CACHELINE_MISALIGNED);
285+
286+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getSurfaceStateMemoryObjectControlState());
287+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getDynamicStateMemoryObjectControlState());
288+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getGeneralStateMemoryObjectControlState());
289+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getInstructionMemoryObjectControlState());
290+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getBindlessSurfaceStateMemoryObjectControlState());
291+
EXPECT_EQ(expectedMocsForHeap, stateBaseAddress->getBindlessSamplerStateMemoryObjectControlState());
292292
}
293293

294294
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHpCommandStreamReceiverFlushTaskTests, givenL3ToL1DebugFlagWhenStatelessMocsIsProgrammedThenItHasL1CachingOn) {

opencl/test/unit_test/mem_obj/image_validate_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ struct NullImage : public Image {
773773
void setImageArg(void *memory, bool isMediaBlockImage, uint32_t mipLevel, uint32_t rootDeviceIndex, bool useGlobalAtomics) override {}
774774
void setMediaImageArg(void *memory, uint32_t rootDeviceIndex) override {}
775775
void setMediaSurfaceRotation(void *memory) override {}
776-
void setSurfaceMemoryObjectControlStateIndexToMocsTable(void *memory, uint32_t value) override {}
776+
void setSurfaceMemoryObjectControlState(void *memory, uint32_t value) override {}
777777
void transformImage2dArrayTo3d(void *memory) override {}
778778
void transformImage3dTo2dArray(void *memory) override {}
779779
};

0 commit comments

Comments
 (0)