blob: 05de73593a073db43cff3caa9c21747899f02c10 [file] [log] [blame]
Name
MESA_bgra
Name Strings
GL_MESA_bgra
Contact
Gert Wollny (gert.wollny 'at' collabora.com)
Notice
Copyright (c) 2021 Collabora LTD
Copyright (c) 2009-2013 The Khronos Group Inc. Copyright terms at
http://www.khronos.org/registry/speccopyright.html
Version
Version 1, 2021/04/30.
Based on EXT_bgra version 1, modified 1997/05/19.
Number
TBD
Dependencies
OpenGL ES 2.0 is required.
Written based on the wording of the OpenGL ES 3.2 specification.
There are interactions with the extensions EXT_clear_texture.
Overview
MESA_bgra extends the list of combinations host-memory color formats
with internal formats to include BGRA and BGR as acceptable formats
with RGB8/SRGB8 and RGBA/sRGB8_ALPHA8 as internal formats respectively.
This feature is of interest in virtualized environments, where the host
supports OpenGL ES only, and the virtualized guest is supposed to support
a subset of OpenGL including textures created with the format BGRA.
IP Status
Open-source; freely implementable.
Issues
None.
New Procedures and Functions
None
New Tokens
Accepted by the <format> parameter of TexImage2D and TexSubImage2D:
GL_BGR_EXT 0x80E0
GL_BGRA_EXT 0x80E1
Additions to Chapter 8 of the GLES 3.2 Specification (Textures and Samplers)
Add to table 8.2 (Pixels data formats, valid combinations of format,
type, and unsized internalformat).
Format Type External Internal Format
Bytes
per Pixel
-------------------------------------------------------------
BGRA UNSIGNED_BYTE 4 RGBA
BGR UNSIGNED_BYTE 3 RGB
Add to table 8.5 (Pixels data formats).
Format Name Elements Meaning and Order Target Buffer
-------------------------------------------------------------
BGR_EXT B, G, R Color
BGRA_EXT B, G, R, A Color
Add to table 8.9 (Effective internal format correspondig to
external format).
Format Type Effective
Internal format
-------------------------------------------------------------
BGRA_EXT UNSIGNED_BYTE RGBA8
BGR_EXT UNSIGNED_BYTE RGB8
Interactions with EXT_clear_texture
When EXT_clear_texture is supported the accepted formats for
ClearTextureEXT and ClearSubTextureEXT are extended to include
the entries added above.
Revision History
Original draft, revision 1.0, May 4, 2021 (Gert Wollny)
rewrite EXT_bgra against OpenGL ES 3.2 instead of OpenGL 1,0.
Revision 1.1 (May 5. 2021): Add the new tokens, and fix
Clear*Texture function names.