render/gles: add support for some 16-bpc unsigned shm formats

These formats require EXT_texture_norm16, which in turn needs OpenGL
ES 3.1. The EXT_texture_norm16 extension does not support passing
gl_internalformat = GL_RGBA to glTexImage2D, as can be done for
formats available in OpenGL ES 2.0, so this commit adds a field to
wlr_gles2_pixel_format to provide a more specific internalformat
parameter to glTexImage2D.
This commit is contained in:
Manuel Stoeckl 2022-04-30 22:43:49 -04:00 committed by Simon Ser
parent cb012c5cb5
commit 7ad67e0f1d
5 changed files with 42 additions and 1 deletions

View file

@ -765,6 +765,9 @@ struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_egl *egl) {
renderer->exts.OES_texture_half_float_linear =
check_gl_ext(exts_str, "GL_OES_texture_half_float_linear");
renderer->exts.EXT_texture_norm16 =
check_gl_ext(exts_str, "GL_EXT_texture_norm16");
if (check_gl_ext(exts_str, "GL_KHR_debug")) {
renderer->exts.KHR_debug = true;
load_gl_proc(&renderer->procs.glDebugMessageCallbackKHR,