gfx-rs/wgpu · error

Could not create shader program

Error message

Could not create shader program

What it means

Panic in the GLES adapter's internal clear-shader setup: gl.create_program returned no program object for the shader-clear program, meaning the GL context refused program creation (context lost or resource exhaustion).

Source

Thrown at wgpu-hal/src/gles/adapter.rs:1040

        unsafe { gl.compile_shader(shader) };

        if !unsafe { gl.get_shader_compile_status(shader) } {
            let msg = unsafe { gl.get_shader_info_log(shader) };
            if !msg.is_empty() {
                log::error!("\tShader compile error: {msg}");
            }
            unsafe { gl.delete_shader(shader) };
            None
        } else {
            Some(shader)
        }
    }

    unsafe fn create_shader_clear_program(
        gl: &glow::Context,
        es: bool,
    ) -> Option<ShaderClearProgram> {
        let program = unsafe { gl.create_program() }.expect("Could not create shader program");
        let vertex = unsafe {
            Self::compile_shader(
                include_str!("./shaders/clear.vert"),
                gl,
                glow::VERTEX_SHADER,
                es,
            )?
        };
        let fragment = unsafe {
            Self::compile_shader(
                include_str!("./shaders/clear.frag"),
                gl,
                glow::FRAGMENT_SHADER,
                es,
            )?
        };
        unsafe { gl.attach_shader(program, vertex) };
        unsafe { gl.attach_shader(program, fragment) };

View on GitHub (pinned to 3e11ff59bf)

Solutions

  1. Retry once the GL context is available again
  2. Reduce GL resource pressure or recreate the context if creation keeps failing
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at wgpu-hal/src/gles/adapter.rs:1040 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of gfx-rs/wgpu@3e11ff59bf (2026-09-03). Data as JSON: /api/errors/122c3325d37bdac2. Report an issue: GitHub.