zed-industries/zed · error

Required feature StructuredBuffer is not supported by GPU/dr

Error message

Required feature StructuredBuffer is not supported by GPU/driver

What it means

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.

Source

Thrown at crates/gpui_windows/src/directx_devices.rs:190

    }
    let device = device.unwrap();
    let mut data = D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS::default();
    unsafe {
        device
            .CheckFeatureSupport(
                D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS,
                &mut data as *mut _ as _,
                std::mem::size_of::<D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS>() as u32,
            )
            .context("Checking GPU device feature support")?;
    }
    if data
        .ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x
        .as_bool()
    {
        Ok(device)
    } else {
        Err(anyhow::anyhow!(
            "Required feature StructuredBuffer is not supported by GPU/driver"
        ))
    }
}

View on GitHub (pinned to f4178619ac)

Solutions

  1. Request a higher D3D feature level when creating the device and retry.
  2. Fall back to another GPU adapter if multiple exist (get_adapter loop).
  3. Inform the user their GPU/driver is unsupported and suggest a driver update.
  4. Use a WARP/software adapter as a last-resort fallback.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/gpui_windows/src/directx_devices.rs:190 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20). Data as JSON: /api/errors/7cc98efaaead5e23. Report an issue: GitHub.