rusticl: Enable out-of-order execution
Ought to work, let's find out. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12029 Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31672>
This commit is contained in:
@@ -262,9 +262,9 @@ impl CLInfo<cl_device_info> for cl_device_id {
|
||||
CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE => cl_prop::<cl_uint>(0),
|
||||
CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE => cl_prop::<cl_uint>(0),
|
||||
CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES => cl_prop::<cl_command_queue_properties>(0),
|
||||
CL_DEVICE_QUEUE_ON_HOST_PROPERTIES => {
|
||||
cl_prop::<cl_command_queue_properties>(CL_QUEUE_PROFILING_ENABLE.into())
|
||||
}
|
||||
CL_DEVICE_QUEUE_ON_HOST_PROPERTIES => cl_prop::<cl_command_queue_properties>(
|
||||
(CL_QUEUE_PROFILING_ENABLE | CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE).into(),
|
||||
),
|
||||
CL_DEVICE_REFERENCE_COUNT => cl_prop::<cl_uint>(1),
|
||||
CL_DEVICE_SHARED_SYSTEM_MEM_CAPABILITIES_INTEL => {
|
||||
cl_prop::<cl_device_unified_shared_memory_capabilities_intel>(0)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user