render/gles2: setup PBO extensions

This commit is contained in:
Simon Ser 2021-02-16 16:24:24 +01:00
parent 989301a89b
commit ff1028b545
2 changed files with 18 additions and 0 deletions

View file

@ -48,6 +48,9 @@ struct wlr_gles2_renderer {
bool EXT_texture_type_2_10_10_10_REV;
bool OES_texture_half_float_linear;
bool EXT_texture_norm16;
bool NV_pixel_buffer_object;
bool OES_mapbuffer;
bool EXT_map_buffer_range;
} exts;
struct {
@ -57,6 +60,8 @@ struct wlr_gles2_renderer {
PFNGLPOPDEBUGGROUPKHRPROC glPopDebugGroupKHR;
PFNGLPUSHDEBUGGROUPKHRPROC glPushDebugGroupKHR;
PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC glEGLImageTargetRenderbufferStorageOES;
PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRangeEXT;
PFNGLUNMAPBUFFEROESPROC glUnmapBufferOES;
} procs;
struct {

View file

@ -780,6 +780,19 @@ struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_egl *egl) {
"glEGLImageTargetRenderbufferStorageOES");
}
renderer->exts.NV_pixel_buffer_object =
check_gl_ext(exts_str, "GL_NV_pixel_buffer_object");
if (check_gl_ext(exts_str, "GL_OES_mapbuffer")) {
renderer->exts.OES_mapbuffer = true;
load_gl_proc(&renderer->procs.glUnmapBufferOES, "glUnmapBufferOES");
}
if (check_gl_ext(exts_str, "GL_EXT_map_buffer_range")) {
renderer->exts.EXT_map_buffer_range = true;
load_gl_proc(&renderer->procs.glMapBufferRangeEXT,
"glMapBufferRangeEXT");
}
if (renderer->exts.KHR_debug) {
glEnable(GL_DEBUG_OUTPUT_KHR);
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR);