diff options
Diffstat (limited to 'glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_explicit_device.txt')
-rw-r--r-- | glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_explicit_device.txt | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_explicit_device.txt b/glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_explicit_device.txt new file mode 100644 index 0000000..2ba8834 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_explicit_device.txt @@ -0,0 +1,136 @@ +Name + + EXT_explicit_device + +Name Strings + + EGL_EXT_explicit_device + +Contributors + + Adam Jackson + Nicolai Haehnle + Daniel Stone + Kyle Brenneman + +Contacts + + Adam Jackson <ajax@redhat.com> + +Status + + Complete + +Version + + Version 3, 2022-04-21 + +Number + + EGL Extension #148 + +Extension Type + + EGL client extension + +Dependencies + + Requires EGL_EXT_platform_base and EGL_EXT_device_enumeration. + + EGL_EXT_platform_device trivially interacts with this extension. + + This extension is written against the EGL 1.5 Specification. + +Overview + + A system may support rendering with multiple devices for the same + windowing system. In that case, an EGL implementation must select a + default device based on the native display. + + This extension allows an application to explicitly request a device + to use for rendering instead of the implementation's default. + + This differs from EGL_EXT_platform_device in that + EGL_EXT_platform_device uses an EGLDeviceEXT instead of a native + display. Thus, EGL_EXT_platform_device allows offscreen rendering + to a pbuffer or FBO, but it does not require or use a windowing + system, and thus does not allow pixmap or window surfaces. + + Using EGL_EXT_explicit_device with EGL_MESA_platform_surfaceless is + functionally identical to EGL_EXT_platform_device. + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + None + +Additions to the EGL Specification + + None + +New Behavior + + If EGL_DEVICE_EXT is specified as an attribute for + eglGetPlatformDisplay, the value of the attribute is interpreted as + an EGLDeviceEXT as returned by eglQueryDevicesEXT. + + If the EGL_DEVICE_EXT attribute is EGL_NO_DEVICE_EXT, then the + implementation will select a device automatically, as it would + normally. + + If the EGL_DEVICE_EXT attribute is not EGL_NO_DEVICE_EXT, then the + implementation will use the specified device for rendering. If the + EGL_DEVICE_EXT attribute does not name a valid EGLDeviceEXT, then + EGL_BAD_DEVICE_EXT is generated. + + An implementation might not support all devices for all native + displays. If the device and native display are not compatible for + any reason, then EGL_BAD_MATCH is generated. + + If EGL_EXT_platform_device is supported, passing EGL_DEVICE_EXT as an + attribute to eglGetPlatformDisplay(EGL_PLATFORM_DEVICE_EXT) generates + EGL_BAD_ATTRIBUTE. + +Issues + + 1. Should we have a separate function to query whether a device is + compatible with a native display? + + RESOLVED: No. A separate query might require duplicating a lot of + the work that eglGetPlatformDisplay and eglInitialize would do, + which could be very slow. + + 2. If an implementation can't support a device with a particular + native display, then should it fail in eglGetPlatformDisplay, or + can it defer any compatibility checks until eglInitialize? + + RESOLVED: eglGetPlatformDisplay must check for compatibility and + should fail if the device and native display are not supported. + + Without a separate function to check for compatibility, the only + way for an application to know which devices can work with a + native display is to try to use each device and see if it gets an + error. If the error is in eglInitialize, then an application + would have to create (and leak) a bunch of EGLDisplay handles + that it never intends to use. + +Revision History + + Version 3, 2022-04-21 (Kyle Brenneman) + - Require eglGetPlatformDisplay (instead of eglInitialize) check + whether the device is supported with the native display. + + Version 2, 2017-08-08 (Adam Jackson) + - Renamed from MESA_platform_device to EXT_explicit_device + - Make it an error to use this new attribute in conjunction with + EGL_EXT_platform_device + + Version 1, 2017-07-14 (Adam Jackson) + - Initial version |