Mesa (master): egl: Add EGL_CONFIG_SELECT_GROUP_MESA ext.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Oct 11 22:34:21 UTC 2019


Module: Mesa
Branch: master
Commit: 173bc9d6842efdec54ea3fd415a6946dcee7b02a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=173bc9d6842efdec54ea3fd415a6946dcee7b02a

Author: Hal Gentz <zegentzy at protonmail.com>
Date:   Thu Oct 10 18:35:50 2019 -0600

egl: Add EGL_CONFIG_SELECT_GROUP_MESA ext.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67676
Fixes: 049f343e8ac "egl: Allow 24-bit visuals for 32-bit RGBA8888 configs"
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Adam Jackson <ajax at redhat.com>
Signed-off-by: Hal Gentz <zegentzy at protonmail.com>

---

 docs/specs/EGL_MESA_config_select_group.spec | 103 +++++++++++++++++++++++++++
 include/EGL/eglmesaext.h                     |   5 ++
 2 files changed, 108 insertions(+)

diff --git a/docs/specs/EGL_MESA_config_select_group.spec b/docs/specs/EGL_MESA_config_select_group.spec
new file mode 100644
index 00000000000..e71411fe23f
--- /dev/null
+++ b/docs/specs/EGL_MESA_config_select_group.spec
@@ -0,0 +1,103 @@
+Name
+
+    EGL_MESA_config_select_group
+
+Name Strings
+
+    EGL_MESA_config_select_group
+
+Contributors
+
+    Hal Gentz <zegentzy at protonmail.com>
+
+Contacts
+
+    Hal Gentz <zegentzy at protonmail.com>
+
+Status
+
+    Draft
+
+Version
+
+    Version 1, 2019-30-04
+
+Number
+
+    EGL Extension #XXX
+
+Extension Type
+
+    EGL client extension
+
+Dependencies
+
+    This extension is written against the wording of the 2014.08.27 revision
+    of the EGL 1.5 Specification.
+
+Overview
+
+    This extension provides a mechanism to lower the config selection priority
+    of the configs returned by eglChooseConfig. A new config attribute is
+    introduced, providing a way for the implementation to group configs into
+    different config selection categories.  The config selection priorities of
+    all the configs in one category may be higher or lower than the ones in
+    other categories.  The config selection priorities in one category follow
+    the rules of eglChooseConfig.
+
+New Types
+
+    None
+
+New Procedures and Functions
+
+    None
+
+New Tokens
+
+    Accepted as a new EGLConfig attribute:
+
+        EGL_CONFIG_SELECT_GROUP_MESA                0x31DC
+
+Additions to the EGL 1.5 Specification
+
+    In section 3.4 "Configuration Management", under the "Buffer Descriptions
+    and Attributes" heading, append to table 3.1 the following:
+
+    "EGL_CONFIG_SELECT_GROUP_MESA | integer | the config select group"
+
+    In section 3.4 "Configuration Management", under the "Other EGLConfig
+    Attribute Descriptions" heading, append to the end the following:
+
+    "The attribute EGL_CONFIG_SELECT_GROUP_MESA is used to specify the config
+    selection category of the config. Configs in the i-th category have a higher
+    config selection priority than those found in the (i+1)-th category.
+
+    "The attribute EGL_CONFIG_SELECT_GROUP_MESA is used by the implementation to
+    override the default sorting rules, by collecting configurations into
+    groups. It is not accepted by the <attrib_list> parameter of
+    eglChooseConfig, but it is accepted as the <attribute> in
+    eglGetConfigAtrrib."
+
+    In section 3.4 "Configuration Management", under the "Sorting of EGLConfigs"
+    heading, append to table 3.4 the following:
+
+    "EGL_CONFIG_SELECT_GROUP_MESA | 0 | Ignore | Smaller | 0"
+
+    In section 3.4 "Configuration Management", under the "Sorting of EGLConfigs"
+    heading, append before the list entry which starts with "1. Special: by
+    EGL_CONFIG_CAVEAT" the following entry:
+
+    "0. Smaller EGL_CONFIG_SELECT_GROUP_MESA."
+
+Issues
+
+    None
+
+Revision History
+
+    Version 2, 2019-07-11 (Hal Gentz)
+        - Resolved issues pointed out by Adam Jackson.
+
+    Version 1, 2019-06-21 (Hal Gentz)
+        - Initial draft
diff --git a/include/EGL/eglmesaext.h b/include/EGL/eglmesaext.h
index f4332b279f8..b83e9441012 100644
--- a/include/EGL/eglmesaext.h
+++ b/include/EGL/eglmesaext.h
@@ -86,6 +86,11 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOK) (EGLDisplay dpy, EG
 #define EGL_DRM_BUFFER_FORMAT_RGB565_MESA       0x3292
 #endif /* EGL_MESA_drm_image_formats */
 
+#ifndef EGL_MESA_config_select_group
+#define EGL_MESA_config_select_group 1
+#define EGL_CONFIG_SELECT_GROUP_MESA		0x31DC
+#endif
+
 #ifdef __cplusplus
 }
 #endif




More information about the mesa-commit mailing list