diff --git a/src/gallium/frontends/rusticl/api/device.rs b/src/gallium/frontends/rusticl/api/device.rs index d0a38ba9b5b..17f48d17c43 100644 --- a/src/gallium/frontends/rusticl/api/device.rs +++ b/src/gallium/frontends/rusticl/api/device.rs @@ -262,9 +262,9 @@ impl CLInfo for cl_device_id { CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE => cl_prop::(0), CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE => cl_prop::(0), CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES => cl_prop::(0), - CL_DEVICE_QUEUE_ON_HOST_PROPERTIES => { - cl_prop::(CL_QUEUE_PROFILING_ENABLE.into()) - } + CL_DEVICE_QUEUE_ON_HOST_PROPERTIES => cl_prop::( + (CL_QUEUE_PROFILING_ENABLE | CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE).into(), + ), CL_DEVICE_REFERENCE_COUNT => cl_prop::(1), CL_DEVICE_SHARED_SYSTEM_MEM_CAPABILITIES_INTEL => { cl_prop::(0) diff --git a/src/gallium/frontends/rusticl/api/queue.rs b/src/gallium/frontends/rusticl/api/queue.rs index 65d24b8ff91..6f99213d58f 100644 --- a/src/gallium/frontends/rusticl/api/queue.rs +++ b/src/gallium/frontends/rusticl/api/queue.rs @@ -71,13 +71,14 @@ fn supported_command_queue_properties( dev: &Device, properties: cl_command_queue_properties, ) -> bool { - let profiling = cl_bitfield::from(CL_QUEUE_PROFILING_ENABLE); - let valid_flags = profiling; - if properties & !valid_flags != 0 { - return false; + let mut valid_flags = CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE; + if dev.caps.has_timestamp { + valid_flags |= CL_QUEUE_PROFILING_ENABLE; } - if properties & profiling != 0 && !dev.caps.has_timestamp { + // add on device queue properties here once supported and called from `clCreateCommandQueueWithProperties` + + if properties & !cl_bitfield::from(valid_flags) != 0 { return false; }