blob: de2f6d8c13487a70f001468fc9e2edd5f7b17c85 [file] [log] [blame]
Name
EXT_present_opaque
Name Strings
EGL_EXT_present_opaque
Contributors
Eric Engestrom
Contacts
Eric Engestrom (eric 'at' engestrom.ch)
IP Status
No known IP claims.
Status
Complete
Version
#1, August 8, 2021
Number
EGL Extension #146
Extension Type
EGL display extension
Dependencies
Requires EGL 1.4 and EGL_KHR_image_base extension
This extension is written against the wording of the EGL 1.4
specification, and EGL_KHR_image_base version 6.
Overview
This extension adds a new EGL surface attribute EGL_PRESENT_OPAQUE_EXT
to indicate that the surface should be presented as opaque,
disregarding any alpha channel if present.
If surface attribute EGL_PRESENT_OPAQUE_EXT is EGL_TRUE, then the
surface will be presented as opaque.
New Types
None
New Procedures and Functions
None
New Tokens
New EGLSurface attribute name:
EGL_PRESENT_OPAQUE_EXT 0x31DF
Additions to Chapter 3 of the EGL 1.4 Specification (Rendering Surfaces)
Change the second paragraph in section 3.5 on p. 28 (describing
eglCreateWindowSurface):
"Attributes that can be specified in attrib list include EGL_RENDER_BUFFER,
EGL_PRESENT_OPAQUE_EXT, EGL_VG_COLORSPACE, and EGL_VG_ALPHA_FORMAT."
Add the following paragraph in section 3.5 on p. 28 before
"EGL_VG_COLORSPACE specifies the color space used by OpenVG"
(describing eglCreateWindowSurface attrib_list):
"EGL_PRESENT_OPAQUE_EXT specifies the presentation opacity mode
of the window surface. If its value is EGL_TRUE, then the
surface's alpha channel (if any) will be ignored and considered
fully opaque. If its value is EGL_FALSE, then the compositor
doesn't change its behaviour, and considers the surface's alpha
channel the same way as if the extension wasn't implemented. The
default value of EGL_PRESENT_OPAQUE_EXT is EGL_FALSE."
Add to Table 3.5: Queryable surface attributes and types on p. 37
EGL_PRESENT_OPAQUE_EXT boolean Surface presentation opacity mode
Add following the second paragraph in section 3.6 on p. 39 (describing
eglQuerySurface):
"Querying EGL_PRESENT_OPAQUE_EXT returns the presentation
opacity mode of the surface. The presentation opacity mode of
window surfaces is specified in eglCreateWindowSurface. The
presentation opacity mode of pbuffer and pixmap surfaces is
always EGL_FALSE."
Add following after "which must be a valid native pixmap handle." in section 3.9.2 on
p. 53 (describing eglCopyBuffers):
"If attribute EGL_PRESENT_OPAQUE_EXT of surface has value of EGL_TRUE, then
an EGL_BAD_ACCESS error is returned."
Issues
None
Revision History
Version 2, 2021-08-17 (Eric Engestrom)
- Re-worded the compositor's behaviour for EGL_FALSE.
- Marked extension as Complete.
Version 1, 2021-08-08 (Eric Engestrom)
- Initial draft