impl CLInfo<cl_platform_info> for cl_platform_id {
fn query(&self, q: cl_platform_info, _: &[u8]) -> CLResult<Vec<u8>> {
- let p = self.get_ref()?;
+ self.get_ref()?;
Ok(match q {
// TODO spirv
CL_PLATFORM_EXTENSIONS => cl_prop("cl_khr_icd cl_khr_il_program"),
CL_PLATFORM_EXTENSIONS_WITH_VERSION => {
- cl_prop::<Vec<cl_name_version>>(p.extensions.to_vec())
+ cl_prop::<Vec<cl_name_version>>(PLATFORM_EXTENSIONS.to_vec())
}
CL_PLATFORM_HOST_TIMER_RESOLUTION => cl_prop::<cl_ulong>(0),
CL_PLATFORM_ICD_SUFFIX_KHR => cl_prop("MESA"),
#[repr(C)]
pub struct Platform {
dispatch: &'static cl_icd_dispatch,
- pub extensions: [cl_name_version; 2],
pub devs: Vec<Arc<Device>>,
}
static PLATFORM_ENV_ONCE: Once = Once::new();
static PLATFORM_ONCE: Once = Once::new();
+pub static PLATFORM_EXTENSIONS: [cl_name_version; 2] = [
+ mk_cl_version_ext(1, 0, 0, "cl_khr_icd"),
+ mk_cl_version_ext(1, 0, 0, "cl_khr_il_program"),
+];
static mut PLATFORM: Platform = Platform {
dispatch: &DISPATCH,
- extensions: [
- mk_cl_version_ext(1, 0, 0, "cl_khr_icd"),
- mk_cl_version_ext(1, 0, 0, "cl_khr_il_program"),
- ],
devs: Vec::new(),
};
static mut PLATFORM_DBG: PlatformDebug = PlatformDebug { program: false };