summaryrefslogtreecommitdiff
path: root/glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_explicit_device.txt
diff options
context:
space:
mode:
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.txt136
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