Skip to content

Commit 32b25ff

Browse files
Add missing API_ENTER and DBG_LOG_INPUTS logging in functions:
clEnqueueReadImage, clEnqueueFillImage, clEnqueueWriteImage, clEnqueueCopyImage, clEnqueueCopyImageToBuffer, clEnqueueMapImage, clEnqueueUnmapMemObject, clEnqueueMigrateMemObjects, clEnqueueNDRangeKernel, clEnqueueTask, clEnqueueNativeKernel, clEnqueueMarker, clEnqueueWaitForEvents, clEnqueueBarrier, clEnqueueMarkerWithWaitList Change-Id: Ifde3290f8dcd9758235018a97fc080798d3b9de0
1 parent 69820ab commit 32b25ff

File tree

1 file changed

+82
-45
lines changed

1 file changed

+82
-45
lines changed

runtime/api/api.cpp

Lines changed: 82 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2325,7 +2325,8 @@ cl_int CL_API_CALL clEnqueueReadImage(cl_command_queue commandQueue,
23252325
return retVal;
23262326
}
23272327
if (!Image::validateRegionAndOrigin(origin, region, pImage->getImageDesc())) {
2328-
return CL_INVALID_VALUE;
2328+
retVal = CL_INVALID_VALUE;
2329+
return retVal;
23292330
}
23302331

23312332
retVal = pCommandQueue->enqueueReadImage(
@@ -2384,7 +2385,8 @@ cl_int CL_API_CALL clEnqueueWriteImage(cl_command_queue commandQueue,
23842385
return retVal;
23852386
}
23862387
if (!Image::validateRegionAndOrigin(origin, region, pImage->getImageDesc())) {
2387-
return CL_INVALID_VALUE;
2388+
retVal = CL_INVALID_VALUE;
2389+
return retVal;
23882390
}
23892391

23902392
retVal = pCommandQueue->enqueueWriteImage(
@@ -2424,15 +2426,16 @@ cl_int CL_API_CALL clEnqueueFillImage(cl_command_queue commandQueue,
24242426
API_ENTER(&retVal);
24252427

24262428
DBG_LOG_INPUTS("commandQueue", commandQueue, "image", image, "fillColor", fillColor,
2427-
"origin[0]", origin[0], "origin[1]", origin[1], "origin[2]", origin[2],
2428-
"region[0]", region[0], "region[1]", region[1], "region[2]", region[2],
2429+
"origin[0]", DebugManager.getInput(origin, 0), "origin[1]", DebugManager.getInput(origin, 1), "origin[2]", DebugManager.getInput(origin, 2),
2430+
"region[0]", DebugManager.getInput(region, 0), "region[1]", DebugManager.getInput(region, 1), "region[2]", DebugManager.getInput(region, 2),
24292431
"numEventsInWaitList", numEventsInWaitList,
24302432
"eventWaitList", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(eventWaitList), numEventsInWaitList),
24312433
"event", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(event), 1));
24322434

24332435
if (CL_SUCCESS == retVal) {
24342436
if (!Image::validateRegionAndOrigin(origin, region, dstImage->getImageDesc())) {
2435-
return CL_INVALID_VALUE;
2437+
retVal = CL_INVALID_VALUE;
2438+
return retVal;
24362439
}
24372440

24382441
retVal = pCommandQueue->enqueueFillImage(
@@ -2469,16 +2472,17 @@ cl_int CL_API_CALL clEnqueueCopyImage(cl_command_queue commandQueue,
24692472
API_ENTER(&retVal);
24702473

24712474
DBG_LOG_INPUTS("commandQueue", commandQueue, "srcImage", srcImage, "dstImage", dstImage,
2472-
"origin[0]", DebugManager.getInput(srcOrigin, 0), "origin[1]", DebugManager.getInput(srcOrigin, 1), "origin[2]", DebugManager.getInput(srcOrigin, 2),
2473-
"region[0]", DebugManager.getInput(dstOrigin, 0), "region[1]", DebugManager.getInput(dstOrigin, 1), "region[2]", DebugManager.getInput(dstOrigin, 2),
2475+
"srcOrigin[0]", DebugManager.getInput(srcOrigin, 0), "srcOrigin[1]", DebugManager.getInput(srcOrigin, 1), "srcOrigin[2]", DebugManager.getInput(srcOrigin, 2),
2476+
"dstOrigin[0]", DebugManager.getInput(dstOrigin, 0), "dstOrigin[1]", DebugManager.getInput(dstOrigin, 1), "dstOrigin[2]", DebugManager.getInput(dstOrigin, 2),
24742477
"region[0]", region ? region[0] : 0, "region[1]", region ? region[1] : 0, "region[2]", region ? region[2] : 0,
24752478
"numEventsInWaitList", numEventsInWaitList,
24762479
"eventWaitList", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(eventWaitList), numEventsInWaitList),
24772480
"event", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(event), 1));
24782481

24792482
if (CL_SUCCESS == retVal) {
24802483
if (memcmp(&pSrcImage->getImageFormat(), &pDstImage->getImageFormat(), sizeof(cl_image_format))) {
2481-
return CL_IMAGE_FORMAT_MISMATCH;
2484+
retVal = CL_IMAGE_FORMAT_MISMATCH;
2485+
return retVal;
24822486
}
24832487
if (IsPackedYuvImage(&pSrcImage->getImageFormat())) {
24842488
retVal = validateYuvOperation(srcOrigin, region);
@@ -2487,19 +2491,24 @@ cl_int CL_API_CALL clEnqueueCopyImage(cl_command_queue commandQueue,
24872491
}
24882492
if (IsPackedYuvImage(&pDstImage->getImageFormat())) {
24892493
retVal = validateYuvOperation(dstOrigin, region);
2494+
24902495
if (retVal != CL_SUCCESS)
24912496
return retVal;
2492-
if (pDstImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE2D && dstOrigin[2] != 0)
2493-
return CL_INVALID_VALUE;
2497+
if (pDstImage->getImageDesc().image_type == CL_MEM_OBJECT_IMAGE2D && dstOrigin[2] != 0) {
2498+
retVal = CL_INVALID_VALUE;
2499+
return retVal;
2500+
}
24942501
}
24952502
if (!Image::validateRegionAndOrigin(srcOrigin, region, pSrcImage->getImageDesc())) {
2496-
return CL_INVALID_VALUE;
2503+
retVal = CL_INVALID_VALUE;
2504+
return retVal;
24972505
}
24982506
if (!Image::validateRegionAndOrigin(dstOrigin, region, pDstImage->getImageDesc())) {
2499-
return CL_INVALID_VALUE;
2507+
retVal = CL_INVALID_VALUE;
2508+
return retVal;
25002509
}
25012510

2502-
pCommandQueue->enqueueCopyImage(
2511+
retVal = pCommandQueue->enqueueCopyImage(
25032512
pSrcImage,
25042513
pDstImage,
25052514
srcOrigin,
@@ -2526,8 +2535,9 @@ cl_int CL_API_CALL clEnqueueCopyImageToBuffer(cl_command_queue commandQueue,
25262535
API_ENTER(&retVal);
25272536

25282537
DBG_LOG_INPUTS("commandQueue", commandQueue, "srcImage", srcImage, "dstBuffer", dstBuffer,
2529-
"srcOrigin[0]", srcOrigin[0], "srcOrigin[1]", srcOrigin[1], "srcOrigin[2]", srcOrigin[2],
2530-
"region[0]", region[0], "region[1]", region[1], "region[2]", region[2],
2538+
"srcOrigin[0]", DebugManager.getInput(srcOrigin, 0), "srcOrigin[1]", DebugManager.getInput(srcOrigin, 1), "srcOrigin[2]", DebugManager.getInput(srcOrigin, 2),
2539+
"region[0]", DebugManager.getInput(region, 0), "region[1]", DebugManager.getInput(region, 1), "region[2]", DebugManager.getInput(region, 2),
2540+
"dstOffset", dstOffset,
25312541
"numEventsInWaitList", numEventsInWaitList,
25322542
"eventWaitList", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(eventWaitList), numEventsInWaitList),
25332543
"event", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(event), 1));
@@ -2548,7 +2558,8 @@ cl_int CL_API_CALL clEnqueueCopyImageToBuffer(cl_command_queue commandQueue,
25482558
return retVal;
25492559
}
25502560
if (!Image::validateRegionAndOrigin(srcOrigin, region, pSrcImage->getImageDesc())) {
2551-
return CL_INVALID_VALUE;
2561+
retVal = CL_INVALID_VALUE;
2562+
return retVal;
25522563
}
25532564

25542565
retVal = pCommandQueue->enqueueCopyImageToBuffer(
@@ -2579,8 +2590,8 @@ cl_int CL_API_CALL clEnqueueCopyBufferToImage(cl_command_queue commandQueue,
25792590
API_ENTER(&retVal);
25802591

25812592
DBG_LOG_INPUTS("commandQueue", commandQueue, "srcBuffer", srcBuffer, "dstImage", dstImage, "srcOffset", srcOffset,
2582-
"dstOrigin[0]", dstOrigin[0], "dstOrigin[1]", dstOrigin[1], "dstOrigin[2]", dstOrigin[2],
2583-
"region[0]", region[0], "region[1]", region[1], "region[2]", region[2],
2593+
"dstOrigin[0]", DebugManager.getInput(dstOrigin, 0), "dstOrigin[1]", DebugManager.getInput(dstOrigin, 1), "dstOrigin[2]", DebugManager.getInput(dstOrigin, 2),
2594+
"region[0]", DebugManager.getInput(region, 0), "region[1]", DebugManager.getInput(region, 1), "region[2]", DebugManager.getInput(region, 2),
25842595
"numEventsInWaitList", numEventsInWaitList,
25852596
"eventWaitList", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(eventWaitList), numEventsInWaitList),
25862597
"event", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(event), 1));
@@ -2601,7 +2612,8 @@ cl_int CL_API_CALL clEnqueueCopyBufferToImage(cl_command_queue commandQueue,
26012612
return retVal;
26022613
}
26032614
if (!Image::validateRegionAndOrigin(dstOrigin, region, pDstImage->getImageDesc())) {
2604-
return CL_INVALID_VALUE;
2615+
retVal = CL_INVALID_VALUE;
2616+
return retVal;
26052617
}
26062618

26072619
retVal = pCommandQueue->enqueueCopyBufferToImage(
@@ -2695,16 +2707,13 @@ void *CL_API_CALL clEnqueueMapImage(cl_command_queue commandQueue,
26952707

26962708
API_ENTER(&retVal);
26972709

2698-
DBG_LOG_INPUTS("commandQueue", commandQueue,
2699-
"image", image,
2700-
"blockingMap", blockingMap,
2701-
"mapFlags", mapFlags,
2702-
"origin[0]", origin[0],
2703-
"origin[1]", origin[1],
2704-
"origin[2]", origin[2],
2705-
"region[0]", region[0],
2706-
"region[1]", region[1],
2707-
"region[2]", region[2],
2710+
DBG_LOG_INPUTS("commandQueue", commandQueue, "image", image,
2711+
"blockingMap", blockingMap, "mapFlags", mapFlags,
2712+
"origin[0]", DebugManager.getInput(origin, 0), "origin[1]", DebugManager.getInput(origin, 1),
2713+
"origin[2]", DebugManager.getInput(origin, 2), "region[0]", DebugManager.getInput(region, 0),
2714+
"region[1]", DebugManager.getInput(region, 1), "region[2]", DebugManager.getInput(region, 2),
2715+
"imageRowPitch", DebugManager.getInput(imageRowPitch, 0),
2716+
"imageSlicePitch", DebugManager.getInput(imageSlicePitch, 0),
27082717
"numEventsInWaitList", numEventsInWaitList,
27092718
"eventWaitList", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(eventWaitList), numEventsInWaitList),
27102719
"event", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(event), 1));
@@ -2782,7 +2791,8 @@ cl_int CL_API_CALL clEnqueueUnmapMemObject(cl_command_queue commandQueue,
27822791

27832792
if (retVal == CL_SUCCESS) {
27842793
if (pMemObj->peekClMemObjType() == CL_MEM_OBJECT_PIPE) {
2785-
return CL_INVALID_MEM_OBJECT;
2794+
retVal = CL_INVALID_MEM_OBJECT;
2795+
return retVal;
27862796
}
27872797

27882798
retVal = pCommandQueue->enqueueUnmapMemObject(pMemObj, mappedPtr, numEventsInWaitList, eventWaitList, event);
@@ -2808,7 +2818,7 @@ cl_int CL_API_CALL clEnqueueMigrateMemObjects(cl_command_queue commandQueue,
28082818
"flags", flags,
28092819
"numEventsInWaitList", numEventsInWaitList,
28102820
"eventWaitList", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(eventWaitList), numEventsInWaitList),
2811-
"event", event);
2821+
"event", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(event), 1));
28122822

28132823
CommandQueue *pCommandQueue = nullptr;
28142824
retVal = validateObjects(
@@ -2819,13 +2829,16 @@ cl_int CL_API_CALL clEnqueueMigrateMemObjects(cl_command_queue commandQueue,
28192829
return retVal;
28202830
}
28212831

2822-
if (numMemObjects == 0 || memObjects == nullptr)
2823-
return CL_INVALID_VALUE;
2832+
if (numMemObjects == 0 || memObjects == nullptr) {
2833+
retVal = CL_INVALID_VALUE;
2834+
return retVal;
2835+
}
28242836

28252837
const cl_mem_migration_flags allValidFlags = CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED | CL_MIGRATE_MEM_OBJECT_HOST;
28262838

28272839
if ((flags & (~allValidFlags)) != 0) {
2828-
return CL_INVALID_VALUE;
2840+
retVal = CL_INVALID_VALUE;
2841+
return retVal;
28292842
}
28302843

28312844
retVal = pCommandQueue->enqueueMigrateMemObjects(numMemObjects,
@@ -2849,8 +2862,12 @@ cl_int CL_API_CALL clEnqueueNDRangeKernel(cl_command_queue commandQueue,
28492862
cl_event *event) {
28502863
cl_int retVal = CL_SUCCESS;
28512864
API_ENTER(&retVal);
2852-
DBG_LOG_INPUTS("commandQueue", commandQueue, "cl_kernel", kernel, "globalWorkOffset", globalWorkOffset,
2853-
DebugManager.getSizes(globalWorkSize, workDim, false), DebugManager.getSizes(localWorkSize, workDim, true),
2865+
DBG_LOG_INPUTS("commandQueue", commandQueue, "cl_kernel", kernel,
2866+
"globalWorkOffset[0]", DebugManager.getInput(globalWorkOffset, 0),
2867+
"globalWorkOffset[1]", DebugManager.getInput(globalWorkOffset, 1),
2868+
"globalWorkOffset[2]", DebugManager.getInput(globalWorkOffset, 2),
2869+
"globalWorkSize", DebugManager.getSizes(globalWorkSize, workDim, false),
2870+
"localWorkSize", DebugManager.getSizes(localWorkSize, workDim, true),
28542871
"numEventsInWaitList", numEventsInWaitList,
28552872
"eventWaitList", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(eventWaitList), numEventsInWaitList),
28562873
"event", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(event), 1));
@@ -2893,6 +2910,10 @@ cl_int CL_API_CALL clEnqueueTask(cl_command_queue commandQueue,
28932910
cl_event *event) {
28942911
cl_int retVal = CL_SUCCESS;
28952912
API_ENTER(&retVal);
2913+
DBG_LOG_INPUTS("commandQueue", commandQueue, "kernel", kernel,
2914+
"numEventsInWaitList", numEventsInWaitList,
2915+
"eventWaitList", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(eventWaitList), numEventsInWaitList),
2916+
"event", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(event), 1));
28962917
cl_uint workDim = 3;
28972918
size_t *globalWorkOffset = nullptr;
28982919
size_t globalWorkSize[3] = {1, 1, 1};
@@ -2920,23 +2941,34 @@ cl_int CL_API_CALL clEnqueueNativeKernel(cl_command_queue commandQueue,
29202941
cl_uint numEventsInWaitList,
29212942
const cl_event *eventWaitList,
29222943
cl_event *event) {
2923-
return CL_OUT_OF_HOST_MEMORY;
2944+
cl_int retVal = CL_OUT_OF_HOST_MEMORY;
2945+
API_ENTER(&retVal);
2946+
DBG_LOG_INPUTS("commandQueue", commandQueue, "userFunc", userFunc, "args", args,
2947+
"cbArgs", cbArgs, "numMemObjects", numMemObjects, "memList", memList, "argsMemLoc", argsMemLoc,
2948+
"numEventsInWaitList", numEventsInWaitList,
2949+
"eventWaitList", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(eventWaitList), numEventsInWaitList),
2950+
"event", DebugManager.getEvents(reinterpret_cast<const uintptr_t *>(event), 1));
2951+
2952+
return retVal;
29242953
}
29252954

29262955
// deprecated OpenCL 1.1
29272956
cl_int CL_API_CALL clEnqueueMarker(cl_command_queue commandQueue,
29282957
cl_event *event) {
2929-
API_ENTER(0);
2958+
cl_int retVal = CL_SUCCESS;
2959+
API_ENTER(&retVal);
29302960
DBG_LOG_INPUTS("commandQueue", commandQueue, "cl_event", event);
29312961

29322962
auto pCommandQueue = castToObject<CommandQueue>(commandQueue);
29332963
if (pCommandQueue) {
2934-
return pCommandQueue->enqueueMarkerWithWaitList(
2964+
retVal = pCommandQueue->enqueueMarkerWithWaitList(
29352965
0,
29362966
nullptr,
29372967
event);
2968+
return retVal;
29382969
}
2939-
return CL_INVALID_COMMAND_QUEUE;
2970+
retVal = CL_INVALID_COMMAND_QUEUE;
2971+
return retVal;
29402972
}
29412973

29422974
// deprecated OpenCL 1.1
@@ -2961,20 +2993,25 @@ cl_int CL_API_CALL clEnqueueWaitForEvents(cl_command_queue commandQueue,
29612993
}
29622994

29632995
retVal = Event::waitForEvents(numEvents, eventList);
2996+
29642997
return retVal;
29652998
}
29662999

29673000
// deprecated OpenCL 1.1
29683001
cl_int CL_API_CALL clEnqueueBarrier(cl_command_queue commandQueue) {
2969-
API_ENTER(0);
3002+
cl_int retVal = CL_SUCCESS;
3003+
API_ENTER(&retVal);
3004+
DBG_LOG_INPUTS("commandQueue", commandQueue);
29703005
auto pCommandQueue = castToObject<CommandQueue>(commandQueue);
29713006
if (pCommandQueue) {
2972-
return pCommandQueue->enqueueBarrierWithWaitList(
3007+
retVal = pCommandQueue->enqueueBarrierWithWaitList(
29733008
0,
29743009
nullptr,
29753010
nullptr);
3011+
return retVal;
29763012
}
2977-
return CL_INVALID_COMMAND_QUEUE;
3013+
retVal = CL_INVALID_COMMAND_QUEUE;
3014+
return retVal;
29783015
}
29793016

29803017
cl_int CL_API_CALL clEnqueueMarkerWithWaitList(cl_command_queue commandQueue,
@@ -3023,11 +3060,11 @@ cl_int CL_API_CALL clEnqueueBarrierWithWaitList(cl_command_queue commandQueue,
30233060
if (CL_SUCCESS != retVal) {
30243061
return retVal;
30253062
}
3026-
3027-
return pCommandQueue->enqueueBarrierWithWaitList(
3063+
retVal = pCommandQueue->enqueueBarrierWithWaitList(
30283064
numEventsInWaitList,
30293065
eventWaitList,
30303066
event);
3067+
return retVal;
30313068
}
30323069

30333070
CL_API_ENTRY cl_command_queue CL_API_CALL

0 commit comments

Comments
 (0)