diff --git a/src/gallium/frontends/rusticl/api/device.rs b/src/gallium/frontends/rusticl/api/device.rs index c1cb7902e03..826b4ac793b 100644 --- a/src/gallium/frontends/rusticl/api/device.rs +++ b/src/gallium/frontends/rusticl/api/device.rs @@ -372,6 +372,20 @@ fn release_device(_device: cl_device_id) -> CLResult<()> { Ok(()) } +#[cl_entrypoint(clCreateSubDevices)] +fn create_sub_devices( + _device: cl_device_id, + _properties: *const cl_device_partition_property, + _num_devices: cl_uint, + _out_devices: *mut cl_device_id, + _num_devices_ret: *mut cl_uint, +) -> CLResult<()> { + // CL_INVALID_VALUE if values specified in properties are not valid or + // if values specified in properties are valid but not supported by the + // device. + Err(CL_INVALID_VALUE) +} + #[cl_entrypoint(clGetDeviceAndHostTimer)] fn get_device_and_host_timer( device: cl_device_id, diff --git a/src/gallium/frontends/rusticl/api/icd.rs b/src/gallium/frontends/rusticl/api/icd.rs index 71215333cf2..47bd38fa514 100644 --- a/src/gallium/frontends/rusticl/api/icd.rs +++ b/src/gallium/frontends/rusticl/api/icd.rs @@ -115,7 +115,7 @@ pub static DISPATCH: cl_icd_dispatch = cl_icd_dispatch { clRetainDeviceEXT: None, clReleaseDeviceEXT: None, clCreateEventFromGLsyncKHR: None, - clCreateSubDevices: None, + clCreateSubDevices: Some(clCreateSubDevices), clRetainDevice: Some(clRetainDevice), clReleaseDevice: Some(clReleaseDevice), clCreateImage: Some(clCreateImage),