Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 0c1782f

Browse files
committed
Fix incorrect texture format with OpenGL ES
1 parent 122c99d commit 0c1782f

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

shell/platform/linux/fl_backing_store_provider.cc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,11 @@ uint32_t fl_backing_store_provider_get_gl_target(FlBackingStoreProvider* self) {
7878
}
7979

8080
uint32_t fl_backing_store_provider_get_gl_format(FlBackingStoreProvider* self) {
81-
return GL_RGBA8;
81+
if (epoxy_is_desktop_gl()) {
82+
return GL_RGBA8;
83+
} else {
84+
return GL_BGRA8_EXT;
85+
}
8286
}
8387

8488
GdkRectangle fl_backing_store_provider_get_geometry(

shell/platform/linux/fl_renderer_gl.cc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ static gboolean fl_renderer_gl_create_backing_store(
6161
backing_store_out->open_gl.framebuffer.user_data = provider;
6262
backing_store_out->open_gl.framebuffer.name = name;
6363
backing_store_out->open_gl.framebuffer.target = format;
64+
backing_store_out->open_gl.framebuffer.destruction_callback = [](void* p) {
65+
// backing store is destroyed in fl_renderer_gl_collect_backing_store ().
66+
};
6467

6568
return TRUE;
6669
}

shell/platform/linux/testing/mock_epoxy.cc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,18 @@ static void _glTexImage2D(GLenum target,
374374
GLenum type,
375375
const void* pixels) {}
376376

377+
bool epoxy_has_gl_extension(const char* extension) {
378+
return false;
379+
}
380+
381+
bool epoxy_is_desktop_gl(void) {
382+
return false;
383+
}
384+
385+
int epoxy_gl_version(void) {
386+
return 0;
387+
}
388+
377389
#ifdef __GNUC__
378390
#define CONSTRUCT(_func) static void _func(void) __attribute__((constructor));
379391
#define DESTRUCT(_func) static void _func(void) __attribute__((destructor));

0 commit comments

Comments
 (0)