Name EXT_pixel_format_float Name Strings EGL_EXT_pixel_format_float Contributors Tom Cooksey Jesse Hall Mathias Heyer Adam Jackson James Jones Daniel Koch Jeff Leger Weiwan Liu Jeff Vigil Contact Weiwan Liu, NVIDIA (weiwliu 'at' nvidia.com) Status Complete Version Version 4 - Nov 22, 2016 Number EGL Extension #106 Dependencies This extension is written against the wording of the EGL 1.5 specification (August 27, 2014). Overview This extensions aims to provide similar functionality as GL_ARB_color_- buffer_float, WGL_ARB_pixel_format_float and GLX_ARB_fbconfig_float. This extension allows exposing new EGLConfigs that support formats with floating-point RGBA components. This is done by introducing a new EGLConfig attribute that represents the component type, i.e. fixed-point or floating-point. Such new EGLConfigs can be used to create floating-point rendering surfaces and contexts. New Types None New Procedures and Functions None New Tokens Accepted as an attribute name in the argument of eglChooseConfig, and the argument of eglGetConfigAttrib: EGL_COLOR_COMPONENT_TYPE_EXT 0x3339 Accepted as attribute values for the EGL_COLOR_COMPONENT_TYPE_EXT attribute of eglChooseConfig: EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B Additions to table 3.1, "EGLConfig attributes" in Section 3.4 "Configuration Management": Attribute Type Notes --------- ---- --------- EGL_COLOR_COMPONENT_TYPE_EXT enum color component type Append one paragraph at the end of "The Color Buffer" section on page 21: EGL_COLOR_COMPONENT_TYPE_EXT indicates the color buffer component type, and must be either EGL_COLOR_COMPONENT_TYPE_FIXED_EXT for fixed-point color buffers, or EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT for floating-point color buffers. Add one entry to Table 3.4 and increment "Sort Priority" between "2" and "11" by one for existing entries: Attribute Default ----------- ------------ EGL_COLOR_COMPONENT_TYPE_EXT EGL_COLOR_COMPONENT_TYPE_FIXED_EXT Selection Criteria Sort Order Priority ------------------ ---------- -------- Exact Special 2 Insert before the entry for EGL_COLOR_BUFFER_TYPE, and increment its numbering and subsequent numbering by one: 2. Special: by EGL_COLOR_COMPONENT_TYPE_EXT where the precedence is EGL_COLOR_COMPONENT_TYPE_FIXED_EXT, EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT Change footnote 8 on page 30 to: Within the same EGL_COLOR_COMPONENT_TYPE_EXT, this rule places configs with deeper color buffers first in the list returned by eglChooseConfig... Issues 1. When reading from or rendering to a floating-point EGL surface, is there any clamping performed on the values? RESOLVED: It depends on the behavior of the client API. For example, in OpenGL and ES, by default no clamping will be done on the floating-point values, unless the clamping behavior is changed via the client API. 2. When rendering to a floating-point EGL surface, since values may not be clamped to [0, 1], what is the range of values that applications can use to get display's "darkest black" and "brightest white"? RESOLVED: It is not in the scope of this extension to define a range of values that corresponds to display's capability. Please refer to the EGL specification for the chosen colorspace (EGL_GL_COLORSPACE), where such a reference range may be defined. Revision History Rev. Date Author Changes ---- -------- --------------- ------------------------------------------ 1 12/11/15 Weiwan Liu Initial version 2 05/18/16 Weiwan Liu Rename to EXT 3 05/31/16 Weiwan Liu Add issues 4 11/22/16 Weiwan Liu Change status to complete