5
5
*
6
6
*/
7
7
8
+ #include " shared/source/helpers/compiler_product_helper.h"
8
9
#include " shared/source/memory_manager/allocation_properties.h"
9
10
#include " shared/source/memory_manager/allocation_type.h"
10
11
#include " shared/source/os_interface/product_helper.h"
11
12
#include " shared/source/xe_hpg_core/hw_cmds_mtl.h"
13
+ #include " shared/test/common/helpers/default_hw_info.h"
12
14
#include " shared/test/common/test_macros/header/per_product_test_definitions.h"
13
15
#include " shared/test/common/test_macros/test.h"
14
16
#include " shared/test/unit_test/os_interface/product_helper_tests.h"
15
17
18
+ #include " platforms.h"
19
+
16
20
using namespace NEO ;
17
21
18
22
using MtlProductHelper = ProductHelperTest;
@@ -21,11 +25,71 @@ MTLTEST_F(MtlProductHelper, givenProductHelperWhenCheckDirectSubmissionSupported
21
25
EXPECT_TRUE (productHelper->isDirectSubmissionSupported (releaseHelper));
22
26
}
23
27
28
+ MTLTEST_F (MtlProductHelper, givenMtlWithoutHwIpVersionInHwInfoWhenGettingIpVersionThenCorrectValueIsReturnedBasedOnDeviceIdAndRevId) {
29
+ auto hwInfo = *defaultHwInfo;
30
+ hwInfo.ipVersion = {};
31
+
32
+ auto mtlMDeviceIds = {0x7D40 , 0x7D45 };
33
+ auto mtlPDeviceIds = {0x7D55 , 0X7DD5 };
34
+
35
+ hwInfo.platform .usDeviceID = 0x7D60 ;
36
+ hwInfo.platform .usRevId = 0 ;
37
+
38
+ EXPECT_EQ (AOT::MTL_M_A0, compilerProductHelper->getHwIpVersion (hwInfo));
39
+
40
+ hwInfo.platform .usRevId = 2 ;
41
+
42
+ EXPECT_EQ (AOT::MTL_M_B0, compilerProductHelper->getHwIpVersion (hwInfo));
43
+
44
+ hwInfo.platform .usRevId = 0xdead ;
45
+
46
+ EXPECT_EQ (compilerProductHelper->getDefaultHwIpVersion (), compilerProductHelper->getHwIpVersion (hwInfo));
47
+
48
+ for (auto &deviceId : mtlMDeviceIds) {
49
+ hwInfo.platform .usDeviceID = deviceId;
50
+ for (auto &revision : {0 , 2 }) {
51
+ hwInfo.platform .usRevId = revision;
52
+
53
+ EXPECT_EQ (AOT::MTL_M_A0, compilerProductHelper->getHwIpVersion (hwInfo));
54
+ }
55
+ for (auto &revision : {3 , 8 }) {
56
+ hwInfo.platform .usRevId = revision;
57
+
58
+ EXPECT_EQ (AOT::MTL_M_B0, compilerProductHelper->getHwIpVersion (hwInfo));
59
+ }
60
+ hwInfo.platform .usRevId = 0xdead ;
61
+
62
+ EXPECT_EQ (compilerProductHelper->getDefaultHwIpVersion (), compilerProductHelper->getHwIpVersion (hwInfo));
63
+ }
64
+
65
+ for (auto &deviceId : mtlPDeviceIds) {
66
+ hwInfo.platform .usDeviceID = deviceId;
67
+ for (auto &revision : {0 , 2 }) {
68
+ hwInfo.platform .usRevId = revision;
69
+
70
+ EXPECT_EQ (AOT::MTL_P_A0, compilerProductHelper->getHwIpVersion (hwInfo));
71
+ }
72
+ for (auto &revision : {3 , 8 }) {
73
+ hwInfo.platform .usRevId = revision;
74
+
75
+ EXPECT_EQ (AOT::MTL_P_B0, compilerProductHelper->getHwIpVersion (hwInfo));
76
+ }
77
+ hwInfo.platform .usRevId = 0xdead ;
78
+
79
+ EXPECT_EQ (compilerProductHelper->getDefaultHwIpVersion (), compilerProductHelper->getHwIpVersion (hwInfo));
80
+ }
81
+
82
+ hwInfo.platform .usDeviceID = 0 ;
83
+ hwInfo.platform .usRevId = 0xdead ;
84
+
85
+ EXPECT_EQ (compilerProductHelper->getDefaultHwIpVersion (), compilerProductHelper->getHwIpVersion (hwInfo));
86
+ }
87
+
24
88
MTLTEST_F (MtlProductHelper, givenProductHelperWhenCheckOverrideAllocationCacheableThenTrueIsReturnedForCommandBuffer) {
25
89
AllocationData allocationData{};
26
90
allocationData.type = AllocationType::commandBuffer;
27
91
EXPECT_TRUE (productHelper->overrideAllocationCacheable (allocationData));
28
92
29
93
allocationData.type = AllocationType::buffer;
30
94
EXPECT_FALSE (productHelper->overrideAllocationCacheable (allocationData));
31
- }
95
+ }
0 commit comments