summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHal Gentz <[email protected]>2019-10-10 18:35:50 -0600
committerAdam Jackson <[email protected]>2019-10-11 21:57:20 +0000
commit173bc9d6842efdec54ea3fd415a6946dcee7b02a (patch)
tree1cca55e8d489c6598b2468302c044dbd4dfe95f8
parent44754279ace72bc36b016f9ca519141ea4cad038 (diff)
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: [email protected] Reviewed-by: Adam Jackson <[email protected]> Signed-off-by: Hal Gentz <[email protected]>
-rw-r--r--docs/specs/EGL_MESA_config_select_group.spec103
-rw-r--r--include/EGL/eglmesaext.h5
2 files changed, 108 insertions, 0 deletions
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 <[email protected]>
+
+Contacts
+
+ Hal Gentz <[email protected]>
+
+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