Skip to content

Commit

Permalink
SWDEV-443796 - Translate CL_INVALID_GL_OBJECT error for DX/CL interop
Browse files Browse the repository at this point in the history
Change-Id: If87bb9d0fb275dd4d9a8a949f4016a082a300144
  • Loading branch information
iassiour committed Feb 5, 2024
1 parent 8d26583 commit 32d49d5
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 18 deletions.
3 changes: 3 additions & 0 deletions opencl/amdocl/cl_common.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,9 @@ cl_int clEnqueueReleaseExtObjectsAMD(cl_command_queue command_queue,
cl_uint num_objects, const cl_mem* mem_objects,
cl_uint num_events_in_wait_list, const cl_event* event_wait_list,
cl_event* event, cl_command_type cmd_type);
static inline cl_int clDXTranslateErrorCode(cl_int err) {
return err == CL_INVALID_GL_OBJECT ? CL_INVALID_MEM_OBJECT : err;
}

} // namespace amd

Expand Down
12 changes: 6 additions & 6 deletions opencl/amdocl/cl_d3d10.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -376,9 +376,9 @@ RUNTIME_EXIT
RUNTIME_ENTRY(cl_int, clEnqueueAcquireD3D10ObjectsKHR,
(cl_command_queue command_queue, cl_uint num_objects, const cl_mem* mem_objects,
cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event)) {
return amd::clEnqueueAcquireExtObjectsAMD(command_queue, num_objects, mem_objects,
num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR);
return amd::clDXTranslateErrorCode(amd::clEnqueueAcquireExtObjectsAMD(
command_queue, num_objects, mem_objects, num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR));
}
RUNTIME_EXIT

Expand All @@ -389,9 +389,9 @@ RUNTIME_EXIT
RUNTIME_ENTRY(cl_int, clEnqueueReleaseD3D10ObjectsKHR,
(cl_command_queue command_queue, cl_uint num_objects, const cl_mem* mem_objects,
cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event)) {
return amd::clEnqueueReleaseExtObjectsAMD(command_queue, num_objects, mem_objects,
num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR);
return amd::clDXTranslateErrorCode(amd::clEnqueueReleaseExtObjectsAMD(
command_queue, num_objects, mem_objects, num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR));
}
RUNTIME_EXIT

Expand Down
12 changes: 6 additions & 6 deletions opencl/amdocl/cl_d3d11.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -375,9 +375,9 @@ RUNTIME_EXIT
RUNTIME_ENTRY(cl_int, clEnqueueAcquireD3D11ObjectsKHR,
(cl_command_queue command_queue, cl_uint num_objects, const cl_mem* mem_objects,
cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event)) {
return amd::clEnqueueAcquireExtObjectsAMD(command_queue, num_objects, mem_objects,
num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_ACQUIRE_D3D11_OBJECTS_KHR);
return amd::clDXTranslateErrorCode(amd::clEnqueueAcquireExtObjectsAMD(
command_queue, num_objects, mem_objects, num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_ACQUIRE_D3D11_OBJECTS_KHR));
}
RUNTIME_EXIT

Expand All @@ -388,9 +388,9 @@ RUNTIME_EXIT
RUNTIME_ENTRY(cl_int, clEnqueueReleaseD3D11ObjectsKHR,
(cl_command_queue command_queue, cl_uint num_objects, const cl_mem* mem_objects,
cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event)) {
return amd::clEnqueueReleaseExtObjectsAMD(command_queue, num_objects, mem_objects,
num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_RELEASE_D3D11_OBJECTS_KHR);
return amd::clDXTranslateErrorCode(amd::clEnqueueReleaseExtObjectsAMD(
command_queue, num_objects, mem_objects, num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_RELEASE_D3D11_OBJECTS_KHR));
}
RUNTIME_EXIT

Expand Down
12 changes: 6 additions & 6 deletions opencl/amdocl/cl_d3d9.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -213,18 +213,18 @@ RUNTIME_EXIT
RUNTIME_ENTRY(cl_int, clEnqueueAcquireDX9MediaSurfacesKHR,
(cl_command_queue command_queue, cl_uint num_objects, const cl_mem* mem_objects,
cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event)) {
return amd::clEnqueueAcquireExtObjectsAMD(command_queue, num_objects, mem_objects,
num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_ACQUIRE_DX9_MEDIA_SURFACES_KHR);
return amd::clDXTranslateErrorCode(amd::clEnqueueAcquireExtObjectsAMD(
command_queue, num_objects, mem_objects, num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_ACQUIRE_DX9_MEDIA_SURFACES_KHR));
}
RUNTIME_EXIT

RUNTIME_ENTRY(cl_int, clEnqueueReleaseDX9MediaSurfacesKHR,
(cl_command_queue command_queue, cl_uint num_objects, const cl_mem* mem_objects,
cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event)) {
return amd::clEnqueueReleaseExtObjectsAMD(command_queue, num_objects, mem_objects,
num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_RELEASE_DX9_MEDIA_SURFACES_KHR);
return amd::clDXTranslateErrorCode(amd::clEnqueueReleaseExtObjectsAMD(
command_queue, num_objects, mem_objects, num_events_in_wait_list, event_wait_list, event,
CL_COMMAND_RELEASE_DX9_MEDIA_SURFACES_KHR));
}
RUNTIME_EXIT

Expand Down

0 comments on commit 32d49d5

Please sign in to comment.