@@ -30,7 +30,7 @@ TEST_F(clEnqueueCopyBufferRectTests, GivenCorrectParametersWhenEnqueingCopyBuffe
3030 MockBuffer dstBuffer;
3131 size_t srcOrigin[] = {0 , 0 , 0 };
3232 size_t dstOrigin[] = {0 , 0 , 0 };
33- size_t region[] = {10 , 10 , 1 };
33+ size_t region[] = {10 , 10 , 0 };
3434
3535 auto retVal = clEnqueueCopyBufferRect (
3636 pCommandQueue,
@@ -74,7 +74,7 @@ TEST_F(clEnqueueCopyBufferRectTests, GivenQueueIncapableWhenEnqueingCopyBufferRe
7474 MockBuffer dstBuffer;
7575 size_t srcOrigin[] = {0 , 0 , 0 };
7676 size_t dstOrigin[] = {0 , 0 , 0 };
77- size_t region[] = {10 , 10 , 1 };
77+ size_t region[] = {10 , 10 , 0 };
7878
7979 this ->disableQueueCapabilities (CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_RECT_INTEL);
8080 auto retVal = clEnqueueCopyBufferRect (
@@ -95,214 +95,4 @@ TEST_F(clEnqueueCopyBufferRectTests, GivenQueueIncapableWhenEnqueingCopyBufferRe
9595 EXPECT_EQ (CL_INVALID_OPERATION, retVal);
9696}
9797
98- TEST_F (clEnqueueCopyBufferRectTests, givenPitchesEqualZeroAndZerosInRegionWhenCallClEnqueueCopyBufferRectThenClInvalidValueIsReturned) {
99- MockBuffer srcBuffer;
100- MockBuffer dstBuffer;
101- size_t srcOrigin[] = {0 , 0 , 0 };
102- size_t dstOrigin[] = {0 , 0 , 0 };
103- size_t region[] = {0 , 0 , 0 };
104-
105- auto retVal = clEnqueueCopyBufferRect (
106- pCommandQueue,
107- &srcBuffer, // srcBuffer
108- &dstBuffer, // dstBuffer
109- srcOrigin,
110- dstOrigin,
111- region,
112- 0 , // srcRowPitch
113- 0 , // srcSlicePitch
114- 0 , // dstRowPitch
115- 0 , // dstSlicePitch
116- 0 , // numEventsInWaitList
117- nullptr ,
118- nullptr );
119-
120- EXPECT_EQ (CL_INVALID_VALUE, retVal);
121- }
122-
123- TEST_F (clEnqueueCopyBufferRectTests, givenZeroInRegionWhenCallClEnqueueCopyBufferRectThenClInvalidValueIsReturned) {
124- MockBuffer srcBuffer;
125- MockBuffer dstBuffer;
126- size_t srcOrigin[] = {0 , 0 , 0 };
127- size_t dstOrigin[] = {0 , 0 , 0 };
128- size_t region[] = {0 , 0 , 0 };
129-
130- auto retVal = clEnqueueCopyBufferRect (
131- pCommandQueue,
132- &srcBuffer, // srcBuffer
133- &dstBuffer, // dstBuffer
134- srcOrigin,
135- dstOrigin,
136- region,
137- 10 , // srcRowPitch
138- 0 , // srcSlicePitch
139- 10 , // dstRowPitch
140- 0 , // dstSlicePitch
141- 0 , // numEventsInWaitList
142- nullptr ,
143- nullptr );
144-
145- EXPECT_EQ (CL_INVALID_VALUE, retVal);
146-
147- size_t region1[] = {10 , 10 , 0 };
148-
149- retVal = clEnqueueCopyBufferRect (
150- pCommandQueue,
151- &srcBuffer, // srcBuffer
152- &dstBuffer, // dstBuffer
153- srcOrigin,
154- dstOrigin,
155- region1,
156- 10 , // srcRowPitch
157- 0 , // srcSlicePitch
158- 10 , // dstRowPitch
159- 0 , // dstSlicePitch
160- 0 , // numEventsInWaitList
161- nullptr ,
162- nullptr );
163-
164- EXPECT_EQ (CL_INVALID_VALUE, retVal);
165- size_t region2[] = {10 , 0 , 1 };
166-
167- retVal = clEnqueueCopyBufferRect (
168- pCommandQueue,
169- &srcBuffer, // srcBuffer
170- &dstBuffer, // dstBuffer
171- srcOrigin,
172- dstOrigin,
173- region2,
174- 10 , // srcRowPitch
175- 0 , // srcSlicePitch
176- 10 , // dstRowPitch
177- 0 , // dstSlicePitch
178- 0 , // numEventsInWaitList
179- nullptr ,
180- nullptr );
181-
182- EXPECT_EQ (CL_INVALID_VALUE, retVal);
183- size_t region3[] = {10 , 10 , 0 };
184-
185- retVal = clEnqueueCopyBufferRect (
186- pCommandQueue,
187- &srcBuffer, // srcBuffer
188- &dstBuffer, // dstBuffer
189- srcOrigin,
190- dstOrigin,
191- region3,
192- 10 , // srcRowPitch
193- 0 , // srcSlicePitch
194- 10 , // dstRowPitch
195- 0 , // dstSlicePitch
196- 0 , // numEventsInWaitList
197- nullptr ,
198- nullptr );
199-
200- EXPECT_EQ (CL_INVALID_VALUE, retVal);
201- }
202-
203- TEST_F (clEnqueueCopyBufferRectTests, givenNonProperSrcBufferSizeWhenCallClEnqueueCopyBufferRectThenClInvalidValueIsReturned) {
204- MockBuffer srcBuffer;
205- srcBuffer.size = 10 ;
206- MockBuffer dstBuffer;
207- size_t srcOrigin[] = {0 , 0 , 0 };
208- size_t dstOrigin[] = {0 , 0 , 0 };
209- size_t region[] = {10 , 10 , 1 };
210-
211- auto retVal = clEnqueueCopyBufferRect (
212- pCommandQueue,
213- &srcBuffer, // srcBuffer
214- &dstBuffer, // dstBuffer
215- srcOrigin,
216- dstOrigin,
217- region,
218- 10 , // srcRowPitch
219- 0 , // srcSlicePitch
220- 10 , // dstRowPitch
221- 0 , // dstSlicePitch
222- 0 , // numEventsInWaitList
223- nullptr ,
224- nullptr );
225-
226- EXPECT_EQ (CL_INVALID_VALUE, retVal);
227- }
228-
229- TEST_F (clEnqueueCopyBufferRectTests, givenNonProperDstBufferSizeWhenCallClEnqueueCopyBufferRectThenClInvalidValueIsReturned) {
230- MockBuffer srcBuffer;
231- MockBuffer dstBuffer;
232- dstBuffer.size = 10 ;
233- size_t srcOrigin[] = {0 , 0 , 0 };
234- size_t dstOrigin[] = {0 , 0 , 0 };
235- size_t region[] = {10 , 10 , 1 };
236-
237- auto retVal = clEnqueueCopyBufferRect (
238- pCommandQueue,
239- &srcBuffer, // srcBuffer
240- &dstBuffer, // dstBuffer
241- srcOrigin,
242- dstOrigin,
243- region,
244- 10 , // srcRowPitch
245- 0 , // srcSlicePitch
246- 10 , // dstRowPitch
247- 0 , // dstSlicePitch
248- 0 , // numEventsInWaitList
249- nullptr ,
250- nullptr );
251-
252- EXPECT_EQ (CL_INVALID_VALUE, retVal);
253- }
254-
255- TEST_F (clEnqueueCopyBufferRectTests, givenPitchesEqualZeroAndNotZeroRegionWhenCallClEnqueueCopyBufferRectThenPitchIsSetBasedOnRegionAndClSuccessIsReturned) {
256- class CommandQueueMock : public MockCommandQueue {
257- public:
258- CommandQueueMock (Context *context, ClDevice *device, const cl_queue_properties *props) : MockCommandQueue(context, device, props) {}
259- cl_int enqueueCopyBufferRect (Buffer *srcBuffer, Buffer *dstBuffer, const size_t *srcOrigin, const size_t *dstOrigin,
260- const size_t *region, size_t argSrcRowPitch, size_t argSrcSlicePitch, size_t argDstRowPitch,
261- size_t argDstSlicePitch, cl_uint numEventsInWaitList,
262- const cl_event *eventWaitList, cl_event *event) override {
263- srcRowPitch = argSrcRowPitch;
264- srcSlicePitch = argSrcSlicePitch;
265- dstRowPitch = argDstRowPitch;
266- dstSlicePitch = argDstSlicePitch;
267- return CL_SUCCESS;
268- }
269-
270- size_t srcRowPitch;
271- size_t srcSlicePitch;
272- size_t dstRowPitch;
273- size_t dstSlicePitch;
274- };
275-
276- auto commandQueue = std::make_unique<CommandQueueMock>(pContext, pDevice, nullptr );
277- MockBuffer srcBuffer;
278- MockBuffer dstBuffer;
279- dstBuffer.size = 200 ;
280- srcBuffer.size = 200 ;
281- size_t srcOrigin[] = {0 , 0 , 0 };
282- size_t dstOrigin[] = {0 , 0 , 0 };
283- size_t region[] = {10 , 20 , 1 };
284-
285- auto retVal = clEnqueueCopyBufferRect (
286- commandQueue.get (),
287- &srcBuffer, // srcBuffer
288- &dstBuffer, // dstBuffer
289- srcOrigin,
290- dstOrigin,
291- region,
292- 0 , // srcRowPitch
293- 0 , // srcSlicePitch
294- 0 , // dstRowPitch
295- 0 , // dstSlicePitch
296- 0 , // numEventsInWaitList
297- nullptr ,
298- nullptr );
299-
300- EXPECT_EQ (CL_SUCCESS, retVal);
301-
302- EXPECT_EQ (region[0 ], commandQueue->srcRowPitch );
303- EXPECT_EQ (region[0 ], commandQueue->dstRowPitch );
304-
305- EXPECT_EQ (region[1 ], commandQueue->srcSlicePitch / commandQueue->srcRowPitch );
306- EXPECT_EQ (region[1 ], commandQueue->dstSlicePitch / commandQueue->dstRowPitch );
307- }
30898} // namespace ULT
0 commit comments