зеркало из https://github.com/AvaloniaUI/angle.git
107 строки
2.5 KiB
Plaintext
107 строки
2.5 KiB
Plaintext
Name
|
|
|
|
ANGLE_x11_visual
|
|
|
|
Name Strings
|
|
|
|
EGL_ANGLE_x11_visual
|
|
|
|
Contributors
|
|
|
|
Corentin Wallez, Google
|
|
Shannon Woods, Google
|
|
Jamie Madill, Google
|
|
Geoff Lang, Google
|
|
|
|
Contacts
|
|
|
|
Corentin Wallez, Google (cwallez 'at' chromium 'dot' org)
|
|
|
|
Status
|
|
|
|
Draft
|
|
|
|
Version
|
|
|
|
Version 1, 2015-11-13
|
|
|
|
Number
|
|
|
|
EGL Extension XXX
|
|
|
|
Extension Type
|
|
|
|
EGL client extension
|
|
|
|
Dependencies
|
|
|
|
Requires EGL_EXT_client_extensions to query its existence without
|
|
a display.
|
|
|
|
Requires EGL_EXT_platform_base.
|
|
|
|
This extension is written against the wording of version 9 of the
|
|
EGL_EXT_platform_base specification.
|
|
|
|
Written based on the wording of the EGL 1.5 Specification
|
|
(August 7 2014).
|
|
|
|
Overview
|
|
|
|
This extension allows passing the X11 visual ID used by the native
|
|
EGL surface types at display creation time. This will restrict
|
|
EGLSurfaces to be created from native types with this visual ID,
|
|
which may allow the created display to be more compatible and
|
|
performant.
|
|
|
|
New Types
|
|
|
|
None
|
|
|
|
New Procedures and Functions
|
|
|
|
None
|
|
|
|
New Tokens
|
|
|
|
Accepted as an attribute name in the <attrib_list> argument of
|
|
eglGetPlatformDisplayEXT:
|
|
|
|
EGL_X11_VISUAL_ID_ANGLE 0x33A3
|
|
|
|
Additions to the EGL Specification
|
|
|
|
Modify section 3.5.1 (Creating On-Screen Rendering Surfaces), p. 34
|
|
|
|
Append the following to the errors of CreateWindowSurface:
|
|
|
|
"If an X11 visual was specified at display creation time using
|
|
EGL_ANGLE_X11_VISUAL_ID that is not equal to the ID of the
|
|
native_window's visual, an EGL_BAD_MATCH error is generated and
|
|
EGL_NO_SURFACE is returned."
|
|
|
|
New Behavior
|
|
|
|
To request a display created with a X11 visual ID, the value of
|
|
EGL_ANGLE_X11_VISUAL_ID should be set to a valid X11 visual ID. If
|
|
present, this ID will be used during display creation to make a
|
|
display that is more compatible and potentially more performant when
|
|
used with EGLsurfaces created from native types with this ID. If the
|
|
visual ID passed isn't a valid visual ID, eglGetPlatformDisplay will
|
|
return EGL_NO_DISPLAY and generate an EGL_NOT_INITIALIZED error.
|
|
|
|
Issues
|
|
|
|
1) When the hint is present, should EGLsurface creation functions
|
|
only accept native types with the hint's visual ID?
|
|
|
|
RESOLVED: Yes, generate an error when the visual of the native
|
|
surface doesn't match. This will avoid having hidden performance
|
|
or compatibility losses when using this extension.
|
|
|
|
Revision History
|
|
|
|
Version 1, 2015-11-13 (Corentin Wallez)
|
|
- Initial draft
|
|
|