Reviewed-by: Nora Allen <blackcatgames@protonmail.com>rusticl/platform: make the...
authorKarol Herbst <git@karolherbst.de>
Mon, 15 May 2023 13:49:46 +0000 (15:49 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 16 May 2023 21:07:08 +0000 (21:07 +0000)
This way we can use it inside `Device::fill_extensions`

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: Nora Allen <blackcatgames@protonmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23031>

src/gallium/frontends/rusticl/api/platform.rs
src/gallium/frontends/rusticl/core/platform.rs

index 7641ff3..dcefdf6 100644 (file)
@@ -8,12 +8,12 @@ use rusticl_opencl_gen::*;
 
 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"),
index 2126dfa..f501d12 100644 (file)
@@ -13,7 +13,6 @@ use std::sync::Once;
 #[repr(C)]
 pub struct Platform {
     dispatch: &'static cl_icd_dispatch,
-    pub extensions: [cl_name_version; 2],
     pub devs: Vec<Arc<Device>>,
 }
 
@@ -27,13 +26,13 @@ pub struct PlatformFeatures {
 
 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 };