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