Merge branch 'master' into spdx-headers
diff --git a/api/EGL/egl.h b/api/EGL/egl.h
index d3bce7e..00c571e 100644
--- a/api/EGL/egl.h
+++ b/api/EGL/egl.h
@@ -14,7 +14,7 @@
** used to make the header, and the header can be found at
** http://www.khronos.org/registry/egl
**
-** Khronos $Git commit SHA1: d7ddb16e56 $ on $Git commit date: 2020-06-29 19:07:11 -0600 $
+** Khronos $Git commit SHA1: 50f5da047a $ on $Git commit date: 2020-08-13 03:59:02 -0700 $
*/
#include <EGL/eglplatform.h>
diff --git a/api/EGL/eglext.h b/api/EGL/eglext.h
index 9b5d36f..823e22c 100644
--- a/api/EGL/eglext.h
+++ b/api/EGL/eglext.h
@@ -14,7 +14,7 @@
** used to make the header, and the header can be found at
** http://www.khronos.org/registry/egl
**
-** Khronos $Git commit SHA1: d7ddb16e56 $ on $Git commit date: 2020-06-29 19:07:11 -0600 $
+** Khronos $Git commit SHA1: 50f5da047a $ on $Git commit date: 2020-08-13 03:59:02 -0700 $
*/
#include <EGL/eglplatform.h>
@@ -688,6 +688,11 @@
#define EGL_EXT_device_query 1
#endif /* EGL_EXT_device_query */
+#ifndef EGL_EXT_device_query_name
+#define EGL_EXT_device_query_name 1
+#define EGL_RENDERER_EXT 0x335F
+#endif /* EGL_EXT_device_query_name */
+
#ifndef EGL_EXT_gl_colorspace_bt2020_linear
#define EGL_EXT_gl_colorspace_bt2020_linear 1
#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
diff --git a/api/egl.xml b/api/egl.xml
index 0cfc544..8b05c79 100644
--- a/api/egl.xml
+++ b/api/egl.xml
@@ -852,7 +852,8 @@
<enum value="0x3352" name="EGL_TRACK_REFERENCES_KHR"/>
<unused start="0x3353" end="0x3356"/>
<enum value="0x3357" name="EGL_CONTEXT_PRIORITY_REALTIME_NV"/>
- <unused start="0x3358" end="0x335F"/>
+ <unused start="0x3358" end="0x335E"/>
+ <enum value="0x335F" name="EGL_RENDERER_EXT"/>
<enum value="0x3360" name="EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT"/>
<enum value="0x3361" name="EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT"/>
<enum value="0x3362" name="EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT"/>
@@ -3392,5 +3393,10 @@
<enum name="EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM"/>
</require>
</extension>
+ <extension name="EGL_EXT_device_query_name" supported="egl">
+ <require>
+ <enum name="EGL_RENDERER_EXT"/>
+ </require>
+ </extension>
</extensions>
</registry>
diff --git a/extensions/EXT/EGL_EXT_device_query_name.txt b/extensions/EXT/EGL_EXT_device_query_name.txt
new file mode 100644
index 0000000..f3d21a5
--- /dev/null
+++ b/extensions/EXT/EGL_EXT_device_query_name.txt
@@ -0,0 +1,104 @@
+Name
+
+ EXT_device_query_name
+
+Name Strings
+
+ EGL_EXT_device_query_name
+
+Contributors
+
+ Kyle Brenneman, NVIDIA (kbrenneman 'at' nvidia.com)
+ Daniel Kartch, NVIDIA (dkartch 'at' nvidia.com)
+
+Contact
+
+ Kyle Brenneman, NVIDIA (kbrenneman 'at' nvidia.com)
+
+Status
+
+ Complete
+
+Version
+
+ Version 1 - June 12, 2020
+
+Number
+
+ EGL Extension #140
+
+Extension Type
+
+ EGL device extension
+
+Dependencies
+
+ Written based on the wording of the EGL 1.5 specification.
+
+ EGL_EXT_device_query is required.
+
+Overview
+
+ The EGL_EXT_device_enumeration and EGL_EXT_device_query extensions
+ provide a list of devices and a list of extensions, but lacks a way
+ to find a name for a device that an application can present to a
+ user.
+
+ This extension adds two new strings that an application can query to
+ find human-readable names.
+
+New Types
+
+ None
+
+New Functions
+
+ None
+
+New Tokens
+
+ Accepted by the <name> parameter of eglQueryDeviceStringEXT:
+
+ EGL_RENDERER_EXT 0x335E
+
+New Device Queries
+
+ eglQueryDeviceStringEXT accepts two new attributes.
+
+ EGL_VENDOR and EGL_RENDERER_EXT return a human-readable name for the
+ vendor and device, respectively.
+
+ The format of the EGL_VENDOR and EGL_RENDERER strings is
+ implementation-dependent.
+
+ The EGL_VENDOR string for an EGLDeviceEXT is not required to match
+ the EGL_VENDOR string for an EGLDisplay or the GL_VENDOR string for
+ a context. Similarly, the EGL_RENDERER string is not required to
+ match the GL_RENDERER string for a context.
+
+Issues
+
+ 1. Do we need a device query, instead of just creating an
+ EGLDisplay and calling eglQueryString?
+
+ RESOLVED: Yes, a device-level query is useful, because some
+ devices might not be usable with EGL_EXT_platform_device. This
+ is especially true on systems where different devices are
+ handled by different drivers.
+
+ 2. If an application creates an EGLDisplay from an EGLDevice,
+ are the EGL_VENDOR strings required to match?
+
+ RESOLVED: No. Some implementations might not load a driver until
+ eglInitialize, and so might have a different or more specific
+ EGL_VENDOR string associated with an EGLDisplay than with an
+ EGLDeviceEXT. In addition, an implementation might select a
+ driver to use based on other parameters in
+ eglGetPlatformDisplay.
+
+Revision History
+
+ #1 (June 12, 2020) Kyle Brenneman
+
+ - Initial draft
+
diff --git a/index.php b/index.php
index e6a39a0..4a7c49f 100644
--- a/index.php
+++ b/index.php
@@ -345,6 +345,8 @@
</li>
<li value=139> <a href="extensions/NV/EGL_NV_stream_consumer_eglimage.txt">EGL_NV_stream_consumer_eglimage</a>
</li>
+<li value=140> <a href="extensions/EXT/EGL_EXT_device_query_name.txt">EGL_EXT_device_query_name</a>
+</li>
</ol>
<h6> Providing Feedback on the Registry </h6>
diff --git a/registry.tcl b/registry.tcl
index 96aa4d6..c14199a 100644
--- a/registry.tcl
+++ b/registry.tcl
@@ -722,4 +722,9 @@
flags public
filename extensions/NV/EGL_NV_stream_consumer_eglimage.txt
}
-# Next free extension number: 140
+extension EGL_NV_stream_consumer_eglimage {
+ number 140
+ flags public
+ filename extensions/EXT/EGL_EXT_device_query_name.txt
+}
+# Next free extension number: 141