@@ -298,61 +298,6 @@ HWTEST_F(EnqueueReadImageTest, GivenImage1DAndImageShareTheSameStorageWithHostPt
298
298
EXPECT_EQ (pCmdOOQ->taskLevel , 0u );
299
299
}
300
300
301
- HWTEST_F (EnqueueReadImageTest, GivenImage2DAndImageShareTheSameStorageWithHostPtrWhenReadReadImageIsCalledThenImageIsNotRead) {
302
- cl_int retVal = CL_SUCCESS;
303
- std::unique_ptr<Image> dstImage2 (Image2dHelper<>::create (context));
304
- auto imageDesc = dstImage2->getImageDesc ();
305
- size_t origin[] = {0 , 0 , 0 };
306
- size_t region[] = {imageDesc.image_width , imageDesc.image_height , 1 };
307
- void *ptr = dstImage2->getCpuAddressForMemoryTransfer ();
308
-
309
- size_t rowPitch = dstImage2->getHostPtrRowPitch ();
310
- size_t slicePitch = dstImage2->getHostPtrSlicePitch ();
311
- retVal = pCmdQ->enqueueReadImage (dstImage2.get (),
312
- CL_FALSE,
313
- origin,
314
- region,
315
- rowPitch,
316
- slicePitch,
317
- ptr,
318
- 0 ,
319
- nullptr ,
320
- nullptr );
321
-
322
- EXPECT_EQ (CL_SUCCESS, retVal);
323
-
324
- EXPECT_EQ (CL_SUCCESS, retVal);
325
- EXPECT_EQ (pCmdQ->taskLevel , 0u );
326
- }
327
-
328
- HWTEST_F (EnqueueReadImageTest, GivenImage3DAndImageShareTheSameStorageWithHostPtrWhenReadReadImageIsCalledThenImageIsNotRead) {
329
- cl_int retVal = CL_SUCCESS;
330
- std::unique_ptr<Image> dstImage2 (Image3dHelper<>::create (context));
331
- auto imageDesc = dstImage2->getImageDesc ();
332
- std::unique_ptr<CommandQueue> pCmdOOQ (createCommandQueue (pDevice, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE));
333
- size_t origin[] = {0 , 0 , 0 };
334
- size_t region[] = {imageDesc.image_width , imageDesc.image_height , imageDesc.image_depth };
335
- void *ptr = dstImage2->getCpuAddressForMemoryTransfer ();
336
-
337
- size_t rowPitch = dstImage2->getHostPtrRowPitch ();
338
- size_t slicePitch = dstImage2->getHostPtrSlicePitch ();
339
- retVal = pCmdOOQ->enqueueReadImage (dstImage2.get (),
340
- CL_FALSE,
341
- origin,
342
- region,
343
- rowPitch,
344
- slicePitch,
345
- ptr,
346
- 0 ,
347
- nullptr ,
348
- nullptr );
349
-
350
- EXPECT_EQ (CL_SUCCESS, retVal);
351
-
352
- EXPECT_EQ (CL_SUCCESS, retVal);
353
- EXPECT_EQ (pCmdOOQ->taskLevel , 0u );
354
- }
355
-
356
301
HWTEST_F (EnqueueReadImageTest, GivenImage1DArrayAndImageShareTheSameStorageWithHostPtrWhenReadReadImageIsCalledThenImageIsNotRead) {
357
302
cl_int retVal = CL_SUCCESS;
358
303
std::unique_ptr<Image> dstImage2 (Image1dArrayHelper<>::create (context));
@@ -382,157 +327,70 @@ HWTEST_F(EnqueueReadImageTest, GivenImage1DArrayAndImageShareTheSameStorageWithH
382
327
EXPECT_EQ (pCmdQ->taskLevel , 0u );
383
328
}
384
329
385
- HWTEST_F (EnqueueReadImageTest, GivenImage2DArrayAndImageShareTheSameStorageWithHostPtrWhenReadReadImageIsCalledThenImageIsNotRead ) {
330
+ HWTEST_F (EnqueueReadImageTest, GivenSharedContextZeroCopy2DImageWhenEnqueueReadImageWithMappedPointerIsCalledThenImageIsNotRead ) {
386
331
cl_int retVal = CL_SUCCESS;
387
- std::unique_ptr<Image> dstImage2 (Image2dArrayHelper<>::create (context));
388
- auto imageDesc = dstImage2->getImageDesc ();
389
- std::unique_ptr<CommandQueue> pCmdOOQ (createCommandQueue (pDevice, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE));
390
- size_t origin[] = {0 , 0 , 0 };
391
- size_t region[] = {imageDesc.image_width , imageDesc.image_height , imageDesc.image_array_size };
392
- void *ptr = dstImage2->getCpuAddressForMemoryTransfer ();
393
- size_t rowPitch = dstImage2->getHostPtrRowPitch ();
394
- size_t slicePitch = dstImage2->getHostPtrSlicePitch ();
395
- retVal = pCmdOOQ->enqueueReadImage (dstImage2.get (),
396
- CL_FALSE,
397
- origin,
398
- region,
399
- rowPitch,
400
- slicePitch,
401
- ptr,
402
- 0 ,
403
- nullptr ,
404
- nullptr );
332
+ context->isSharedContext = true ;
405
333
406
- EXPECT_EQ (CL_SUCCESS, retVal);
334
+ std::unique_ptr<Image> dstImage (ImageHelper<ImageUseHostPtr<Image2dDefaults>>::create (context));
335
+ EXPECT_TRUE (dstImage->isMemObjZeroCopy ());
407
336
408
- EXPECT_EQ (CL_SUCCESS, retVal);
409
- EXPECT_EQ (pCmdOOQ->taskLevel , 0u );
410
- }
411
-
412
- HWTEST_F (EnqueueReadImageTest, GivenImage2DAndImageShareTheSameStorageWithHostPtrAndEventsWhenReadReadImageIsCalledThenImageIsNotRead) {
413
- cl_int retVal = CL_SUCCESS;
414
- std::unique_ptr<Image> dstImage2 (Image2dHelper<>::create (context));
415
- auto imageDesc = dstImage2->getImageDesc ();
337
+ auto imageDesc = dstImage->getImageDesc ();
416
338
size_t origin[] = {0 , 0 , 0 };
417
339
size_t region[] = {imageDesc.image_width , imageDesc.image_height , 1 };
418
- void *ptr = dstImage2 ->getCpuAddressForMemoryTransfer ();
340
+ void *ptr = dstImage ->getCpuAddressForMemoryTransfer ();
419
341
420
- size_t rowPitch = dstImage2->getHostPtrRowPitch ();
421
- size_t slicePitch = dstImage2->getHostPtrSlicePitch ();
422
- uint32_t taskLevelCmdQ = 17 ;
423
- pCmdQ->taskLevel = taskLevelCmdQ;
424
-
425
- uint32_t taskLevelEvent1 = 8 ;
426
- uint32_t taskLevelEvent2 = 19 ;
427
- Event event1 (pCmdQ, CL_COMMAND_NDRANGE_KERNEL, taskLevelEvent1, 4 );
428
- Event event2 (pCmdQ, CL_COMMAND_NDRANGE_KERNEL, taskLevelEvent2, 10 );
429
-
430
- cl_event eventWaitList[] =
431
- {
432
- &event1,
433
- &event2};
434
- cl_uint numEventsInWaitList = sizeof (eventWaitList) / sizeof (eventWaitList[0 ]);
435
- cl_event event = nullptr ;
436
-
437
- retVal = pCmdQ->enqueueReadImage (dstImage2.get (),
342
+ size_t rowPitch = dstImage->getHostPtrRowPitch ();
343
+ size_t slicePitch = dstImage->getHostPtrSlicePitch ();
344
+ retVal = pCmdQ->enqueueReadImage (dstImage.get (),
438
345
CL_FALSE,
439
346
origin,
440
347
region,
441
348
rowPitch,
442
349
slicePitch,
443
350
ptr,
444
- numEventsInWaitList ,
445
- eventWaitList ,
446
- &event );
351
+ 0 ,
352
+ nullptr ,
353
+ nullptr );
447
354
448
355
EXPECT_EQ (CL_SUCCESS, retVal);
449
356
450
357
EXPECT_EQ (CL_SUCCESS, retVal);
451
- ASSERT_NE (nullptr , event);
452
-
453
- auto pEvent = (Event *)event;
454
- EXPECT_EQ (19u , pEvent->taskLevel );
455
- EXPECT_EQ (19u , pCmdQ->taskLevel );
456
- EXPECT_EQ (CL_COMMAND_READ_IMAGE, (const int )pEvent->getCommandType ());
457
-
458
- pEvent->release ();
358
+ EXPECT_EQ (pCmdQ->taskLevel , 0u );
459
359
}
460
360
461
- HWTEST_F (EnqueueReadImageTest, GivenImage3DAndImageShareTheSameStorageWithHostPtrAndEventsWhenReadReadImageIsCalledThenImageIsNotRead ) {
361
+ HWTEST_F (EnqueueReadImageTest, GivenImage1DThatIsZeroCopyWhenReadImageWithTheSamePointerAndOutputEventIsPassedThenEventHasCorrectCommandTypeSet ) {
462
362
cl_int retVal = CL_SUCCESS;
463
- std::unique_ptr<Image> dstImage2 (Image3dHelper<>::create (context));
464
- auto imageDesc = dstImage2->getImageDesc ();
465
- std::unique_ptr<CommandQueue> pCmdOOQ (createCommandQueue (pDevice, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE));
363
+ std::unique_ptr<Image> dstImage (Image1dHelper<>::create (context));
364
+ auto imageDesc = dstImage->getImageDesc ();
466
365
size_t origin[] = {0 , 0 , 0 };
467
- size_t region[] = {imageDesc.image_width , imageDesc.image_height , imageDesc.image_depth };
468
- void *ptr = dstImage2->getCpuAddressForMemoryTransfer ();
469
-
470
- size_t rowPitch = dstImage2->getHostPtrRowPitch ();
471
- size_t slicePitch = dstImage2->getHostPtrSlicePitch ();
472
-
473
- uint32_t taskLevelCmdQ = 17 ;
474
- pCmdOOQ->taskLevel = taskLevelCmdQ;
475
-
476
- uint32_t taskLevelEvent1 = 8 ;
477
- uint32_t taskLevelEvent2 = 19 ;
478
- Event event1 (pCmdOOQ.get (), CL_COMMAND_NDRANGE_KERNEL, taskLevelEvent1, 4 );
479
- Event event2 (pCmdOOQ.get (), CL_COMMAND_NDRANGE_KERNEL, taskLevelEvent2, 10 );
366
+ size_t region[] = {imageDesc.image_width , imageDesc.image_height , 1 };
367
+ void *ptr = dstImage->getCpuAddressForMemoryTransfer ();
368
+ size_t rowPitch = dstImage->getHostPtrRowPitch ();
369
+ size_t slicePitch = dstImage->getHostPtrSlicePitch ();
480
370
481
- cl_event eventWaitList[] =
482
- {
483
- &event1,
484
- &event2};
485
- cl_uint numEventsInWaitList = sizeof (eventWaitList) / sizeof (eventWaitList[0 ]);
371
+ cl_uint numEventsInWaitList = 0 ;
486
372
cl_event event = nullptr ;
487
373
488
- retVal = pCmdOOQ->enqueueReadImage (dstImage2.get (),
489
- CL_FALSE,
490
- origin,
491
- region,
492
- rowPitch,
493
- slicePitch,
494
- ptr,
495
- numEventsInWaitList,
496
- eventWaitList,
497
- &event);
498
-
499
- EXPECT_EQ (CL_SUCCESS, retVal);
500
-
501
- EXPECT_EQ (CL_SUCCESS, retVal);
502
- ASSERT_NE (nullptr , event);
503
-
504
- auto pEvent = (Event *)event;
505
- EXPECT_EQ (19u , pEvent->taskLevel );
506
- EXPECT_EQ (19u , pCmdOOQ->taskLevel );
507
- EXPECT_EQ (CL_COMMAND_READ_IMAGE, (const int )pEvent->getCommandType ());
508
-
509
- pEvent->release ();
510
- }
511
- HWTEST_F (EnqueueReadImageTest, GivenNonZeroCopyImage2DAndImageShareTheSameStorageWithHostPtrWhenReadReadImageIsCalledThenImageIsRead) {
512
- cl_int retVal = CL_SUCCESS;
513
- std::unique_ptr<Image> dstImage2 (ImageHelper<ImageUseHostPtr<Image2dDefaults>>::create (context));
514
- auto imageDesc = dstImage2->getImageDesc ();
515
- size_t origin[] = {0 , 0 , 0 };
516
- size_t region[] = {imageDesc.image_width , imageDesc.image_height , 1 };
517
- void *ptr = dstImage2->getCpuAddressForMemoryTransfer ();
518
-
519
- size_t rowPitch = dstImage2->getHostPtrRowPitch ();
520
- size_t slicePitch = dstImage2->getHostPtrSlicePitch ();
521
- retVal = pCmdQ->enqueueReadImage (dstImage2.get (),
374
+ retVal = pCmdQ->enqueueReadImage (dstImage.get (),
522
375
CL_FALSE,
523
376
origin,
524
377
region,
525
378
rowPitch,
526
379
slicePitch,
527
380
ptr,
528
- 0 ,
381
+ numEventsInWaitList ,
529
382
nullptr ,
530
- nullptr );
383
+ &event );
531
384
532
385
EXPECT_EQ (CL_SUCCESS, retVal);
533
386
534
387
EXPECT_EQ (CL_SUCCESS, retVal);
535
- EXPECT_EQ (pCmdQ->taskLevel , 2u );
388
+ ASSERT_NE (nullptr , event);
389
+
390
+ auto pEvent = static_cast <Event *>(event);
391
+ EXPECT_EQ (static_cast <cl_command_type>(CL_COMMAND_READ_IMAGE), pEvent->getCommandType ());
392
+
393
+ pEvent->release ();
536
394
}
537
395
538
396
HWTEST_F (EnqueueReadImageTest, givenCommandQueueWhenEnqueueReadImageIsCalledThenItCallsNotifyFunction) {
0 commit comments