{"record":{"id":"7cc98efaaead5e23","repo":"zed-industries/zed","slug":"required-feature-structuredbuffer-is-not-supported","errorCode":null,"errorMessage":"Required feature StructuredBuffer is not supported by GPU/driver","messagePattern":"Required feature StructuredBuffer is not supported by GPU/driver","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/gpui_windows/src/directx_devices.rs","lineNumber":190,"sourceCode":"    }\n    let device = device.unwrap();\n    let mut data = D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS::default();\n    unsafe {\n        device\n            .CheckFeatureSupport(\n                D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS,\n                &mut data as *mut _ as _,\n                std::mem::size_of::<D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS>() as u32,\n            )\n            .context(\"Checking GPU device feature support\")?;\n    }\n    if data\n        .ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x\n        .as_bool()\n    {\n        Ok(device)\n    } else {\n        Err(anyhow::anyhow!(\n            \"Required feature StructuredBuffer is not supported by GPU/driver\"\n        ))\n    }\n}\n","sourceCodeStart":172,"sourceCodeEnd":195,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/gpui_windows/src/directx_devices.rs#L172-L195","documentation":"Raised in `get_device` (via get_adapter) after D3D11CreateDevice succeeds but `CheckFeatureSupport(D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS)` reports ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x is false: the GPU/driver is below the feature level the DirectX renderer requires (compute shaders and structured buffers), so rendering cannot proceed on this device.","triggerScenarios":"Thrown at crates/gpui_windows/src/directx_devices.rs:190 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Request a higher D3D feature level when creating the device and retry.","Fall back to another GPU adapter if multiple exist (get_adapter loop).","Inform the user their GPU/driver is unsupported and suggest a driver update.","Use a WARP/software adapter as a last-resort fallback."],"exampleFix":null,"handlingStrategy":"fallback","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"}