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@lists.freedesktop.org
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Hal Gentz <zegentzy@protonmail.com>
This commit is contained in:
Hal Gentz 2019-10-10 18:35:50 -06:00 committed by Adam Jackson
parent 44754279ac
commit 173bc9d684
2 changed files with 108 additions and 0 deletions

View File

@ -0,0 +1,103 @@
Name
EGL_MESA_config_select_group
Name Strings
EGL_MESA_config_select_group
Contributors
Hal Gentz <zegentzy@protonmail.com>
Contacts
Hal Gentz <zegentzy@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

View File

@ -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