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