Skip to content

Commit c6e52a7

Browse files
Move Xe Hpg hw helper tests to shared
Signed-off-by: Mateusz Jablonski <[email protected]>
1 parent 52c6973 commit c6e52a7

File tree

8 files changed

+256
-251
lines changed

8 files changed

+256
-251
lines changed

opencl/test/unit_test/xe_hpg_core/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ if(TESTS_XE_HPG_CORE)
1313
set(IGDRCL_SRCS_tests_xe_hpg_core
1414
${IGDRCL_SRCS_tests_xe_hpg_core_excludes}
1515
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
16+
${CMAKE_CURRENT_SOURCE_DIR}/cl_hw_helper_tests_xe_hpg_core.cpp
1617
${CMAKE_CURRENT_SOURCE_DIR}/command_stream_receiver_hw_tests_xe_hpg_core.cpp
1718
${CMAKE_CURRENT_SOURCE_DIR}/test_cmds_programming_xe_hpg_core.cpp
1819
${CMAKE_CURRENT_SOURCE_DIR}/copy_engine_tests_xe_hpg_core.cpp
19-
${CMAKE_CURRENT_SOURCE_DIR}/hw_helper_tests_xe_hpg_core.cpp
2020
${CMAKE_CURRENT_SOURCE_DIR}/test_device_caps_xe_hpg_core.cpp
2121
${CMAKE_CURRENT_SOURCE_DIR}/image_tests_xe_hpg_core.cpp
2222
)
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
/*
2+
* Copyright (C) 2022 Intel Corporation
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*
6+
*/
7+
8+
#include "shared/source/program/kernel_info.h"
9+
#include "shared/test/common/helpers/debug_manager_state_restore.h"
10+
#include "shared/test/common/helpers/default_hw_info.h"
11+
#include "shared/test/common/test_macros/test.h"
12+
13+
#include "opencl/source/cl_device/cl_device.h"
14+
#include "opencl/test/unit_test/mocks/mock_cl_hw_helper.h"
15+
#include "opencl/test/unit_test/mocks/mock_context.h"
16+
17+
using ClHwHelperTestsXeHpgCore = ::testing::Test;
18+
19+
using namespace NEO;
20+
21+
XE_HPG_CORETEST_F(ClHwHelperTestsXeHpgCore, WhenGettingDeviceIpVersionThenMakeCorrectDeviceIpVersion) {
22+
if (defaultHwInfo->capabilityTable.isIntegratedDevice) {
23+
EXPECT_EQ(ClHwHelperMock::makeDeviceIpVersion(12, 7, 0), ClHwHelper::get(renderCoreFamily).getDeviceIpVersion(*defaultHwInfo));
24+
} else {
25+
EXPECT_EQ(ClHwHelperMock::makeDeviceIpVersion(12, 7, 1), ClHwHelper::get(renderCoreFamily).getDeviceIpVersion(*defaultHwInfo));
26+
}
27+
}
28+
29+
XE_HPG_CORETEST_F(ClHwHelperTestsXeHpgCore, givenGenHelperWhenKernelArgumentIsNotPureStatefulThenRequireNonAuxMode) {
30+
auto &clHwHelper = ClHwHelper::get(renderCoreFamily);
31+
32+
for (auto isPureStateful : ::testing::Bool()) {
33+
ArgDescPointer argAsPtr{};
34+
argAsPtr.accessedUsingStatelessAddressingMode = !isPureStateful;
35+
36+
EXPECT_EQ(!argAsPtr.isPureStateful(), clHwHelper.requiresNonAuxMode(argAsPtr, *defaultHwInfo));
37+
}
38+
}
39+
40+
XE_HPG_CORETEST_F(ClHwHelperTestsXeHpgCore, givenGenHelperWhenEnableStatelessCompressionThenDontRequireNonAuxMode) {
41+
DebugManagerStateRestore restore;
42+
DebugManager.flags.EnableStatelessCompression.set(1);
43+
44+
auto &clHwHelper = ClHwHelper::get(renderCoreFamily);
45+
46+
for (auto isPureStateful : ::testing::Bool()) {
47+
ArgDescPointer argAsPtr{};
48+
argAsPtr.accessedUsingStatelessAddressingMode = !isPureStateful;
49+
EXPECT_FALSE(clHwHelper.requiresNonAuxMode(argAsPtr, *defaultHwInfo));
50+
}
51+
}
52+
53+
XE_HPG_CORETEST_F(ClHwHelperTestsXeHpgCore, givenGenHelperWhenCheckAuxTranslationThenAuxResolvesIsRequired) {
54+
auto &clHwHelper = ClHwHelper::get(renderCoreFamily);
55+
56+
for (auto isPureStateful : ::testing::Bool()) {
57+
KernelInfo kernelInfo{};
58+
kernelInfo.kernelDescriptor.payloadMappings.explicitArgs.resize(1);
59+
kernelInfo.kernelDescriptor.payloadMappings.explicitArgs[0].as<ArgDescPointer>(true).accessedUsingStatelessAddressingMode = !isPureStateful;
60+
EXPECT_EQ(!isPureStateful, clHwHelper.requiresAuxResolves(kernelInfo, *defaultHwInfo));
61+
}
62+
}
63+
64+
XE_HPG_CORETEST_F(ClHwHelperTestsXeHpgCore, givenGenHelperWhenEnableStatelessCompressionThenAuxTranslationIsNotRequired) {
65+
DebugManagerStateRestore restore;
66+
DebugManager.flags.EnableStatelessCompression.set(1);
67+
68+
auto &clHwHelper = ClHwHelper::get(renderCoreFamily);
69+
KernelInfo kernelInfo{};
70+
71+
EXPECT_FALSE(clHwHelper.requiresAuxResolves(kernelInfo, *defaultHwInfo));
72+
}
73+
74+
XE_HPG_CORETEST_F(ClHwHelperTestsXeHpgCore, givenDifferentCLImageFormatsWhenCallingAllowImageCompressionThenCorrectValueReturned) {
75+
struct ImageFormatCompression {
76+
cl_image_format imageFormat;
77+
bool isCompressable;
78+
};
79+
const std::vector<ImageFormatCompression> imageFormats = {
80+
{{CL_LUMINANCE, CL_UNORM_INT8}, false},
81+
{{CL_LUMINANCE, CL_UNORM_INT16}, false},
82+
{{CL_LUMINANCE, CL_HALF_FLOAT}, false},
83+
{{CL_LUMINANCE, CL_FLOAT}, false},
84+
{{CL_INTENSITY, CL_UNORM_INT8}, false},
85+
{{CL_INTENSITY, CL_UNORM_INT16}, false},
86+
{{CL_INTENSITY, CL_HALF_FLOAT}, false},
87+
{{CL_INTENSITY, CL_FLOAT}, false},
88+
{{CL_A, CL_UNORM_INT16}, false},
89+
{{CL_A, CL_HALF_FLOAT}, false},
90+
{{CL_A, CL_FLOAT}, false},
91+
{{CL_R, CL_UNSIGNED_INT8}, true},
92+
{{CL_R, CL_UNSIGNED_INT16}, true},
93+
{{CL_R, CL_UNSIGNED_INT32}, true},
94+
{{CL_RG, CL_UNSIGNED_INT32}, true},
95+
{{CL_RGBA, CL_UNSIGNED_INT32}, true},
96+
{{CL_RGBA, CL_UNORM_INT8}, true},
97+
{{CL_RGBA, CL_UNORM_INT16}, true},
98+
{{CL_RGBA, CL_SIGNED_INT8}, true},
99+
{{CL_RGBA, CL_SIGNED_INT16}, true},
100+
{{CL_RGBA, CL_SIGNED_INT32}, true},
101+
{{CL_RGBA, CL_UNSIGNED_INT8}, true},
102+
{{CL_RGBA, CL_UNSIGNED_INT16}, true},
103+
{{CL_RGBA, CL_UNSIGNED_INT32}, true},
104+
{{CL_RGBA, CL_HALF_FLOAT}, true},
105+
{{CL_RGBA, CL_FLOAT}, true},
106+
{{CL_BGRA, CL_UNORM_INT8}, true},
107+
{{CL_R, CL_FLOAT}, true},
108+
{{CL_R, CL_UNORM_INT8}, true},
109+
{{CL_R, CL_UNORM_INT16}, true},
110+
};
111+
MockContext context;
112+
auto &clHwHelper = ClHwHelper::get(context.getDevice(0)->getHardwareInfo().platform.eRenderCoreFamily);
113+
114+
for (const auto &format : imageFormats) {
115+
bool result = clHwHelper.allowImageCompression(format.imageFormat);
116+
EXPECT_EQ(format.isCompressable, result);
117+
}
118+
}

opencl/test/unit_test/xe_hpg_core/dg2/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ if(TESTS_DG2)
1414
${IGDRCL_SRCS_tests_xe_hpg_core_dg2_excludes}
1515
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
1616
${CMAKE_CURRENT_SOURCE_DIR}/get_device_info_dg2.cpp
17-
${CMAKE_CURRENT_SOURCE_DIR}/hw_helper_tests_dg2.cpp
1817
${CMAKE_CURRENT_SOURCE_DIR}/memory_manager_tests_dg2.cpp
1918
${CMAKE_CURRENT_SOURCE_DIR}/sampler_tests_dg2.cpp
2019
${CMAKE_CURRENT_SOURCE_DIR}/test_cmds_programming_dg2.cpp

opencl/test/unit_test/xe_hpg_core/dg2/excludes_dg2.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ HWTEST_EXCLUDE_PRODUCT(WddmMemoryManagerSimpleTest, givenLinearStreamWhenItIsAll
2020
HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, WhenAllowRenderCompressionIsCalledThenTrueIsReturned, IGFX_DG2);
2121
HWTEST_EXCLUDE_PRODUCT(HwInfoConfigTest, whenConvertingTimestampsToCsDomainThenNothingIsChanged, IGFX_DG2);
2222
HWTEST_EXCLUDE_PRODUCT(HwHelperTestXeHPAndLater, GiveCcsNodeThenDefaultEngineTypeIsCcs, IGFX_DG2);
23+
HWTEST_EXCLUDE_PRODUCT(XeHPAndLaterDeviceCapsTests, givenHwInfoWhenRequestedComputeUnitsUsedForScratchThenReturnValidValue, IGFX_DG2);

opencl/test/unit_test/xe_hpg_core/dg2/hw_helper_tests_dg2.cpp

Lines changed: 0 additions & 152 deletions
This file was deleted.

shared/test/unit_test/xe_hpg_core/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ if(TESTS_XE_HPG_CORE)
99
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
1010
${CMAKE_CURRENT_SOURCE_DIR}/compute_mode_tests_xe_hpg_core.cpp
1111
${CMAKE_CURRENT_SOURCE_DIR}/hw_cmds_xe_hpg_core_tests.cpp
12+
${CMAKE_CURRENT_SOURCE_DIR}/hw_helper_tests_xe_hpg_core.cpp
1213
${CMAKE_CURRENT_SOURCE_DIR}/test_encode_dispatch_kernel_xe_hpg_core.cpp
1314
)
1415

0 commit comments

Comments
 (0)