{"record":{"id":"ee40eadda0db4962","repo":"gfx-rs/wgpu","slug":"only-fifo-auto-is-supported-on-web","errorCode":null,"errorMessage":"Only FIFO/Auto* is supported on web","messagePattern":"Only FIFO/Auto\\* is supported on web","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"wgpu/src/backend/webgpu.rs","lineNumber":4372,"sourceCode":"        }\n    }\n\n    fn configure(&self, device: &dispatch::DispatchDevice, config: &crate::SurfaceConfiguration) {\n        let device = device.as_webgpu();\n\n        match self.canvas {\n            Canvas::Canvas(ref canvas) => {\n                canvas.set_width(config.width);\n                canvas.set_height(config.height);\n            }\n            Canvas::Offscreen(ref canvas) => {\n                canvas.set_width(config.width);\n                canvas.set_height(config.height);\n            }\n        }\n\n        if let wgt::PresentMode::Mailbox | wgt::PresentMode::Immediate = config.present_mode {\n            panic!(\"Only FIFO/Auto* is supported on web\");\n        }\n        if let wgt::CompositeAlphaMode::PostMultiplied | wgt::CompositeAlphaMode::Inherit =\n            config.alpha_mode\n        {\n            panic!(\"Only Opaque/Auto or PreMultiplied alpha mode are supported on web\");\n        }\n        let alpha_mode = match config.alpha_mode {\n            wgt::CompositeAlphaMode::PreMultiplied => webgpu_sys::GpuCanvasAlphaMode::Premultiplied,\n            _ => webgpu_sys::GpuCanvasAlphaMode::Opaque,\n        };\n        let mapped = webgpu_sys::GpuCanvasConfiguration::new(\n            &device.inner,\n            map_texture_format(config.format),\n        );\n        mapped.set_usage(config.usage.bits());\n        mapped.set_alpha_mode(alpha_mode);\n        match config.color_space {\n            // `Auto` intentionally keeps the browser defaults (colorSpace","sourceCodeStart":4354,"sourceCodeEnd":4390,"githubUrl":"https://github.com/gfx-rs/wgpu/blob/3e11ff59bf3f9795d285ecc045014089640d7248/wgpu/src/backend/webgpu.rs#L4354-L4390","documentation":"Panic during Surface::configure on the WebGPU backend: the requested PresentMode is Mailbox or Immediate, which browsers do not support (only FIFO family and Auto modes map to the web present model). The faulty input is config.present_mode.","triggerScenarios":"Thrown at wgpu/src/backend/webgpu.rs:4372 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use PresentMode::Fifo or an Auto mode when configuring surfaces on the web","Query supported present modes and fall back to FIFO before calling configure"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3e11ff59bf3f9795d285ecc045014089640d7248","analyzedAt":"2026-09-03T01:43:21.459Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-10T07:17:11.731Z"}