mesa: Expose GL_OES_required_internalformat on GLES contexts.
authorEric Anholt <eric@anholt.net>
Mon, 1 May 2017 16:28:33 +0000 (09:28 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 10 Oct 2017 16:31:29 +0000 (09:31 -0700)
commitc16a7443e9999a80bc1e87134297f96f1216d702
tree6608a2a5e3341e15367572dcab721e4d52baee9c
parentcee5585da7e8a164952347c8dbf72844cad85d9d
mesa: Expose GL_OES_required_internalformat on GLES contexts.

This extension is effectively a backport of GLES3's internalformat
handling to GLES 1/2.  It guarantees that sized internalformats specified
for textures and renderbuffers have at least the specified size stored.
That's a pretty minimal requirement, so I think it can be dummy_true and
exposed as a standard in Mesa.

As a side effect, it also allows GL_RGB565 to be specified as a texture
format, not just as a renderbuffer.  Mesa had previously been allowing 565
textures, which angered DEQP in the absence of this extension being
exposed.

v2: Allow 2101010rev with sized internalformats even on GLES3, citing the
    extension spec.  Extend extension checks for GLES2 contexts exposing
    with texture_float, texture_half_float, and texture_rg.
v3: Fix ALPHA/LUMINANCE/LUMINANCE_ALPHA error checking (GLES3 CTS
    failures)
v4: Mark GL_RGB10 non-color-renderable on ES, fix A/L/LA errors on GLES2
    with float formats.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
docs/features.txt
src/mesa/main/extensions_table.h
src/mesa/main/fbobject.c
src/mesa/main/glformats.c
src/mesa/main/teximage.c