102f4aeb0Sopenharmony_ciName
202f4aeb0Sopenharmony_ci
302f4aeb0Sopenharmony_ci    EGL_EXT_config_select_group
402f4aeb0Sopenharmony_ci
502f4aeb0Sopenharmony_ciName Strings
602f4aeb0Sopenharmony_ci
702f4aeb0Sopenharmony_ci    EGL_EXT_config_select_group
802f4aeb0Sopenharmony_ci
902f4aeb0Sopenharmony_ciContributors
1002f4aeb0Sopenharmony_ci
1102f4aeb0Sopenharmony_ci    Hal Gentz <zegentzy@protonmail.com>
1202f4aeb0Sopenharmony_ci    Adam Jackson <ajax@redhat.com>
1302f4aeb0Sopenharmony_ci    Robert Mader <robert.mader@posteo.de>
1402f4aeb0Sopenharmony_ci
1502f4aeb0Sopenharmony_ciContacts
1602f4aeb0Sopenharmony_ci
1702f4aeb0Sopenharmony_ci    Hal Gentz <zegentzy@protonmail.com>
1802f4aeb0Sopenharmony_ci
1902f4aeb0Sopenharmony_ciStatus
2002f4aeb0Sopenharmony_ci
2102f4aeb0Sopenharmony_ci    Draft
2202f4aeb0Sopenharmony_ci
2302f4aeb0Sopenharmony_ciVersion
2402f4aeb0Sopenharmony_ci
2502f4aeb0Sopenharmony_ci    Version 4, 2021-06-24
2602f4aeb0Sopenharmony_ci
2702f4aeb0Sopenharmony_ciNumber
2802f4aeb0Sopenharmony_ci
2902f4aeb0Sopenharmony_ci    EGL Extension #145
3002f4aeb0Sopenharmony_ci
3102f4aeb0Sopenharmony_ciExtension Type
3202f4aeb0Sopenharmony_ci
3302f4aeb0Sopenharmony_ci    EGL client extension
3402f4aeb0Sopenharmony_ci
3502f4aeb0Sopenharmony_ciDependencies
3602f4aeb0Sopenharmony_ci
3702f4aeb0Sopenharmony_ci    This extension is written against the wording of the 2014.08.27 revision
3802f4aeb0Sopenharmony_ci    of the EGL 1.5 Specification.
3902f4aeb0Sopenharmony_ci
4002f4aeb0Sopenharmony_ciOverview
4102f4aeb0Sopenharmony_ci
4202f4aeb0Sopenharmony_ci    This extension provides a mechanism to lower the config selection priority
4302f4aeb0Sopenharmony_ci    of the configs returned by eglChooseConfig. A new config attribute is
4402f4aeb0Sopenharmony_ci    introduced, providing a way for the implementation to group configs into
4502f4aeb0Sopenharmony_ci    different config selection categories.  The config selection priorities of
4602f4aeb0Sopenharmony_ci    all the configs in one category may be higher or lower than the ones in
4702f4aeb0Sopenharmony_ci    other categories.  The config selection priorities in one category follow
4802f4aeb0Sopenharmony_ci    the rules of eglChooseConfig. See also GLX_SGIX_visual_select_group.
4902f4aeb0Sopenharmony_ci
5002f4aeb0Sopenharmony_ciNew Types
5102f4aeb0Sopenharmony_ci
5202f4aeb0Sopenharmony_ci    None
5302f4aeb0Sopenharmony_ci
5402f4aeb0Sopenharmony_ciNew Procedures and Functions
5502f4aeb0Sopenharmony_ci
5602f4aeb0Sopenharmony_ci    None
5702f4aeb0Sopenharmony_ci
5802f4aeb0Sopenharmony_ciNew Tokens
5902f4aeb0Sopenharmony_ci
6002f4aeb0Sopenharmony_ci    Accepted as a new EGLConfig attribute:
6102f4aeb0Sopenharmony_ci
6202f4aeb0Sopenharmony_ci        EGL_CONFIG_SELECT_GROUP_EXT                0x34C0
6302f4aeb0Sopenharmony_ci
6402f4aeb0Sopenharmony_ciAdditions to the EGL 1.5 Specification
6502f4aeb0Sopenharmony_ci
6602f4aeb0Sopenharmony_ci    In section 3.4 "Configuration Management", under the "Buffer Descriptions
6702f4aeb0Sopenharmony_ci    and Attributes" heading, append to table 3.1 the following:
6802f4aeb0Sopenharmony_ci
6902f4aeb0Sopenharmony_ci    "EGL_CONFIG_SELECT_GROUP_EXT | integer | the config select group"
7002f4aeb0Sopenharmony_ci
7102f4aeb0Sopenharmony_ci    In section 3.4 "Configuration Management", under the "Other EGLConfig
7202f4aeb0Sopenharmony_ci    Attribute Descriptions" heading, append to the end the following:
7302f4aeb0Sopenharmony_ci
7402f4aeb0Sopenharmony_ci    "The attribute EGL_CONFIG_SELECT_GROUP_EXT is used to specify the config
7502f4aeb0Sopenharmony_ci    selection category of the config. Configs in the i-th category have a higher
7602f4aeb0Sopenharmony_ci    config selection priority than those found in the (i+1)-th category.
7702f4aeb0Sopenharmony_ci
7802f4aeb0Sopenharmony_ci    "The attribute EGL_CONFIG_SELECT_GROUP_EXT is used by the implementation to
7902f4aeb0Sopenharmony_ci    override the default sorting rules, by collecting configurations into
8002f4aeb0Sopenharmony_ci    groups. It is not accepted by the <attrib_list> parameter of
8102f4aeb0Sopenharmony_ci    eglChooseConfig, but it is accepted as the <attribute> in
8202f4aeb0Sopenharmony_ci    eglGetConfigAtrrib."
8302f4aeb0Sopenharmony_ci
8402f4aeb0Sopenharmony_ci    In section 3.4 "Configuration Management", under the "Sorting of EGLConfigs"
8502f4aeb0Sopenharmony_ci    heading, append to table 3.4 the following:
8602f4aeb0Sopenharmony_ci
8702f4aeb0Sopenharmony_ci    "EGL_CONFIG_SELECT_GROUP_EXT | 0 | Ignore | Smaller | 0"
8802f4aeb0Sopenharmony_ci
8902f4aeb0Sopenharmony_ci    In section 3.4 "Configuration Management", under the "Sorting of EGLConfigs"
9002f4aeb0Sopenharmony_ci    heading, append before the list entry which starts with "1. Special: by
9102f4aeb0Sopenharmony_ci    EGL_CONFIG_CAVEAT" the following entry:
9202f4aeb0Sopenharmony_ci
9302f4aeb0Sopenharmony_ci    "0. Smaller EGL_CONFIG_SELECT_GROUP_EXT."
9402f4aeb0Sopenharmony_ci
9502f4aeb0Sopenharmony_ciIssues
9602f4aeb0Sopenharmony_ci
9702f4aeb0Sopenharmony_ci    None
9802f4aeb0Sopenharmony_ci
9902f4aeb0Sopenharmony_ciRevision History
10002f4aeb0Sopenharmony_ci
10102f4aeb0Sopenharmony_ci    Version 4, 2021-06-24 (Robert Mader)
10202f4aeb0Sopenharmony_ci        - Moved to EXT, changed enum value to 0x34C0.
10302f4aeb0Sopenharmony_ci
10402f4aeb0Sopenharmony_ci    Version 3, 2020-04-06 (Robert Mader)
10502f4aeb0Sopenharmony_ci        - Changed enum value to 0x31DF, added contributors.
10602f4aeb0Sopenharmony_ci
10702f4aeb0Sopenharmony_ci    Version 2, 2019-07-11 (Hal Gentz)
10802f4aeb0Sopenharmony_ci        - Resolved issues pointed out by Adam Jackson.
10902f4aeb0Sopenharmony_ci
11002f4aeb0Sopenharmony_ci    Version 1, 2019-06-21 (Hal Gentz)
11102f4aeb0Sopenharmony_ci        - Initial draft
112