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