render/gles2: add a few 10-bit and FP16 formats

The half-float formats depend on GL_OES_texture_half_float_linear,
not just the GL_OES_texture_half_float extension, because the latter
does not include support for linear magni/minification filters.

The new 2101010 and 16161616F formats are only available on little-
endian builds, since their gl_types are larger than a byte and thus
endianness dependent.
This commit is contained in:
Manuel Stoeckl 2021-07-29 23:55:57 -04:00 committed by Simon Ser
parent 44e8451cd9
commit f5df956c18
3 changed files with 40 additions and 1 deletions

View file

@ -749,6 +749,12 @@ struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_egl *egl) {
renderer->exts.EXT_read_format_bgra =
check_gl_ext(exts_str, "GL_EXT_read_format_bgra");
renderer->exts.EXT_texture_type_2_10_10_10_REV =
check_gl_ext(exts_str, "GL_EXT_texture_type_2_10_10_10_REV");
renderer->exts.OES_texture_half_float_linear =
check_gl_ext(exts_str, "GL_OES_texture_half_float_linear");
if (check_gl_ext(exts_str, "GL_KHR_debug")) {
renderer->exts.KHR_debug = true;
load_gl_proc(&renderer->procs.glDebugMessageCallbackKHR,