summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2015-02-16 13:31:10 (GMT)
committerJonny Lamb <jonny.lamb@collabora.co.uk>2015-02-16 13:31:10 (GMT)
commitd61e5b002e9210ea07d3be36b2162915d585ce81 (patch)
tree9e4f5c6b2302edf4c8a104b7eb23a2a419b9a816
downloadegl-transparency-d61e5b002e9210ea07d3be36b2162915d585ce81.tar.gz
egl-transparency-d61e5b002e9210ea07d3be36b2162915d585ce81.tar.xz
version 11
-rw-r--r--EGL_MESA_transparent_alpha.txt105
1 files changed, 105 insertions, 0 deletions
diff --git a/EGL_MESA_transparent_alpha.txt b/EGL_MESA_transparent_alpha.txt
new file mode 100644
index 0000000..4120ccd
--- /dev/null
+++ b/EGL_MESA_transparent_alpha.txt
@@ -0,0 +1,105 @@
+Name
+
+ EGL_MESA_transparent_alpha
+
+Name Strings
+
+ EGL_MESA_transparent_alpha
+
+Contributors
+
+ Jonny Lamb <jonny.lamb@collabora.co.uk>
+
+Contacts
+
+ Jonny Lamb <jonny.lamb@collabora.co.uk>
+
+Status
+
+ Draft
+
+Version
+
+ Version 1, 2014-12-15
+
+Number
+
+ EGL Extension #XXX
+
+Extension Type
+
+ EGL client extension
+
+Dependencies
+
+ Requires EGL_EXT_client_extensions to query its existence without a
+ display.
+
+ This extension is written against the wording of the 2014.08.17 revision
+ of the EGL 1.5 Specification.
+
+Overview
+
+ This extension defines how to create EGL window surfaces which respect
+ their alpha channels.
+
+New Types
+
+ None
+
+New Procedures and Functions
+
+ None
+
+New Tokens
+
+ Accepted as the value of the EGLConfig attribute EGL_TRANSPARENT_TYPE:
+
+ EGL_TRANSPARENT_ALPHA 0xXXXX
+
+Additions to the EGL 1.5 Specification
+
+ In section 3.4 "Configuration Management", under the "Other EGLConfig
+ Attribute Descriptions" heading, append to the paragraph which begins with
+ "EGL_TRANSPARENT_TYPE indicates" and ends with "and
+ EGL_TRANSPARENT_BLUE_VALUE, respectively" the following:
+
+ "If the attribute is EGL_TRANSPARENT_ALPHA then window surfaces created
+ with the EGLConfig will have their alpha channel respected. Creating non-
+ window surfaces with the EGLConfig will have no effect and the non-window
+ surface will be created as if EGL_TRANSPARENT_TYPE had been set to
+ EGL_TRANSPARENT_NONE.""
+
+ In the next paragraph replace the first sentence with:
+
+ "If EGL_TRANSPARENT_TYPE is either EGL_NONE or EGL_TRANSPARENT_ALPHA, then
+ the values for EGL_TRANSPARENT_RED_VALUE, EGL_TRANSPARENT_GREEN_VALUE, and
+ EGL_TRANSPARENT_BLUE_VALUE are undefined."
+
+ Before the paragraph which begins with "EGL_MAX_PBUFFER_WIDTH and
+ EGL_MAX_PBUFFER_HEIGHT indicate" insert the following paragraph:
+
+ "If EGL_TRANSPARENT_TYPE is EGL_TRANSPARENT_ALPHA and EGL_ALPHA_SIZE is 0,
+ window surfaces created with the EGLConfig will be fully opaque, as if
+ alpha were set to 1.0."
+
+New Behavior
+
+ To determine if the EGL implementation supports this extension, clients
+ should query the EGL_EXTENSIONS string of EGL_NO_DISPLAY.
+
+ To obtain an EGL window surface with a meaningful alpha channel, use an
+ EGLConfig with EGL_TRANSPARENT_TYPE set to EGL_TRANSPARENT_ALPHA.
+
+Issues
+
+ 1. Should non-window surfaces created with EGL_TRANSPARENT_TYPE set to
+ EGL_TRANSPARENT_ALPHA generate an error or have no effect on the
+ surface?
+
+Revision History
+
+ Version 1, 2014-12-15 (Jonny Lamb)
+ - Initial draft
+
+# vim:ai:et:sw=4:ts=4: