mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
fix negative_create_command_buffer_device_does_not_support_out_of_ord… (#2207)
…er_queue Test should be skipped if device does not support out of order queue or if device supports out of order command buffer. Fix #2204
This commit is contained in:
@@ -27,7 +27,7 @@ BasicCommandBufferTest::BasicCommandBufferTest(cl_device_id device,
|
|||||||
cl_command_queue queue)
|
cl_command_queue queue)
|
||||||
: CommandBufferTestBase(device), context(context), queue(nullptr),
|
: CommandBufferTestBase(device), context(context), queue(nullptr),
|
||||||
num_elements(0), simultaneous_use_support(false),
|
num_elements(0), simultaneous_use_support(false),
|
||||||
out_of_order_support(false),
|
out_of_order_support(false), queue_out_of_order_support(false),
|
||||||
// try to use simultaneous path by default
|
// try to use simultaneous path by default
|
||||||
simultaneous_use_requested(true),
|
simultaneous_use_requested(true),
|
||||||
// due to simultaneous cases extend buffer size
|
// due to simultaneous cases extend buffer size
|
||||||
@@ -57,7 +57,8 @@ bool BasicCommandBufferTest::Skip()
|
|||||||
sizeof(queue_properties), &queue_properties,
|
sizeof(queue_properties), &queue_properties,
|
||||||
NULL);
|
NULL);
|
||||||
test_error(error, "Unable to query CL_QUEUE_PROPERTIES");
|
test_error(error, "Unable to query CL_QUEUE_PROPERTIES");
|
||||||
|
queue_out_of_order_support =
|
||||||
|
queue_properties & CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE;
|
||||||
|
|
||||||
// Query if device supports simultaneous use
|
// Query if device supports simultaneous use
|
||||||
cl_device_command_buffer_capabilities_khr capabilities;
|
cl_device_command_buffer_capabilities_khr capabilities;
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ protected:
|
|||||||
// Device support query results
|
// Device support query results
|
||||||
bool simultaneous_use_support;
|
bool simultaneous_use_support;
|
||||||
bool out_of_order_support;
|
bool out_of_order_support;
|
||||||
|
bool queue_out_of_order_support;
|
||||||
bool device_side_enqueue_support;
|
bool device_side_enqueue_support;
|
||||||
|
|
||||||
// user request for simultaneous use
|
// user request for simultaneous use
|
||||||
|
|||||||
@@ -289,8 +289,9 @@ struct CreateCommandBufferDeviceDoesNotSupportOutOfOderQueue
|
|||||||
{
|
{
|
||||||
BasicCommandBufferTest::Skip();
|
BasicCommandBufferTest::Skip();
|
||||||
|
|
||||||
// If device supports out of order queues test should be skipped
|
// If device does not support out of order queue or if device supports
|
||||||
return out_of_order_support != 0;
|
// out of order command buffer test should be skipped
|
||||||
|
return !queue_out_of_order_support || out_of_order_support;
|
||||||
}
|
}
|
||||||
|
|
||||||
clCommandQueueWrapper out_of_order_queue;
|
clCommandQueueWrapper out_of_order_queue;
|
||||||
|
|||||||
Reference in New Issue
Block a user