diff --git a/docs/features.txt b/docs/features.txt index 45224751600..2eabf8b1f0b 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -852,6 +852,7 @@ Rusticl extensions that are not part of any OpenCL version: cl_ext_buffer_device_address DONE (iris, llvmpipe, zink) cl_arm_non_uniform_work_group_size not started cl_arm_shared_virtual_memory in progress (nvc0) + cl_intel_required_subgroup_size in progress (available with RUSTICL_FEATURES=intel) cl_intel_subgroups in progress (available with RUSTICL_FEATURES=intel) cl_intel_unified_shared_memory not started diff --git a/src/gallium/frontends/rusticl/api/kernel.rs b/src/gallium/frontends/rusticl/api/kernel.rs index 4ce2288be4c..0505fd3cc7e 100644 --- a/src/gallium/frontends/rusticl/api/kernel.rs +++ b/src/gallium/frontends/rusticl/api/kernel.rs @@ -118,6 +118,7 @@ unsafe impl CLInfoObj for cl_kernel { v.write::(kernel.preferred_simd_size(dev)) } CL_KERNEL_PRIVATE_MEM_SIZE => v.write::(kernel.priv_mem_size(dev)), + CL_KERNEL_SPILL_MEM_SIZE_INTEL => v.write::(kernel.priv_mem_size(dev)), CL_KERNEL_WORK_GROUP_SIZE => v.write::(kernel.max_threads_per_block(dev)), // CL_INVALID_VALUE if param_name is not one of the supported values _ => Err(CL_INVALID_VALUE), diff --git a/src/gallium/frontends/rusticl/core/device.rs b/src/gallium/frontends/rusticl/core/device.rs index d7e67522e23..4cd2343be82 100644 --- a/src/gallium/frontends/rusticl/core/device.rs +++ b/src/gallium/frontends/rusticl/core/device.rs @@ -752,6 +752,7 @@ impl Device { add_ext(1, 0, 0, "cl_khr_subgroup_shuffle"); add_ext(1, 0, 0, "cl_khr_subgroup_shuffle_relative"); if self.intel_subgroups_supported() { + add_ext(1, 0, 0, "cl_intel_required_subgroup_size"); add_ext(1, 0, 0, "cl_intel_subgroups"); add_spirv(c"SPV_INTEL_subgroups"); }