Skip to content

Commit b3e1bb0

Browse files
Update H/V alignment GMM API
Change-Id: I394f51bee0ffb23007f4f0970b89dc15deb7e5c2 Signed-off-by: Dunajski, Bartosz <[email protected]>
1 parent e9b48f4 commit b3e1bb0

File tree

9 files changed

+27
-34
lines changed

9 files changed

+27
-34
lines changed

runtime/gmm_helper/gmm.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -200,14 +200,6 @@ uint32_t Gmm::queryQPitch(GMM_RESOURCE_TYPE resType) {
200200
return gmmResourceInfo->getQPitch();
201201
}
202202

203-
uint32_t Gmm::getRenderHAlignment() {
204-
return GmmHelper::getRenderAlignment(gmmResourceInfo->getHAlign());
205-
}
206-
207-
uint32_t Gmm::getRenderVAlignment() {
208-
return GmmHelper::getRenderAlignment(gmmResourceInfo->getVAlign());
209-
}
210-
211203
void Gmm::updateImgInfo(ImageInfo &imgInfo, cl_image_desc &imgDesc, cl_uint arrayIndex) {
212204
imgDesc.image_width = gmmResourceInfo->getBaseWidth();
213205
imgDesc.image_row_pitch = gmmResourceInfo->getRenderPitch();

runtime/gmm_helper/gmm.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ class Gmm {
3232

3333
void queryImageParams(ImageInfo &inputOutputImgInfo);
3434

35-
uint32_t getRenderHAlignment();
36-
uint32_t getRenderVAlignment();
37-
3835
void applyAuxFlagsForBuffer(bool preferRenderCompression);
3936
void applyMemoryFlags(bool systemMemoryPool, StorageInfo &storageInfo);
4037

runtime/gmm_helper/gmm_helper.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -106,18 +106,6 @@ uint64_t GmmHelper::decanonize(uint64_t address) {
106106
return (uint64_t)(address & 0xFFFFFFFFFFFF);
107107
}
108108

109-
uint32_t GmmHelper::getRenderAlignment(uint32_t alignment) {
110-
uint32_t returnAlign = 0;
111-
if (alignment == 8) {
112-
returnAlign = 2;
113-
} else if (alignment == 16) {
114-
returnAlign = 3;
115-
} else {
116-
returnAlign = 1;
117-
}
118-
return returnAlign;
119-
}
120-
121109
uint32_t GmmHelper::getRenderMultisamplesCount(uint32_t numSamples) {
122110
if (numSamples == 2) {
123111
return 1;

runtime/gmm_helper/gmm_helper.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ class GmmHelper {
4747
static void queryImgFromBufferParams(ImageInfo &imgInfo, GraphicsAllocation *gfxAlloc);
4848
static GMM_CUBE_FACE_ENUM getCubeFaceIndex(uint32_t target);
4949
static bool allowTiling(const cl_image_desc &imageDesc);
50-
static uint32_t getRenderAlignment(uint32_t alignment);
5150
static uint32_t getRenderMultisamplesCount(uint32_t numSamples);
5251
static GMM_YUV_PLANE convertPlane(OCLPlane oclPlane);
5352

runtime/gmm_helper/resource_info.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ class GmmResourceInfo {
4242

4343
MOCKABLE_VIRTUAL uint32_t getVAlign() { return resourceInfo->GetVAlign(); }
4444

45+
MOCKABLE_VIRTUAL uint32_t getHAlignSurfaceState() { return resourceInfo->GetHAlignSurfaceState(); }
46+
47+
MOCKABLE_VIRTUAL uint32_t getVAlignSurfaceState() { return resourceInfo->GetVAlignSurfaceState(); }
48+
4549
MOCKABLE_VIRTUAL uint32_t getMaxLod() { return resourceInfo->GetMaxLod(); }
4650

4751
MOCKABLE_VIRTUAL uint32_t getTileModeSurfaceState() { return resourceInfo->GetTileModeSurfaceState(); }

runtime/mem_obj/image.inl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ void ImageHw<GfxFamily>::setImageArg(void *memory, bool setAsMediaBlockImage, ui
4848
auto vAlign = RENDER_SURFACE_STATE::SURFACE_VERTICAL_ALIGNMENT_VALIGN_4;
4949

5050
if (gmm) {
51-
hAlign = static_cast<typename RENDER_SURFACE_STATE::SURFACE_HORIZONTAL_ALIGNMENT>(gmm->getRenderHAlignment());
52-
vAlign = static_cast<typename RENDER_SURFACE_STATE::SURFACE_VERTICAL_ALIGNMENT>(gmm->getRenderVAlignment());
51+
hAlign = static_cast<typename RENDER_SURFACE_STATE::SURFACE_HORIZONTAL_ALIGNMENT>(gmm->gmmResourceInfo->getHAlignSurfaceState());
52+
vAlign = static_cast<typename RENDER_SURFACE_STATE::SURFACE_VERTICAL_ALIGNMENT>(gmm->gmmResourceInfo->getVAlignSurfaceState());
5353
}
5454

5555
if (cubeFaceIndex != __GMM_NO_CUBE_MAP) {

unit_tests/gmm_helper/gmm_helper_tests.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -375,13 +375,6 @@ TEST_F(GmmTests, decanonize) {
375375
EXPECT_EQ(GmmHelper::decanonize(addr2), addrExpected2);
376376
}
377377

378-
TEST_F(GmmTests, returnRenderTileMode) {
379-
uint32_t alignments[5][2] = {{0, 1}, {4, 1}, {8, 2}, {16, 3}, {20, 1}}; // {given, expected}
380-
for (uint32_t i = 0; i < 5; i++) {
381-
EXPECT_EQ(GmmHelper::getRenderAlignment(alignments[i][0]), alignments[i][1]);
382-
}
383-
}
384-
385378
TEST_F(GmmTests, givenMipmapedInputWhenAskedForHalingThenNonDefaultValueIsReturned) {
386379
cl_image_desc imgDesc{};
387380
imgDesc.image_type = CL_MEM_OBJECT_IMAGE2D;

unit_tests/mem_obj/image_tests.cpp

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#include "runtime/built_ins/built_ins.h"
99
#include "runtime/compiler_interface/compiler_interface.h"
10+
#include "runtime/gmm_helper/resource_info.h"
1011
#include "runtime/helpers/aligned_memory.h"
1112
#include "runtime/helpers/mipmap.h"
1213
#include "runtime/mem_obj/image.h"
@@ -1452,7 +1453,22 @@ HWTEST_F(HwImageTest, givenImageHwWhenSettingCCSParamsThenSetClearColorParamsIsC
14521453
EXPECT_TRUE(mockImage->setClearColorParamsCalled);
14531454
}
14541455

1455-
using HwImageTest = ::testing::Test;
1456+
HWTEST_F(HwImageTest, givenImageHwWhenSettingAlignmentThenUseGmmValues) {
1457+
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
1458+
MockContext context;
1459+
OsAgnosticMemoryManager memoryManager(*context.getDevice(0)->getExecutionEnvironment());
1460+
context.setMemoryManager(&memoryManager);
1461+
1462+
std::unique_ptr<Image> image(ImageHelper<Image2dDefaults>::create(&context));
1463+
1464+
auto surfaceState = FamilyType::cmdInitRenderSurfaceState;
1465+
1466+
image->setImageArg(&surfaceState, false, 0);
1467+
auto resourceInfo = image->getGraphicsAllocation()->getDefaultGmm()->gmmResourceInfo.get();
1468+
EXPECT_EQ(resourceInfo->getHAlignSurfaceState(), surfaceState.getSurfaceHorizontalAlignment());
1469+
EXPECT_EQ(resourceInfo->getVAlignSurfaceState(), surfaceState.getSurfaceVerticalAlignment());
1470+
}
1471+
14561472
HWTEST_F(HwImageTest, givenImageHwWithUnifiedSurfaceAndMcsWhenSettingParamsForMultisampleImageThenSetParamsForCcsMcsIsCalled) {
14571473

14581474
MockContext context;

unit_tests/mocks/mock_gmm_resource_info.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ class MockGmmResourceInfo : public GmmResourceInfo {
4949

5050
uint32_t getVAlign() override { return 4u; }
5151

52+
uint32_t getHAlignSurfaceState() override { return 1u; }
53+
54+
uint32_t getVAlignSurfaceState() override { return 1u; }
55+
5256
uint32_t getMaxLod() override { return 7u; }
5357

5458
uint32_t getTileModeSurfaceState() override;

0 commit comments

Comments
 (0)