From 917004bd00b411c14d408b9dc01d0000023d73e5 Mon Sep 17 00:00:00 2001 From: Ericky Dos Santos Date: Tue, 6 Jan 2026 13:26:01 -0500 Subject: [PATCH] Make shader_f16 optional because it does not work in webgl --- wgpu/src/window/compositor.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index e700fc8585..c0139b5598 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -148,13 +148,20 @@ impl Compositor { ..limits }); + // Request SHADER_F16 only if the adapter supports it (e.g., not available in WebGL2) + let required_features = if adapter.features().contains(wgpu::Features::SHADER_F16) { + wgpu::Features::SHADER_F16 + } else { + wgpu::Features::empty() + }; + let mut errors = Vec::new(); for required_limits in limits { let result = adapter .request_device(&wgpu::DeviceDescriptor { label: Some("iced_wgpu::window::compositor device descriptor"), - required_features: wgpu::Features::SHADER_F16, + required_features, required_limits: required_limits.clone(), memory_hints: wgpu::MemoryHints::MemoryUsage, trace: wgpu::Trace::Off,