diff --git a/wgpu-hal/src/gles/web.rs b/wgpu-hal/src/gles/web.rs index 2fd0351c29..6d531dd797 100644 --- a/wgpu-hal/src/gles/web.rs +++ b/wgpu-hal/src/gles/web.rs @@ -188,10 +188,12 @@ impl crate::Surface for Surface { self.present_program = Some(Self::create_present_program(gl)); } - if self.texture.is_none() { - self.texture = Some(gl.create_texture().unwrap()); + if let Some(texture) = self.texture.take() { + gl.delete_texture(texture); } + self.texture = Some(gl.create_texture().unwrap()); + let desc = device.shared.describe_texture_format(config.format); gl.bind_texture(glow::TEXTURE_2D, self.texture); gl.tex_parameter_i32(