diff --git a/source/adapters/opencl/common.cpp b/source/adapters/opencl/common.cpp index 2b0e7b6a27..77a51694dd 100644 --- a/source/adapters/opencl/common.cpp +++ b/source/adapters/opencl/common.cpp @@ -60,6 +60,23 @@ ur_result_t mapCLErrorToUR(cl_int Result) { return UR_RESULT_ERROR_OUT_OF_RESOURCES; case CL_INVALID_MEM_OBJECT: return UR_RESULT_ERROR_INVALID_MEM_OBJECT; + case CL_INVALID_QUEUE_PROPERTIES: + return UR_RESULT_ERROR_INVALID_QUEUE_PROPERTIES; + case CL_INVALID_BUFFER_SIZE: + return UR_RESULT_ERROR_INVALID_BUFFER_SIZE; + case CL_INVALID_IMAGE_SIZE: + return UR_RESULT_ERROR_INVALID_IMAGE_SIZE; + case CL_INVALID_IMAGE_FORMAT_DESCRIPTOR: + case CL_INVALID_IMAGE_DESCRIPTOR: + return UR_RESULT_ERROR_INVALID_IMAGE_FORMAT_DESCRIPTOR; + case CL_IMAGE_FORMAT_NOT_SUPPORTED: + return UR_RESULT_ERROR_UNSUPPORTED_IMAGE_FORMAT; + case CL_PROFILING_INFO_NOT_AVAILABLE: + return UR_RESULT_ERROR_PROFILING_INFO_NOT_AVAILABLE; + case CL_LINK_PROGRAM_FAILURE: + return UR_RESULT_ERROR_PROGRAM_LINK_FAILURE; + case CL_INVALID_ARG_INDEX: + return UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX; default: return UR_RESULT_ERROR_UNKNOWN; } diff --git a/test/conformance/queue/queue_adapter_cuda.match b/test/conformance/queue/queue_adapter_cuda.match index 3b2f27c1d6..f7967fb388 100644 --- a/test/conformance/queue/queue_adapter_cuda.match +++ b/test/conformance/queue/queue_adapter_cuda.match @@ -1,4 +1,3 @@ -urQueueCreateTest.InvalidValueProperties/NVIDIA_CUDA_BACKEND___{{.*}}_ urQueueCreateTest.InvalidQueueProperties/NVIDIA_CUDA_BACKEND___{{.*}}_ urQueueCreateWithNativeHandleTest.Success/NVIDIA_CUDA_BACKEND___{{.*}}_ urQueueGetInfoTestWithInfoParam.Success/NVIDIA_CUDA_BACKEND___{{.*}}___UR_QUEUE_INFO_DEVICE_DEFAULT diff --git a/test/conformance/queue/queue_adapter_hip.match b/test/conformance/queue/queue_adapter_hip.match index 6cce588dc4..16166a827c 100644 --- a/test/conformance/queue/queue_adapter_hip.match +++ b/test/conformance/queue/queue_adapter_hip.match @@ -1,4 +1,3 @@ -urQueueCreateTest.InvalidValueProperties/AMD_HIP_BACKEND___{{.*}}_ urQueueCreateTest.InvalidQueueProperties/AMD_HIP_BACKEND___{{.*}}_ urQueueCreateWithParamTest.SuccessWithProperties/AMD_HIP_BACKEND___{{.*}}___UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE urQueueCreateWithParamTest.SuccessWithProperties/AMD_HIP_BACKEND___{{.*}}___UR_QUEUE_FLAG_PROFILING_ENABLE diff --git a/test/conformance/queue/queue_adapter_level_zero.match b/test/conformance/queue/queue_adapter_level_zero.match index 0013d5b397..9ceebd4233 100644 --- a/test/conformance/queue/queue_adapter_level_zero.match +++ b/test/conformance/queue/queue_adapter_level_zero.match @@ -1,3 +1,2 @@ -urQueueCreateTest.InvalidValueProperties/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}_ urQueueCreateTest.InvalidQueueProperties/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}_ {{Segmentation fault|Aborted}} diff --git a/test/conformance/queue/urQueueCreate.cpp b/test/conformance/queue/urQueueCreate.cpp index 0f99009abd..90813b20a5 100644 --- a/test/conformance/queue/urQueueCreate.cpp +++ b/test/conformance/queue/urQueueCreate.cpp @@ -65,26 +65,23 @@ TEST_P(urQueueCreateTest, InvalidNullPointerQueue) { urQueueCreate(context, device, 0, nullptr)); } -TEST_P(urQueueCreateTest, InvalidValueProperties) { - ur_queue_handle_t queue = nullptr; +TEST_P(urQueueCreateTest, InvalidQueueProperties) { ur_queue_properties_t props = { /*.stype =*/UR_STRUCTURE_TYPE_QUEUE_PROPERTIES, /*.pNext =*/nullptr, /*.flags =*/UR_QUEUE_FLAG_FORCE_UINT32, }; - ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_VALUE, - urQueueCreate(context, device, &props, &queue)); -} -TEST_P(urQueueCreateTest, InvalidQueueProperties) { - ur_queue_properties_t props = { - /*.stype =*/UR_STRUCTURE_TYPE_QUEUE_PROPERTIES, - /*.pNext =*/nullptr, - /*.flags =*/UR_QUEUE_FLAG_PRIORITY_HIGH | UR_QUEUE_FLAG_PRIORITY_LOW, - }; + // Initial value is just not a valid enum + { + ur_queue_handle_t queue = nullptr; + ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_QUEUE_PROPERTIES, + urQueueCreate(context, device, &props, &queue)); + } // It should be an error to specify both low/high priorities { ur_queue_handle_t queue = nullptr; + props.flags = UR_QUEUE_FLAG_PRIORITY_HIGH | UR_QUEUE_FLAG_PRIORITY_LOW; ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_QUEUE_PROPERTIES, urQueueCreate(context, device, &props, &queue)); }