diff options
author | Hal Gentz <[email protected]> | 2019-10-10 18:35:50 -0600 |
---|---|---|
committer | Adam Jackson <[email protected]> | 2019-10-11 21:57:20 +0000 |
commit | 173bc9d6842efdec54ea3fd415a6946dcee7b02a (patch) | |
tree | 1cca55e8d489c6598b2468302c044dbd4dfe95f8 | |
parent | 44754279ace72bc36b016f9ca519141ea4cad038 (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.spec | 103 | ||||
-rw-r--r-- | include/EGL/eglmesaext.h | 5 |
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 |