diff options
author | Gert Wollny <[email protected]> | 2018-11-01 12:59:24 +0100 |
---|---|---|
committer | Gert Wollny <[email protected]> | 2018-11-02 11:52:44 +0100 |
commit | b8e9c6522d8d1bc78be2bf1b411b22cc6615dbdf (patch) | |
tree | b4e887c644c7c7a69a2759ff6d376b756683328d /src/mesa/main/formats.c | |
parent | 742dace8251b764775ee049cf529715f90afecc1 (diff) |
mesa/core: Add definitions and translations for EXT_texture_sRGB_R8
v2: - fix format definition line
- disable for desktop GL
- don't add GL_R8_EXT to glext.h since it is already in
GLES2/gl2ext.h in glext.h and include this header where needed
(all Emil)
v3: - swrast: Fill the function table for sRGB_R8
The size of the function table is checked at compile time and must
correspond to the number of mesa texture formats.
dri/swrast being gles-2.0 doesn't support the extension though
v4: - correct format layout comment (Ilia Mirkin)
- correct logic for accepting GL_RED only textures (in part Ilia Mirkin)
EXT_texture_sRGB_R8 requires OpenGL ES 3.0 which includes
ARB_texture_rg/EXT_texture_rg, so one only must check for the first
when SR8_EXT is really requested.
v5: - add define for GL_ES8_XT to glheader.h and don't include GLES
headers (Ilia Mirkin)
Signed-off-by: Gert Wollny <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/mesa/main/formats.c')
-rw-r--r-- | src/mesa/main/formats.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index d4cd5d2182c..cf2d2bc555a 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -1108,6 +1108,7 @@ _mesa_uncompressed_format_to_type_and_comps(mesa_format format, *comps = 4; return; case MESA_FORMAT_L_SRGB8: + case MESA_FORMAT_R_SRGB8: *datatype = GL_UNSIGNED_BYTE; *comps = 1; return; @@ -1670,6 +1671,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, (type == GL_UNSIGNED_SHORT_8_8_REV_MESA && littleEndian != swapBytes)); case MESA_FORMAT_R_UNORM8: + case MESA_FORMAT_R_SRGB8: return format == GL_RED && type == GL_UNSIGNED_BYTE; case MESA_FORMAT_R8G8_UNORM: return format == GL_RG && type == GL_UNSIGNED_BYTE && littleEndian; |