diff options
Diffstat (limited to 'glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_bind_to_front.txt')
-rw-r--r-- | glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_bind_to_front.txt | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_bind_to_front.txt b/glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_bind_to_front.txt new file mode 100644 index 0000000..e83f9c9 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_bind_to_front.txt @@ -0,0 +1,108 @@ +Name + + EXT_bind_to_front + +Name Strings + + EGL_EXT_bind_to_front + + +Contributors + + Daniel Herring + +Contacts + + Daniel Herring, Core Avionics & Industrial Inc., daniel dot herring at ch1group dot com + +Status + + Complete + +Version + + Version 1.0, February 21, 2017 + +Number + + EGL Extension #121 + +Dependencies + + Requires EGL 1.2. + +Overview + + This extension allows for using double buffered Pbuffers for rendering to textures, by + allowing a new enumeration to be used in eglBindTexImage. EGL_FRONT_BUFFER_EXT is used + to denote reading the textures data from the front buffer of a double buffered Pbuffer. + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + EGL_FRONT_BUFFER_EXT 0x3464 + +Modify Section 3.6.1 of the EGL 1.2 Specification, paragraph 1 + Add EGL_FRONT_BUFFER_EXT to list of acceptable values for buffer attribute. + +Modify Section 3.6.2 of the EGL 1.2 Specification, paragraph 5 + Add EGL_FRONT_BUFFER_EXT to list of acceptable values for buffer attribute. + +Modify Section 3.5.2 of the EGL 1.2 Specification, paragraph 4 + Add EGL_RENDER_BUFFER to list of attributes which can be accepted in attrib_list. + +Add to Section 3.5.2 of the EGL 1.2 Specification + EGL_RENDER_BUFFER specifies the number of color buffers which should be useable by the + client API rendering to the Pbuffer. If its value is EGL_SINGLE_BUFFER, then there is + one color buffer the client APIs will render to directly. If its value is EGL_BACK_BUFFER, + then there are at least two color buffers the client API can render to. eglSwapBuffers + is used to switch which color buffer is currently being rendered to. By default, all + client APIs should render into the back buffer. The default value of EGL_RENDER_BUFFER + is EGL_SINGLE_BUFFER. + +Modify Section 2.2.2 of the EGL 1.2 Specification, paragraph 2 + Pbuffer surfaces have a back buffer but no associated window, so the back buffer + need not be copied. + Change to: + Pbuffer surfaces have no associated window, and include a back buffer, used by + default, for rendering to by the client API. Pbuffers may have a front buffer + used during render to texture operations to provide a read only texture which may + be used while the back buffer is being rendered to. + +Modify Section 3.5.6 + Querying EGL RENDER BUFFER returns the buffer which client API rendering + is requested to use. For a window surface, this is the same attribute value + specified when the surface was created. For a Pbuffer surface, it is always + EGL BACK BUFFER. For a pixmap surface, it is always EGL SINGLE BUFFER. To + determine the actual buffer being rendered to by a context, call eglQueryContext + (see section 3.7.4). + + Change to: + Querying EGL RENDER BUFFER returns the buffer which client API rendering + is requested to use. For a window surface or Pbuffer surface, this is the + same attribute value specified when the surface was created. For a pixmap + surface, it is always EGL SINGLE BUFFER. To determine the actual buffer being + rendered to by a context, call eglQueryContext (see section 3.7.4). + +Revision History + Version 1.0, 21/02/2017 - Initial Version + +Question: + What if the implementation already uses double buffering for single buffered PBuffers? + Such as when an implementation must insert a resolve to a texture instead of being + able to use the same memory. +Answer: + EGL_BACK_BUFFER would still refer to the resolved buffer. But in the case of the a + double buffer EGL_FRONT_BUFFER should be used to reference the resolved buffer instead + of EGL_BACK_BUFFER as in this case the user has specified 2 buffers and knows they want + the resolved buffer. + In the double buffer case where only a back draw and a front resolved buffer is used + the implementation may not support EGL_BACK_BUFFER and should generate an EGL_BAD_ + PARAMETER error when not supporting EGL_BACK_BUFFER texture binding. |