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

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),

View file

@ -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