Skip to content

Commit d733bf5

Browse files
Lubrsiawesomekling
authored andcommitted
LibWeb/WebGL: Avoid copying canvas surface when uploading it
1 parent d65f0e4 commit d733bf5

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

Libraries/LibWeb/WebGL/WebGLRenderingContextBase.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,8 @@ Optional<WebGLRenderingContextBase::ConvertedTexture> WebGLRenderingContextBase:
128128
[](GC::Root<HTML::HTMLCanvasElement> const& source) -> RefPtr<Gfx::ImmutableBitmap> {
129129
auto surface = source->surface();
130130
if (!surface)
131-
return {};
132-
auto bitmap = MUST(Gfx::Bitmap::create(Gfx::BitmapFormat::RGBA8888, Gfx::AlphaType::Premultiplied, surface->size()));
133-
surface->read_into_bitmap(*bitmap);
134-
return Gfx::ImmutableBitmap::create(*bitmap);
131+
return Gfx::ImmutableBitmap::create(*source->get_bitmap_from_surface());
132+
return Gfx::ImmutableBitmap::create_snapshot_from_painting_surface(*surface);
135133
},
136134
[](GC::Root<HTML::OffscreenCanvas> const& source) -> RefPtr<Gfx::ImmutableBitmap> {
137135
return Gfx::ImmutableBitmap::create(*source->bitmap());

0 commit comments

Comments
 (0)