rusticl/queue: add clSetCommandQueueProperty

The CL CTS started to call this API, luckily we don't have to actually
implement it, because we don't intent to support CL 1.0 only devices in
the first place (probably).

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30575>
This commit is contained in:
Karol Herbst
2024-08-08 19:35:51 +02:00
committed by Marge Bot
parent 1d8283be36
commit cd2dc4f70c
2 changed files with 17 additions and 1 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ pub static DISPATCH: cl_icd_dispatch = cl_icd_dispatch {
clRetainCommandQueue: Some(clRetainCommandQueue),
clReleaseCommandQueue: Some(clReleaseCommandQueue),
clGetCommandQueueInfo: Some(clGetCommandQueueInfo),
clSetCommandQueueProperty: None,
clSetCommandQueueProperty: Some(clSetCommandQueueProperty),
clCreateBuffer: Some(clCreateBuffer),
clCreateImage2D: Some(clCreateImage2D),
clCreateImage3D: Some(clCreateImage3D),
@@ -41,6 +41,22 @@ impl CLInfo<cl_command_queue_info> for cl_command_queue {
}
}
#[cl_entrypoint(clSetCommandQueueProperty)]
fn set_command_queue_property(
_command_queue: cl_command_queue,
_properties: cl_command_queue_properties,
_enable: cl_bool,
_old_properties: *mut cl_command_queue_properties,
) -> CLResult<()> {
// clSetCommandQueueProperty may unconditionally return an error if no devices in the context
// associated with command_queue support modifying the properties of a command-queue. Support
// for modifying the properties of a command-queue is required only for OpenCL 1.0 devices.
//
// CL_INVALID_OPERATION if no devices in the context associated with command_queue support
// modifying the properties of a command-queue.
Err(CL_INVALID_OPERATION)
}
fn valid_command_queue_properties(properties: cl_command_queue_properties) -> bool {
let valid_flags = cl_bitfield::from(
CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE