• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    EXT_pixel_format_float
4
5Name Strings
6
7    EGL_EXT_pixel_format_float
8
9Contributors
10
11    Tom Cooksey
12    Jesse Hall
13    Mathias Heyer
14    Adam Jackson
15    James Jones
16    Daniel Koch
17    Jeff Leger
18    Weiwan Liu
19    Jeff Vigil
20
21Contact
22
23    Weiwan Liu, NVIDIA (weiwliu 'at' nvidia.com)
24
25Status
26
27    Complete
28
29Version
30
31    Version 4 - Nov 22, 2016
32
33Number
34
35    EGL Extension #106
36
37Dependencies
38
39    This extension is written against the wording of the EGL 1.5 specification
40    (August 27, 2014).
41
42Overview
43
44    This extensions aims to provide similar functionality as GL_ARB_color_-
45    buffer_float, WGL_ARB_pixel_format_float and GLX_ARB_fbconfig_float. This
46    extension allows exposing new EGLConfigs that support formats with
47    floating-point RGBA components. This is done by introducing a new EGLConfig
48    attribute that represents the component type, i.e. fixed-point or
49    floating-point. Such new EGLConfigs can be used to create floating-point
50    rendering surfaces and contexts.
51
52New Types
53
54    None
55
56New Procedures and Functions
57
58    None
59
60New Tokens
61
62    Accepted as an attribute name in the <attrib_list> argument of
63    eglChooseConfig, and the <attribute> argument of eglGetConfigAttrib:
64
65        EGL_COLOR_COMPONENT_TYPE_EXT              0x3339
66
67    Accepted as attribute values for the EGL_COLOR_COMPONENT_TYPE_EXT attribute
68    of eglChooseConfig:
69
70        EGL_COLOR_COMPONENT_TYPE_FIXED_EXT        0x333A
71        EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT        0x333B
72
73    Additions to table 3.1, "EGLConfig attributes" in Section 3.4 "Configuration
74    Management":
75
76        Attribute                       Type       Notes
77        ---------                       ----       ---------
78        EGL_COLOR_COMPONENT_TYPE_EXT     enum       color component type
79
80    Append one paragraph at the end of "The Color Buffer" section on page 21:
81
82        EGL_COLOR_COMPONENT_TYPE_EXT indicates the color buffer component type,
83        and must be either EGL_COLOR_COMPONENT_TYPE_FIXED_EXT for fixed-point
84        color buffers, or EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT for floating-point
85        color buffers.
86
87    Add one entry to Table 3.4 and increment "Sort Priority" between "2" and
88    "11" by one for existing entries:
89
90        Attribute                      Default
91        -----------                    ------------
92        EGL_COLOR_COMPONENT_TYPE_EXT    EGL_COLOR_COMPONENT_TYPE_FIXED_EXT
93
94        Selection Criteria    Sort Order    Priority
95        ------------------    ----------    --------
96        Exact                 Special        2
97
98    Insert before the entry for EGL_COLOR_BUFFER_TYPE, and increment its
99    numbering and subsequent numbering by one:
100
101        2. Special: by EGL_COLOR_COMPONENT_TYPE_EXT where the precedence is
102        EGL_COLOR_COMPONENT_TYPE_FIXED_EXT, EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT
103
104    Change footnote 8 on page 30 to:
105
106        Within the same EGL_COLOR_COMPONENT_TYPE_EXT, this rule places configs
107        with deeper color buffers first in the list returned by
108        eglChooseConfig...
109
110Issues
111
112    1. When reading from or rendering to a floating-point EGL surface, is there
113       any clamping performed on the values?
114
115       RESOLVED: It depends on the behavior of the client API. For example, in
116       OpenGL and ES, by default no clamping will be done on the floating-point
117       values, unless the clamping behavior is changed via the client API.
118
119    2. When rendering to a floating-point EGL surface, since values may not be
120       clamped to [0, 1], what is the range of values that applications can use
121       to get display's "darkest black" and "brightest white"?
122
123       RESOLVED: It is not in the scope of this extension to define a range of
124       values that corresponds to display's capability. Please refer to the EGL
125       specification for the chosen colorspace (EGL_GL_COLORSPACE), where such a
126       reference range may be defined.
127
128Revision History
129
130    Rev.     Date        Author          Changes
131    ----   --------  ---------------  ------------------------------------------
132     1     12/11/15   Weiwan Liu      Initial version
133     2     05/18/16   Weiwan Liu      Rename to EXT
134     3     05/31/16   Weiwan Liu      Add issues
135     4     11/22/16   Weiwan Liu      Change status to complete
136
137