LibWeb: Implement GLES2 context creation

For now only macOS is supported.

IOSurface is used as a backing store because it will allow us to read
it from Skia and write to it from OpenGL without any extra copying:
- ANGLE_metal_texture_client_buffer extension is used to create
  EGLSurface from IOSurface.
- Then the same IOSurface is wrapped into Metal texture and passed to
  Skia allowing to share the same memory between Skia Metal backend and
  ANGLE.
This commit is contained in:
Aliaksandr Kalenik 2024-11-29 22:15:02 +01:00 committed by Alexander Kalenik
commit 38488b9ef3
Notes: github-actions[bot] 2024-12-03 22:37:28 +00:00
5 changed files with 223 additions and 19 deletions

View file

@ -33,6 +33,7 @@ public:
bool is_context_lost() const;
RefPtr<Gfx::PaintingSurface> surface();
void allocate_painting_surface_if_needed();
void set_size(Gfx::IntSize const&);
void reset_to_default_state();