diff --git a/test_conformance/extensions/cl_khr_command_buffer/basic_command_buffer.cpp b/test_conformance/extensions/cl_khr_command_buffer/basic_command_buffer.cpp index b3e0a93e74..5dcf4ccdb9 100644 --- a/test_conformance/extensions/cl_khr_command_buffer/basic_command_buffer.cpp +++ b/test_conformance/extensions/cl_khr_command_buffer/basic_command_buffer.cpp @@ -52,13 +52,20 @@ bool BasicCommandBufferTest::Skip() "Unable to query " "CL_DEVICE_COMMAND_BUFFER_REQUIRED_QUEUE_PROPERTIES_KHR"); + cl_command_queue_properties supported_properties; + error = clGetDeviceInfo( + device, CL_DEVICE_COMMAND_BUFFER_SUPPORTED_QUEUE_PROPERTIES_KHR, + sizeof(supported_properties), &supported_properties, NULL); + test_error(error, + "Unable to query " + "CL_DEVICE_COMMAND_BUFFER_SUPPORTED_QUEUE_PROPERTIES_KHR"); + cl_command_queue_properties queue_properties; error = clGetCommandQueueInfo(queue, CL_QUEUE_PROPERTIES, sizeof(queue_properties), &queue_properties, NULL); test_error(error, "Unable to query CL_QUEUE_PROPERTIES"); - // Query if device supports simultaneous use cl_device_command_buffer_capabilities_khr capabilities; error = clGetDeviceInfo(device, CL_DEVICE_COMMAND_BUFFER_CAPABILITIES_KHR, @@ -69,7 +76,7 @@ bool BasicCommandBufferTest::Skip() && (capabilities & CL_COMMAND_BUFFER_CAPABILITY_SIMULTANEOUS_USE_KHR) != 0; out_of_order_support = - capabilities & CL_COMMAND_BUFFER_CAPABILITY_OUT_OF_ORDER_KHR; + supported_properties & CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE; // Skip if queue properties don't contain those required return required_properties != (required_properties & queue_properties); diff --git a/test_conformance/extensions/cl_khr_command_buffer/command_buffer_profiling.cpp b/test_conformance/extensions/cl_khr_command_buffer/command_buffer_profiling.cpp index c06bbf762e..e715ddc9da 100644 --- a/test_conformance/extensions/cl_khr_command_buffer/command_buffer_profiling.cpp +++ b/test_conformance/extensions/cl_khr_command_buffer/command_buffer_profiling.cpp @@ -70,7 +70,22 @@ struct CommandBufferProfiling : public BasicCommandBufferTest //-------------------------------------------------------------------------- cl_int SetUp(int elements) override { - cl_int error = CL_SUCCESS; + + cl_command_queue_properties supported_properties; + cl_int error = clGetDeviceInfo( + device, CL_DEVICE_COMMAND_BUFFER_SUPPORTED_QUEUE_PROPERTIES_KHR, + sizeof(supported_properties), &supported_properties, NULL); + test_error(error, + "Unable to query " + "CL_DEVICE_COMMAND_BUFFER_SUPPORTED_QUEUE_PROPERTIES_KHR"); + + // CL_QUEUE_PROFILING_ENABLE is mandated minimum property returned by + // CL_DEVICE_COMMAND_BUFFER_SUPPORTED_QUEUE_PROPERTIES_KHR + if (!(supported_properties & CL_QUEUE_PROFILING_ENABLE)) + { + return TEST_FAIL; + } + queue = clCreateCommandQueue(context, device, CL_QUEUE_PROFILING_ENABLE, &error); test_error(error, "clCreateCommandQueue failed"); diff --git a/test_conformance/extensions/cl_khr_command_buffer/negative_command_buffer_create.cpp b/test_conformance/extensions/cl_khr_command_buffer/negative_command_buffer_create.cpp index 5cc287c0bb..c4c0704b79 100644 --- a/test_conformance/extensions/cl_khr_command_buffer/negative_command_buffer_create.cpp +++ b/test_conformance/extensions/cl_khr_command_buffer/negative_command_buffer_create.cpp @@ -217,8 +217,8 @@ struct CreateCommandBufferQueueWithoutMinProperties // CL_INCOMPATIBLE_COMMAND_QUEUE_KHR if any command-queue in queues is an // out-of-order command-queue and the device associated with the command-queue -// does not support the CL_COMMAND_BUFFER_CAPABILITY_OUT_OF_ORDER_KHR -// capability. +// does not return CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE from +// CL_DEVICE_COMMAND_BUFFER_SUPPORTED_QUEUE_PROPERTIES_KHR struct CreateCommandBufferDeviceDoesNotSupportOutOfOderQueue : public BasicCommandBufferTest {