2
2
// Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
3
3
// See LICENSE.TXT
4
4
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5
+ #include " helpers.h"
5
6
#include < uur/fixtures.h>
6
7
7
- using urEnqueueMemBufferMapTest = uur::urMemBufferQueueTest;
8
- UUR_INSTANTIATE_DEVICE_TEST_SUITE_P (urEnqueueMemBufferMapTest);
9
-
10
- TEST_P (urEnqueueMemBufferMapTest, SuccessRead) {
8
+ using urEnqueueMemBufferMapTestWithParam =
9
+ uur::urMemBufferQueueTestWithParam<uur::mem_buffer_test_parameters_t >;
10
+
11
+ static std::vector<uur::mem_buffer_test_parameters_t > test_parameters{
12
+ {1024 , UR_MEM_FLAG_READ_WRITE},
13
+ {2500 , UR_MEM_FLAG_READ_WRITE},
14
+ {4096 , UR_MEM_FLAG_READ_WRITE},
15
+ {6000 , UR_MEM_FLAG_READ_WRITE},
16
+ {1024 , UR_MEM_FLAG_WRITE_ONLY},
17
+ {2500 , UR_MEM_FLAG_WRITE_ONLY},
18
+ {4096 , UR_MEM_FLAG_WRITE_ONLY},
19
+ {6000 , UR_MEM_FLAG_WRITE_ONLY},
20
+ {1024 , UR_MEM_FLAG_READ_ONLY},
21
+ {2500 , UR_MEM_FLAG_READ_ONLY},
22
+ {4096 , UR_MEM_FLAG_READ_ONLY},
23
+ {6000 , UR_MEM_FLAG_READ_ONLY},
24
+ {1024 , UR_MEM_FLAG_ALLOC_HOST_POINTER},
25
+ {2500 , UR_MEM_FLAG_ALLOC_HOST_POINTER},
26
+ {4096 , UR_MEM_FLAG_ALLOC_HOST_POINTER},
27
+ {6000 , UR_MEM_FLAG_ALLOC_HOST_POINTER},
28
+ };
29
+
30
+ UUR_TEST_SUITE_P (
31
+ urEnqueueMemBufferMapTestWithParam, ::testing::ValuesIn(test_parameters),
32
+ uur::printMemBufferTestString<urEnqueueMemBufferMapTestWithParam>);
33
+
34
+ TEST_P (urEnqueueMemBufferMapTestWithParam, SuccessRead) {
11
35
const std::vector<uint32_t > input (count, 42 );
12
36
ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
13
37
input.data (), 0 , nullptr , nullptr ));
@@ -21,22 +45,30 @@ TEST_P(urEnqueueMemBufferMapTest, SuccessRead) {
21
45
}
22
46
}
23
47
48
+ static std::vector<uur::mem_buffer_map_write_test_parameters_t >
49
+ map_write_test_parameters{
50
+ {8 , UR_MEM_FLAG_READ_WRITE, UR_MAP_FLAG_WRITE},
51
+ {8 , UR_MEM_FLAG_READ_WRITE, UR_MAP_FLAG_WRITE_INVALIDATE_REGION},
52
+ };
53
+
24
54
using urEnqueueMemBufferMapTestWithWriteFlagParam =
25
- uur::urMemBufferQueueTestWithParam<ur_map_flag_t >;
55
+ uur::urMemBufferQueueTestWithParam<
56
+ uur::mem_buffer_map_write_test_parameters_t >;
57
+
26
58
UUR_TEST_SUITE_P (urEnqueueMemBufferMapTestWithWriteFlagParam,
27
- ::testing::Values (UR_MAP_FLAG_WRITE ,
28
- UR_MAP_FLAG_WRITE_INVALIDATE_REGION),
29
- uur::deviceTestWithParamPrinter<ur_map_flag_t >);
59
+ ::testing::ValuesIn (map_write_test_parameters) ,
60
+ uur::printMemBufferMapWriteTestString<
61
+ urEnqueueMemBufferMapTestWithWriteFlagParam >);
30
62
31
63
TEST_P (urEnqueueMemBufferMapTestWithWriteFlagParam, SuccessWrite) {
32
64
const std::vector<uint32_t > input (count, 0 );
33
65
ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
34
66
input.data (), 0 , nullptr , nullptr ));
35
67
36
68
uint32_t *map = nullptr ;
37
- ASSERT_SUCCESS (urEnqueueMemBufferMap (queue, buffer, true , getParam (), 0 ,
38
- size , 0 , nullptr , nullptr ,
39
- (void **)&map));
69
+ ASSERT_SUCCESS (urEnqueueMemBufferMap (queue, buffer, true ,
70
+ getParam (). map_flag , 0 , size, 0 ,
71
+ nullptr , nullptr , (void **)&map));
40
72
for (unsigned i = 0 ; i < count; ++i) {
41
73
map[i] = 42 ;
42
74
}
@@ -49,7 +81,7 @@ TEST_P(urEnqueueMemBufferMapTestWithWriteFlagParam, SuccessWrite) {
49
81
}
50
82
}
51
83
52
- TEST_P (urEnqueueMemBufferMapTest , SuccessOffset) {
84
+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccessOffset) {
53
85
const std::vector<uint32_t > input (count, 0 );
54
86
ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
55
87
input.data (), 0 , nullptr , nullptr ));
@@ -78,7 +110,7 @@ TEST_P(urEnqueueMemBufferMapTest, SuccessOffset) {
78
110
}
79
111
}
80
112
81
- TEST_P (urEnqueueMemBufferMapTest , SuccessPartialMap) {
113
+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccessPartialMap) {
82
114
const std::vector<uint32_t > input (count, 0 );
83
115
ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
84
116
input.data (), 0 , nullptr , nullptr ));
@@ -106,7 +138,7 @@ TEST_P(urEnqueueMemBufferMapTest, SuccessPartialMap) {
106
138
}
107
139
}
108
140
109
- TEST_P (urEnqueueMemBufferMapTest , SuccesPinnedRead) {
141
+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccesPinnedRead) {
110
142
const size_t memSize = sizeof (int );
111
143
const int value = 20 ;
112
144
@@ -130,7 +162,7 @@ TEST_P(urEnqueueMemBufferMapTest, SuccesPinnedRead) {
130
162
ASSERT_SUCCESS (urMemRelease (memObj));
131
163
}
132
164
133
- TEST_P (urEnqueueMemBufferMapTest , SuccesPinnedWrite) {
165
+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccesPinnedWrite) {
134
166
const size_t memSize = sizeof (int );
135
167
const int value = 30 ;
136
168
@@ -157,7 +189,7 @@ TEST_P(urEnqueueMemBufferMapTest, SuccesPinnedWrite) {
157
189
ASSERT_SUCCESS (urMemRelease (memObj));
158
190
}
159
191
160
- TEST_P (urEnqueueMemBufferMapTest , SuccessMultiMaps) {
192
+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccessMultiMaps) {
161
193
const std::vector<uint32_t > input (count, 0 );
162
194
ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
163
195
input.data (), 0 , nullptr , nullptr ));
@@ -198,39 +230,39 @@ TEST_P(urEnqueueMemBufferMapTest, SuccessMultiMaps) {
198
230
}
199
231
}
200
232
201
- TEST_P (urEnqueueMemBufferMapTest , InvalidNullHandleQueue) {
233
+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidNullHandleQueue) {
202
234
void *map = nullptr ;
203
235
ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_NULL_HANDLE,
204
236
urEnqueueMemBufferMap (nullptr , buffer, true ,
205
237
UR_MAP_FLAG_READ | UR_MAP_FLAG_WRITE,
206
238
0 , size, 0 , nullptr , nullptr , &map));
207
239
}
208
240
209
- TEST_P (urEnqueueMemBufferMapTest , InvalidNullHandleBuffer) {
241
+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidNullHandleBuffer) {
210
242
void *map = nullptr ;
211
243
ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_NULL_HANDLE,
212
244
urEnqueueMemBufferMap (queue, nullptr , true ,
213
245
UR_MAP_FLAG_READ | UR_MAP_FLAG_WRITE,
214
246
0 , size, 0 , nullptr , nullptr , &map));
215
247
}
216
248
217
- TEST_P (urEnqueueMemBufferMapTest , InvalidEnumerationMapFlags) {
249
+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidEnumerationMapFlags) {
218
250
void *map = nullptr ;
219
251
ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_ENUMERATION,
220
252
urEnqueueMemBufferMap (queue, buffer, true ,
221
253
UR_MAP_FLAG_FORCE_UINT32, 0 , size, 0 ,
222
254
nullptr , nullptr , &map));
223
255
}
224
256
225
- TEST_P (urEnqueueMemBufferMapTest , InvalidNullPointerRetMap) {
257
+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidNullPointerRetMap) {
226
258
ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_NULL_POINTER,
227
259
urEnqueueMemBufferMap (queue, buffer, true ,
228
260
UR_MAP_FLAG_READ | UR_MAP_FLAG_WRITE,
229
261
0 , size, 0 , nullptr , nullptr ,
230
262
nullptr ));
231
263
}
232
264
233
- TEST_P (urEnqueueMemBufferMapTest , InvalidNullPtrEventWaitList) {
265
+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidNullPtrEventWaitList) {
234
266
void *map;
235
267
ASSERT_EQ_RESULT (urEnqueueMemBufferMap (queue, buffer, true ,
236
268
UR_MAP_FLAG_READ | UR_MAP_FLAG_WRITE,
@@ -255,7 +287,7 @@ TEST_P(urEnqueueMemBufferMapTest, InvalidNullPtrEventWaitList) {
255
287
ASSERT_SUCCESS (urEventRelease (validEvent));
256
288
}
257
289
258
- TEST_P (urEnqueueMemBufferMapTest , InvalidSize) {
290
+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidSize) {
259
291
void *map = nullptr ;
260
292
ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_SIZE,
261
293
urEnqueueMemBufferMap (queue, buffer, true , 0 , 1 , size, 0 ,
0 commit comments