{"record":{"id":"99a9efd76f392a80","repo":"zed-industries/zed","slug":"surface-reports-no-supported-alpha-modes-for-adapt","errorCode":null,"errorMessage":"Surface reports no supported alpha modes for adapter {:?}","messagePattern":"Surface reports no supported alpha modes for adapter (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/gpui_wgpu/src/wgpu_renderer.rs","lineNumber":375,"sourceCode":"            .copied()\n            .or_else(|| surface_caps.formats.iter().find(|f| !f.is_srgb()).copied())\n            .or_else(|| surface_caps.formats.first().copied())\n            .ok_or_else(|| {\n                anyhow::anyhow!(\n                    \"Surface reports no supported texture formats for adapter {:?}\",\n                    context.adapter.get_info().name\n                )\n            })?;\n\n        let pick_alpha_mode =\n            |preferences: &[wgpu::CompositeAlphaMode]| -> anyhow::Result<wgpu::CompositeAlphaMode> {\n                preferences\n                    .iter()\n                    .find(|p| surface_caps.alpha_modes.contains(p))\n                    .copied()\n                    .or_else(|| surface_caps.alpha_modes.first().copied())\n                    .ok_or_else(|| {\n                        anyhow::anyhow!(\n                            \"Surface reports no supported alpha modes for adapter {:?}\",\n                            context.adapter.get_info().name\n                        )\n                    })\n            };\n\n        let transparent_alpha_mode = pick_alpha_mode(&[\n            wgpu::CompositeAlphaMode::PreMultiplied,\n            wgpu::CompositeAlphaMode::Inherit,\n        ])?;\n\n        let opaque_alpha_mode = pick_alpha_mode(&[\n            wgpu::CompositeAlphaMode::Opaque,\n            wgpu::CompositeAlphaMode::Inherit,\n        ])?;\n\n        let alpha_mode = if config.transparent {\n            transparent_alpha_mode","sourceCodeStart":357,"sourceCodeEnd":393,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/gpui_wgpu/src/wgpu_renderer.rs#L357-L393","documentation":"Raised in the internal `WgpuRenderer` constructor when the surface's supported alpha modes list is empty, so no CompositeAlphaMode (PreMultiplied/PostMultiplied preferred) can be selected. Indicates a broken adapter/surface pairing, similar to the no-formats case.","triggerScenarios":"Thrown at crates/gpui_wgpu/src/wgpu_renderer.rs:375 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Recreate the surface and adapter pairing; an empty alpha mode list indicates an invalid surface state.","Default to CompositeAlphaMode::Auto when capabilities are suspect.","Verify against wgpu version-specific backend bugs (e.g. certain Wayland/GL surfaces).","Report the adapter backend/name in the error context for debugging."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}