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
- Retry once the GL context is available again
- 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.