gfx-rs/wgpu · error

not implemented

Error message

not implemented

What it means

Panic inside the GLES queue's texture-to-buffer copy processing (process, reached from submit): the encountered copy/emulated path has no GL implementation yet, so the unreachable arm aborts mid-command-replay during submission.

Source

Thrown at wgpu-hal/src/gles/queue.rs:1019

                        read_pixels(copy.buffer_layout.offset);
                    }
                    glow::TEXTURE_3D => {
                        for z in copy.texture_base.origin.z..copy.size.depth {
                            unsafe {
                                gl.framebuffer_texture_layer(
                                    glow::READ_FRAMEBUFFER,
                                    glow::COLOR_ATTACHMENT0,
                                    Some(src),
                                    copy.texture_base.mip_level as i32,
                                    z as i32,
                                )
                            };
                            let offset = copy.buffer_layout.offset
                                + (z * block_size * row_texels * column_texels) as u64;
                            read_pixels(offset);
                        }
                    }
                    glow::TEXTURE_CUBE_MAP | glow::TEXTURE_CUBE_MAP_ARRAY => unimplemented!(),
                    _ => unreachable!(),
                }
            }
            C::SetIndexBuffer(buffer) => {
                unsafe { gl.bind_buffer(glow::ELEMENT_ARRAY_BUFFER, Some(buffer)) };
                let mut current_index_buffer = self.current_index_buffer.lock();
                *current_index_buffer = Some(buffer);
            }
            C::BeginQuery(query, target) => {
                unsafe { gl.begin_query(target, query) };
            }
            C::EndQuery(target) => {
                unsafe { gl.end_query(target) };
            }
            C::TimestampQuery(query) => {
                unsafe { gl.query_counter(query, glow::TIMESTAMP) };
            }
            C::CopyQueryResults {

View on GitHub (pinned to 3e11ff59bf)

Solutions

  1. Avoid the unsupported copy pattern on GLES (e.g. restructure copies to 2D or use renderpass-based paths)
  2. File an issue with the exact copy configuration so the gap can be implemented
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at wgpu-hal/src/gles/queue.rs:1019 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/be201dad56b56023. Report an issue: GitHub.