6
6
//
7
7
// ===----------------------------------------------------------------------===//
8
8
9
- #include " BackendString.hpp"
10
9
#include < CL/sycl/detail/pi.hpp>
11
10
#include < detail/plugin.hpp>
12
11
#include < gtest/gtest.h>
13
12
14
13
using namespace cl ::sycl;
15
14
16
15
namespace {
17
- class EnqueueMemTest : public testing ::TestWithParam<detail::plugin> {
16
+ class DISABLED_EnqueueMemTest : public ::testing::Test {
18
17
protected:
18
+ std::vector<detail::plugin> Plugins;
19
+
19
20
constexpr static size_t _numElementsX = 8 ;
20
21
constexpr static size_t _numElementsY = 4 ;
21
22
@@ -24,125 +25,124 @@ class EnqueueMemTest : public testing::TestWithParam<detail::plugin> {
24
25
pi_queue _queue = nullptr ;
25
26
pi_mem _mem = nullptr ;
26
27
27
- EnqueueMemTest () = default ;
28
+ DISABLED_EnqueueMemTest () = default ;
28
29
29
- ~EnqueueMemTest () = default ;
30
+ ~DISABLED_EnqueueMemTest () = default ;
30
31
31
32
void SetUp () override {
32
-
33
- detail::plugin plugin = GetParam ( );
33
+ Plugins = detail::pi::initialize ();
34
+ ASSERT_FALSE (Plugins. empty () );
34
35
35
36
pi_platform platform = nullptr ;
36
- ASSERT_EQ ((plugin .call_nocheck <detail::PiApiKind::piPlatformsGet>(
37
+ ASSERT_EQ ((Plugins[ 0 ] .call_nocheck <detail::PiApiKind::piPlatformsGet>(
37
38
1 , &platform, nullptr )),
38
39
PI_SUCCESS);
39
40
40
- ASSERT_EQ ((plugin .call_nocheck <detail::PiApiKind::piDevicesGet>(
41
- platform, PI_DEVICE_TYPE_DEFAULT , 1 , &_device, nullptr )),
41
+ ASSERT_EQ ((Plugins[ 0 ] .call_nocheck <detail::PiApiKind::piDevicesGet>(
42
+ platform, PI_DEVICE_TYPE_GPU , 1 , &_device, nullptr )),
42
43
PI_SUCCESS);
43
44
44
45
pi_result result = PI_INVALID_VALUE;
45
- result = plugin .call_nocheck <detail::PiApiKind::piContextCreate>(
46
+ result = Plugins[ 0 ] .call_nocheck <detail::PiApiKind::piContextCreate>(
46
47
nullptr , 1u , &_device, nullptr , nullptr , &_context);
47
48
ASSERT_EQ (result, PI_SUCCESS);
48
49
49
- ASSERT_EQ ((plugin .call_nocheck <detail::PiApiKind::piQueueCreate>(
50
+ ASSERT_EQ ((Plugins[ 0 ] .call_nocheck <detail::PiApiKind::piQueueCreate>(
50
51
_context, _device, 0 , &_queue)),
51
52
PI_SUCCESS);
52
53
53
- ASSERT_EQ ((plugin .call_nocheck <detail::PiApiKind::piMemBufferCreate>(
54
+ ASSERT_EQ ((Plugins[ 0 ] .call_nocheck <detail::PiApiKind::piMemBufferCreate>(
54
55
_context, 0 , _numElementsX * _numElementsY * sizeof (pi_int32),
55
56
nullptr , &_mem)),
56
57
PI_SUCCESS);
57
58
}
58
59
59
60
void TearDown () override {
60
-
61
- detail::plugin plugin = GetParam ();
62
-
63
- ASSERT_EQ ((plugin.call_nocheck <detail::PiApiKind::piMemRelease>(_mem)),
64
- PI_SUCCESS);
65
- ASSERT_EQ ((plugin.call_nocheck <detail::PiApiKind::piQueueRelease>(_queue)),
61
+ ASSERT_EQ ((Plugins[0 ].call_nocheck <detail::PiApiKind::piMemRelease>(_mem)),
66
62
PI_SUCCESS);
67
63
ASSERT_EQ (
68
- (plugin .call_nocheck <detail::PiApiKind::piContextRelease>(_context )),
64
+ (Plugins[ 0 ] .call_nocheck <detail::PiApiKind::piQueueRelease>(_queue )),
69
65
PI_SUCCESS);
66
+ ASSERT_EQ ((Plugins[0 ].call_nocheck <detail::PiApiKind::piContextRelease>(
67
+ _context)),
68
+ PI_SUCCESS);
70
69
}
71
70
72
71
template <typename T> void TestBufferFill (const T &pattern) {
73
72
74
- detail::plugin plugin = GetParam ();
75
-
76
73
T inValues[_numElementsX] = {};
77
74
78
75
for (size_t i = 0 ; i < _numElementsX; ++i) {
79
76
ASSERT_NE (pattern, inValues[i]);
80
77
}
81
78
82
- ASSERT_EQ ((plugin.call_nocheck <detail::PiApiKind::piEnqueueMemBufferWrite>(
83
- _queue, _mem, PI_TRUE, 0 , _numElementsX * sizeof (T), inValues,
84
- 0 , nullptr , nullptr )),
85
- PI_SUCCESS);
79
+ ASSERT_EQ (
80
+ (Plugins[0 ].call_nocheck <detail::PiApiKind::piEnqueueMemBufferWrite>(
81
+ _queue, _mem, PI_TRUE, 0 , _numElementsX * sizeof (T), inValues, 0 ,
82
+ nullptr , nullptr )),
83
+ PI_SUCCESS);
86
84
87
- ASSERT_EQ ((plugin.call_nocheck <detail::PiApiKind::piEnqueueMemBufferFill>(
88
- _queue, _mem, &pattern, sizeof (T), 0 , sizeof (inValues), 0 ,
89
- nullptr , nullptr )),
90
- PI_SUCCESS);
85
+ ASSERT_EQ (
86
+ (Plugins[0 ].call_nocheck <detail::PiApiKind::piEnqueueMemBufferFill>(
87
+ _queue, _mem, &pattern, sizeof (T), 0 , sizeof (inValues), 0 , nullptr ,
88
+ nullptr )),
89
+ PI_SUCCESS);
91
90
92
91
T outValues[_numElementsX] = {};
93
- ASSERT_EQ ((plugin.call_nocheck <detail::PiApiKind::piEnqueueMemBufferRead>(
94
- _queue, _mem, PI_TRUE, 0 , _numElementsX * sizeof (T),
95
- outValues, 0 , nullptr , nullptr )),
96
- PI_SUCCESS);
92
+ ASSERT_EQ (
93
+ (Plugins[0 ].call_nocheck <detail::PiApiKind::piEnqueueMemBufferRead>(
94
+ _queue, _mem, PI_TRUE, 0 , _numElementsX * sizeof (T), outValues, 0 ,
95
+ nullptr , nullptr )),
96
+ PI_SUCCESS);
97
97
98
98
for (size_t i = 0 ; i < _numElementsX; ++i) {
99
99
ASSERT_EQ (pattern, outValues[i]);
100
100
}
101
101
}
102
102
};
103
103
104
- static std::vector<detail::plugin> Plugins = detail::pi::initialize();
105
-
106
- INSTANTIATE_TEST_CASE_P (
107
- EnqueueMemTestImpl, EnqueueMemTest, testing::ValuesIn(Plugins),
108
- [](const testing::TestParamInfo<EnqueueMemTest::ParamType> &info) {
109
- return pi::GetBackendString (info.param .getBackend ());
110
- });
111
-
112
- template <typename T> struct vec4 {
104
+ template <typename T>
105
+ struct vec4 {
113
106
T x, y, z, w;
114
107
115
108
bool operator ==(const vec4 &rhs) const {
116
109
return x == rhs.x && y == rhs.y && z == rhs.z && w == rhs.w ;
117
110
}
118
111
119
- bool operator !=(const vec4 &rhs) const { return !(*this == rhs); }
112
+ bool operator !=(const vec4 &rhs) const {
113
+ return !(*this == rhs);
114
+ }
120
115
};
121
116
122
- template <typename T> struct vec2 {
117
+ template <typename T>
118
+ struct vec2 {
123
119
T x, y;
124
120
125
- bool operator ==(const vec2 &rhs) const { return x == rhs.x && y == rhs.y ; }
121
+ bool operator ==(const vec2 &rhs) const {
122
+ return x == rhs.x && y == rhs.y ;
123
+ }
126
124
127
- bool operator !=(const vec2 &rhs) const { return !(*this == rhs); }
125
+ bool operator !=(const vec2 &rhs) const {
126
+ return !(*this == rhs);
127
+ }
128
128
};
129
129
130
- TEST_P (EnqueueMemTest , piEnqueueMemBufferFill) {
130
+ TEST_F (DISABLED_EnqueueMemTest , piEnqueueMemBufferFill) {
131
131
132
- TestBufferFill (float {1 });
133
- TestBufferFill (vec2<float >{1 , 2 });
134
- TestBufferFill (vec4<float >{1 , 2 , 3 , 4 });
132
+ TestBufferFill (float {1 });
133
+ TestBufferFill (vec2<float >{1 , 2 });
134
+ TestBufferFill (vec4<float >{1 , 2 , 3 , 4 });
135
135
136
- TestBufferFill (uint8_t {1 });
137
- TestBufferFill (vec2<uint8_t >{1 , 2 });
138
- TestBufferFill (vec4<uint8_t >{1 , 2 , 3 , 4 });
136
+ TestBufferFill (uint8_t {1 });
137
+ TestBufferFill (vec2<uint8_t >{1 , 2 });
138
+ TestBufferFill (vec4<uint8_t >{1 , 2 , 3 , 4 });
139
139
140
- TestBufferFill (uint16_t {1 });
141
- TestBufferFill (vec2<uint16_t >{1 , 2 });
142
- TestBufferFill (vec4<uint16_t >{1 , 2 , 3 , 4 });
140
+ TestBufferFill (uint16_t {1 });
141
+ TestBufferFill (vec2<uint16_t >{1 , 2 });
142
+ TestBufferFill (vec4<uint16_t >{1 , 2 , 3 , 4 });
143
143
144
- TestBufferFill (uint32_t {1 });
145
- TestBufferFill (vec2<uint32_t >{1 , 2 });
146
- TestBufferFill (vec4<uint32_t >{1 , 2 , 3 , 4 });
144
+ TestBufferFill (uint32_t {1 });
145
+ TestBufferFill (vec2<uint32_t >{1 , 2 });
146
+ TestBufferFill (vec4<uint32_t >{1 , 2 , 3 , 4 });
147
147
}
148
148
} // namespace
0 commit comments