diff --git a/api/GL/glxext.h b/api/GL/glxext.h
index a6f1c0c..ea970a0 100755
--- a/api/GL/glxext.h
+++ b/api/GL/glxext.h
@@ -34,7 +34,7 @@
 **   https://github.com/KhronosGroup/OpenGL-Registry
 */
 
-#define GLX_GLXEXT_VERSION 20190728
+#define GLX_GLXEXT_VERSION 20190822
 
 /* Generated C header for:
  * API: glx
@@ -555,6 +555,15 @@
 #define GLX_FLOAT_COMPONENTS_NV           0x20B0
 #endif /* GLX_NV_float_buffer */
 
+#ifndef GLX_NV_multigpu_context
+#define GLX_NV_multigpu_context 1
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_NV    0x20AA
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV 0x20AB
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_AFR_NV 0x20AC
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV 0x20AD
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV 0x20AE
+#endif /* GLX_NV_multigpu_context */
+
 #ifndef GLX_NV_multisample_coverage
 #define GLX_NV_multisample_coverage 1
 #define GLX_COVERAGE_SAMPLES_NV           100001
diff --git a/extensions/NV/GLX_NV_multigpu_context.txt b/extensions/NV/GLX_NV_multigpu_context.txt
new file mode 100644
index 0000000..9830311
--- /dev/null
+++ b/extensions/NV/GLX_NV_multigpu_context.txt
@@ -0,0 +1,142 @@
+Name
+
+    NV_multigpu_context
+
+Name Strings
+
+    GLX_NV_multigpu_context
+
+Contact
+
+    Ben Quest (bquest 'at' nvidia.com)
+
+Contributors
+
+    Ben Quest, NVIDIA
+    Joshua Schnarr, NVIDIA
+    Ralf Biermann, NVIDIA
+    Ingo Esser, NVIDIA
+    Robert Menzel, NVIDIA
+    James Jones, NVIDIA
+
+Notice
+
+    Copyright (c) 2019 NVIDIA
+
+Status
+
+    Complete.
+
+Version
+
+    Last Modified Date:         2019-05-17
+    Author Revision:            1
+
+Number
+
+    OpenGL Extension #545
+
+Dependencies
+
+    GLX_NV_multigpu_context is written against the GLX 1.4 and
+    GLX_ARB_create_context specifications. Both are required.
+
+    This extension interacts with NV_gpu_multicast.
+
+Overview
+
+    This extension allows the creation of an OpenGL context in a multi-GPU
+    environment with a specified multi-GPU strategy (known as SLI mode) which
+    takes precedence over process-wide multi-GPU mode settings.
+
+    The multi-GPU mode denotes vendor specific techniques to allow distributed
+    rendering on multiple GPUs, further called AFR (alternate frame rendering)
+    and Multicast (as defined in NV_gpu_multicast).
+
+    OpenGL supports multiple contexts. The semantics of switching contexts
+    is generally left to window system binding APIs such as WGL, GLX and EGL.
+    The extension GLX_NV_multigpu_context allows to specify a preferred
+    multi-GPU rendering mode per context, thus context switching can also
+    switch the current multi-GPU rendering mode.
+
+    In addition to the modes described above, this extension allows creating
+    contexts in single mode to force all rendering to be done on a single GPU,
+    and multi-display multicast mode to allow multicast rendering on a
+    multi-display configuration where displays attached to multiple GPUs are
+    linked together in a desktop configuration spanning multiple GPUs.
+
+    The implementation is platform dependent and the actual multi-GPU rendering
+    mode of the created context may vary on different hardware and operation
+    system platforms.
+
+New Procedures and Functions
+
+    None
+
+New Tokens (GLX)
+
+    Accepted as an attribute name in the <*attrib_list> argument to
+    glXCreateContextAttribsARB:
+
+        GLX_CONTEXT_MULTIGPU_ATTRIB_NV                         0x20AA
+
+    Accepted as an attribute value for GLX_CONTEXT_MULTIGPU_ATTRIB_NV in
+    the <*attrib_list> argument to glXCreateContextAttribsARB:
+
+        GLX_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV                  0x20AB
+        GLX_CONTEXT_MULTIGPU_ATTRIB_AFR_NV                     0x20AC
+        GLX_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV               0x20AD
+        GLX_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV 0x20AE
+
+Additions to the GLX 1.4 Specification
+
+    This extension modifies language specified in the GLX_ARB_create_context
+    extension.
+
+    Add a new paragraph to the description of glXCreateContextAttribsARB:
+
+    "The attribute name GLX_CONTEXT_MULTIGPU_ATTRIB_NV indicates the
+    preferred multi-GPU rendering mode for the OpenGL context.
+    This specified mode precedes other selected configuration settings."
+
+    Add a new context creation error to glXCreateContextAttribsARB:
+
+    "If attribute GLX_CONTEXT_MULTIGPU_ATTRIB_NV does not describe a valid and
+    supported SLI rendering mode, BadValue is generated."
+
+    Append a new paragraph to the end of section 3.5 "Rendering Contexts":
+
+    "When multiple contexts created with a multigpu context attribute are being
+    used, glXMakeCurrent and glXMakeContextCurrent will return FALSE if the
+    GLXDrawable is already current with a context using a different multigpu
+    attribute."
+
+GLX Errors
+
+    BadValue is generated if GLX_CONTEXT_MULTIGPU_ATTRIB_NV does not describe a
+    valid and supported SLI rendering mode.
+
+    GLXBadContextState is generated if glXMakeCurrent is called with a context
+    created with a different multigpu attribute than the context previously
+    current to the drawable.
+
+GLX Protocol
+
+    None
+
+New State
+
+    None
+
+Issues
+
+    All non-window-system dependent issues described in the
+    WGL_NV_multigpu_context extension specification apply equally to
+    GLX_NV_multigpu_context.
+
+Revision History
+
+ Rev.   Date      Author    Changes
+ ---- ----------  --------  ---------------------------------------------
+   1  2019-05-17  bquest    Fork from WGL_NV_multigpu_context
+
diff --git a/extensions/glext.php b/extensions/glext.php
index c0204bd..9baab5d 100644
--- a/extensions/glext.php
+++ b/extensions/glext.php
@@ -1027,4 +1027,6 @@
 </li>
 <li value=544><a href="extensions/NV/NV_shader_subgroup_partitioned.txt">GL_NV_shader_subgroup_partitioned</a>
 </li>
+<li value=545><a href="extensions/NV/GLX_NV_multigpu_context.txt">GLX_NV_multigpu_context</a>
+</li>
 </ol>
diff --git a/extensions/registry.py b/extensions/registry.py
index 1c176f4..acd3d7f 100644
--- a/extensions/registry.py
+++ b/extensions/registry.py
@@ -5544,4 +5544,10 @@
         'supporters' : { 'NVIDIA' },
         'url' : 'extensions/NV/WGL_NV_multigpu_context.txt',
     },
+    'GLX_NV_multigpu_context' : {
+        'number' : 545,
+        'flags' : { 'public' },
+        'supporters' : { 'NVIDIA' },
+        'url' : 'extensions/NV/GLX_NV_multigpu_context.txt',
+    },
 }
diff --git a/xml/glx.xml b/xml/glx.xml
index 0ce9cba..d9e504b 100644
--- a/xml/glx.xml
+++ b/xml/glx.xml
@@ -387,6 +387,11 @@
     </enums>
 
     <enums namespace="GLX" start="0x20A0" end="0x219F" vendor="NV" comment="Shared with WGL">
+        <enum value="0x20AA"        name="GLX_CONTEXT_MULTIGPU_ATTRIB_NV"/>
+        <enum value="0x20AB"        name="GLX_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV"/>
+        <enum value="0x20AC"        name="GLX_CONTEXT_MULTIGPU_ATTRIB_AFR_NV"/>
+        <enum value="0x20AD"        name="GLX_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV"/>
+        <enum value="0x20AE"        name="GLX_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV"/>
         <enum value="0x20B0"        name="GLX_FLOAT_COMPONENTS_NV"/>
         <enum value="0x20B1"        name="GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT"/>
         <enum value="0x20B2"        name="GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB"/>
@@ -2198,5 +2203,14 @@
                 <command name="glXGetTransparentIndexSUN"/>
             </require>
         </extension>
+        <extension name="GLX_NV_multigpu_context" supported="glx">
+            <require>
+                <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_NV"/>
+                <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV"/>
+                <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_AFR_NV"/>
+                <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV"/>
+                <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV"/>
+            </require>
+        </extension>
     </extensions>
 </registry>
