• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    MESA_bgra
4
5Name Strings
6
7    GL_MESA_bgra
8
9Contact
10
11    Gert Wollny (gert.wollny 'at' collabora.com)
12
13Notice
14
15    Copyright (c) 2021 Collabora LTD
16    Copyright (c) 2009-2013 The Khronos Group Inc. Copyright terms at
17        http://www.khronos.org/registry/speccopyright.html
18
19Version
20
21    Version 1, 2021/04/30.
22    Based on EXT_bgra version 1, modified 1997/05/19.
23
24Number
25
26    TBD
27
28Dependencies
29
30    OpenGL ES 2.0 is required.
31    Written based on the wording of the OpenGL ES 3.2 specification.
32    There are interactions with the extensions EXT_clear_texture.
33
34Overview
35
36    MESA_bgra extends the list of combinations host-memory color formats
37    with internal formats to include BGRA and BGR as acceptable formats
38    with RGB8/SRGB8 and RGBA/sRGB8_ALPHA8 as internal formats respectively.
39    This feature is of interest in virtualized environments, where the host
40    supports OpenGL ES only, and the virtualized guest is supposed to support
41    a subset of OpenGL including textures created with the format BGRA.
42
43IP Status
44
45    Open-source; freely implementable.
46
47Issues
48
49    None.
50
51New Procedures and Functions
52
53    None
54
55New Tokens
56
57   Accepted by the <format> parameter of TexImage2D and TexSubImage2D:
58
59       GL_BGR_EXT                                      0x80E0
60       GL_BGRA_EXT                                     0x80E1
61
62Additions to Chapter 8 of the GLES 3.2 Specification (Textures and Samplers)
63
64    Add to table 8.2 (Pixels data formats, valid combinations of format,
65    type, and unsized internalformat).
66
67      Format     Type            External          Internal Format
68                                  Bytes
69                                per Pixel
70      -------------------------------------------------------------
71      BGRA      UNSIGNED_BYTE        4                   RGBA
72      BGR       UNSIGNED_BYTE        3                   RGB
73
74
75
76    Add to table 8.5 (Pixels data formats).
77
78      Format Name   Elements Meaning and Order    Target Buffer
79      -------------------------------------------------------------
80      BGR_EXT                 B, G, R                Color
81      BGRA_EXT               B, G, R, A              Color
82
83
84    Add to table 8.9 (Effective internal format correspondig to
85    external format).
86
87      Format        Type                          Effective
88                                                Internal format
89      -------------------------------------------------------------
90      BGRA_EXT       UNSIGNED_BYTE                  RGBA8
91      BGR_EXT        UNSIGNED_BYTE                  RGB8
92
93Interactions with EXT_clear_texture
94
95    When EXT_clear_texture is supported the accepted formats for
96    ClearTextureEXT and ClearSubTextureEXT are extended to include
97    the entries added above.
98
99
100Revision History
101
102    Original draft, revision 1.0, May 4, 2021 (Gert Wollny)
103       rewrite EXT_bgra against OpenGL ES 3.2 instead of OpenGL 1,0.
104
105    Revision 1.1 (May 5. 2021): Add the new tokens, and fix
106       Clear*Texture function names.
107