Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67676 Reviewed-by: Chad Versace <chad.vers...@intel.com> --- docs/specs/EGL_MESA_transparent_alpha.txt | 120 ++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 docs/specs/EGL_MESA_transparent_alpha.txt
diff --git a/docs/specs/EGL_MESA_transparent_alpha.txt b/docs/specs/EGL_MESA_transparent_alpha.txt new file mode 100644 index 0000000..f3d1fec --- /dev/null +++ b/docs/specs/EGL_MESA_transparent_alpha.txt @@ -0,0 +1,120 @@ +Name + + EGL_MESA_transparent_alpha + +Name Strings + + EGL_MESA_transparent_alpha + +Contributors + + Jonny Lamb <jonny.l...@collabora.co.uk> + +Contacts + + Jonny Lamb <jonny.l...@collabora.co.uk> + +Status + + Draft + +Version + + Version 4, 2015-02-23 + +Number + + EGL Extension #XXX + +Extension Type + + EGL display extension + +Dependencies + + 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. + + To obtain an EGL window surface with a meaningful alpha channel, + use an EGLConfig with EGL_TRANSPARENT_TYPE set to + EGL_TRANSPARENT_ALPHA_MESA. + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + Accepted as the value of the EGLConfig attribute EGL_TRANSPARENT_TYPE: + + EGL_TRANSPARENT_ALPHA_MESA 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_MESA then window + surfaces created with the EGLConfig will have their alpha channel + respected with pre-multiplied alpha implied. Creating non-window + surfaces with the EGLConfig will generate an EGL_BAD_MATCH error." + + In the next paragraph replace the first sentence with: + + "If EGL_TRANSPARENT_TYPE is either EGL_NONE or + EGL_TRANSPARENT_ALPHA_MESA, 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_MESA and + EGL_ALPHA_SIZE is 0, window surfaces created with the EGLConfig + will be fully opaque, as if alpha were set to 1.0." + +Issues + + 1. Should non-window surfaces created with EGL_TRANSPARENT_TYPE + set to EGL_TRANSPARENT_ALPHA_MESA generate an error or have no + effect on the surface? + + RESOLUTION: Attempting to create a non-window surface with a + config in which EGL_TRANSPARENT_TYPE is + EGL_TRANSPARENT_ALPHA_MESA then an EGL_BAD_MATCH error is + generated. + +Revision History + + Version 4, 2015-02-23 (Jonny Lamb) + - Removed paragraph on how to determine whether the + EGL implementation supports the extension. + - Removed "New Behavior" section, moving its only paragraph + into "Overview". + - Reworded resolution to issue 1 and clarified which error is + generated. + + Version 3, 2015-02-17 (Jonny Lamb) + - Added pre-multiplied alpha implication. + + Version 2, 2015-02-16 (Jonny Lamb) + - Resolved issue #1 to "Yes". + - Changed extension type to "display extension" and removed + dependency on EGL_EXT_client_extensions. + - Added MESA suffix to the new token. + + Version 1, 2014-12-15 (Jonny Lamb) + - Initial draft + +# vim:ai:et:sw=4:ts=4: -- 2.1.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev