forked from Qortal/Brooklyn
107 lines
3.0 KiB
Plaintext
107 lines
3.0 KiB
Plaintext
|
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.
|