Add {GLX,WGL}_ARB_create_context_no_error to the registry
diff --git a/api/GL/glext.h b/api/GL/glext.h
index 04126f3..1c49e14 100755
--- a/api/GL/glext.h
+++ b/api/GL/glext.h
@@ -51,7 +51,7 @@
 #define GLAPI extern
 #endif
 
-#define GL_GLEXT_VERSION 20170518
+#define GL_GLEXT_VERSION 20170531
 
 /* Generated C header for:
  * API: gl
@@ -5681,6 +5681,10 @@
 #endif
 #endif /* GL_AMD_stencil_operation_extended */
 
+#ifndef GL_AMD_texture_gather_bias_lod
+#define GL_AMD_texture_gather_bias_lod 1
+#endif /* GL_AMD_texture_gather_bias_lod */
+
 #ifndef GL_AMD_texture_texture4
 #define GL_AMD_texture_texture4 1
 #endif /* GL_AMD_texture_texture4 */
diff --git a/api/GL/glxext.h b/api/GL/glxext.h
index f17e0ad..4f670b1 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 20170221
+#define GLX_GLXEXT_VERSION 20170531
 
 /* Generated C header for:
  * API: glx
@@ -176,6 +176,11 @@
 #endif
 #endif /* GLX_ARB_create_context */
 
+#ifndef GLX_ARB_create_context_no_error
+#define GLX_ARB_create_context_no_error 1
+#define GLX_CONTEXT_OPENGL_NO_ERROR_ARB   0x31B3
+#endif /* GLX_ARB_create_context_no_error */
+
 #ifndef GLX_ARB_create_context_profile
 #define GLX_ARB_create_context_profile 1
 #define GLX_CONTEXT_CORE_PROFILE_BIT_ARB  0x00000001
diff --git a/api/GL/wglext.h b/api/GL/wglext.h
index 3a4fb0c..a3ba413 100755
--- a/api/GL/wglext.h
+++ b/api/GL/wglext.h
@@ -39,7 +39,7 @@
 #include <windows.h>
 #endif
 
-#define WGL_WGLEXT_VERSION 20170221
+#define WGL_WGLEXT_VERSION 20170531
 
 /* Generated C header for:
  * API: wgl
@@ -90,6 +90,11 @@
 #endif
 #endif /* WGL_ARB_create_context */
 
+#ifndef WGL_ARB_create_context_no_error
+#define WGL_ARB_create_context_no_error 1
+#define WGL_CONTEXT_OPENGL_NO_ERROR_ARB   0x31B3
+#endif /* WGL_ARB_create_context_no_error */
+
 #ifndef WGL_ARB_create_context_profile
 #define WGL_ARB_create_context_profile 1
 #define WGL_CONTEXT_PROFILE_MASK_ARB      0x9126
diff --git a/api/GLES/gl.h b/api/GLES/gl.h
index 4a32e08..2f007c7 100644
--- a/api/GLES/gl.h
+++ b/api/GLES/gl.h
@@ -36,7 +36,7 @@
 
 #include <GLES/glplatform.h>
 
-/* Generated on date 20170518 */
+/* Generated on date 20170531 */
 
 /* Generated C header for:
  * API: gles1
diff --git a/api/GLES/glext.h b/api/GLES/glext.h
index 1329ed0..366fdd2 100644
--- a/api/GLES/glext.h
+++ b/api/GLES/glext.h
@@ -38,7 +38,7 @@
 #define GL_APIENTRYP GL_APIENTRY*
 #endif
 
-/* Generated on date 20170518 */
+/* Generated on date 20170531 */
 
 /* Generated C header for:
  * API: gles1
diff --git a/api/GLES2/gl2.h b/api/GLES2/gl2.h
index 3b9549b..3958d14 100644
--- a/api/GLES2/gl2.h
+++ b/api/GLES2/gl2.h
@@ -44,7 +44,7 @@
 #define GL_GLES_PROTOTYPES 1
 #endif
 
-/* Generated on date 20170518 */
+/* Generated on date 20170531 */
 
 /* Generated C header for:
  * API: gles2
diff --git a/api/GLES2/gl2ext.h b/api/GLES2/gl2ext.h
index 3388b9a..43b5081 100644
--- a/api/GLES2/gl2ext.h
+++ b/api/GLES2/gl2ext.h
@@ -38,7 +38,7 @@
 #define GL_APIENTRYP GL_APIENTRY*
 #endif
 
-/* Generated on date 20170518 */
+/* Generated on date 20170531 */
 
 /* Generated C header for:
  * API: gles2
diff --git a/api/GLES3/gl3.h b/api/GLES3/gl3.h
index f800004..507d77e 100644
--- a/api/GLES3/gl3.h
+++ b/api/GLES3/gl3.h
@@ -44,7 +44,7 @@
 #define GL_GLES_PROTOTYPES 1
 #endif
 
-/* Generated on date 20170518 */
+/* Generated on date 20170531 */
 
 /* Generated C header for:
  * API: gles2
diff --git a/extensions/ARB/ARB_create_context_no_error.txt b/extensions/ARB/ARB_create_context_no_error.txt
new file mode 100644
index 0000000..8d6e3ff
--- /dev/null
+++ b/extensions/ARB/ARB_create_context_no_error.txt
@@ -0,0 +1,130 @@
+Name
+
+    ARB_create_context_no_error
+
+Name Strings
+
+    WGL_ARB_create_context_no_error
+    GLX_ARB_create_context_no_error
+
+Contact
+
+    Piers Daniell (pdaniell 'at' nvidia.com)
+
+Contributors
+
+    Piers Daniell, NVIDIA
+    Daniel Koch, NVIDIA
+
+Notice
+
+    Copyright (c) 2017 The Khronos Group Inc. Copyright terms at
+        http://www.khronos.org/registry/speccopyright.html
+
+Status
+
+    Draft
+
+Version
+
+    Last Modified Date:         2017-03-10
+    Author Revision:            2
+
+Number
+
+    ARB Extension #191
+
+Dependencies
+
+    WGL_ARB_create_context_no_error is written against the
+    WGL_ARB_create_context specification, which is required.
+
+    GLX_ARB_create_context_no_error is written against the GLX 1.4 and
+    GLX_ARB_create_context specifications. Both are required.
+
+Overview
+
+    This extension allows the creation of an OpenGL or OpenGL ES context that
+    doesn't generate errors if the context supports a no error mode.  The
+    implications of this feature are discussed in the GL_KHR_no_error
+    extension.
+
+New Procedures and Functions
+
+    None
+
+New Tokens (WGL)
+
+    Accepted as an attribute name in the <*attrib_list> argument to
+    wglCreateContextAttribsARB:
+
+        WGL_CONTEXT_OPENGL_NO_ERROR_ARB                     0x31B3
+
+New Tokens (GLX)
+
+    Accepted as an attribute name in the <*attrib_list> argument to
+    glXCreateContextAttribsARB:
+
+        GLX_CONTEXT_OPENGL_NO_ERROR_ARB                     0x31B3
+
+Additions to WGL_ARB_create_context and wglMakeCurrent
+
+    Add a new paragraph to the description of wglCreateContextAttribsARB, as
+    defined by WGL_ARB_create_context:
+
+    "The attribute name WGL_CONTEXT_OPENGL_NO_ERROR_ARB indicates whether a
+    faster and lower power mode should be enabled for the OpenGL or OpenGL ES
+    context.  In this mode instead of GL errors occurring as defined in the
+    OpenGL spec those errors will result in undefined behavior.  The default
+    value of WGL_CONTEXT_OPENGL_NO_ERROR_ARB is FALSE."
+
+Additions to the GLX 1.4 Specification and GLX_ARB_create_context
+
+    Add a new paragraph to the description of glXCreateContextAttribsARB,
+    as defined by GLX_ARB_create_context:
+
+    "The attribute name GLX_CONTEXT_OPENGL_NO_ERROR_ARB indicates whether a
+    faster and lower power mode should be enabled for the OpenGL or OpenGL ES
+    context.  In this mode instead of GL errors occurring as defined in the
+    OpenGL spec those errors will result in undefined behavior.  The default
+    value of WGL_CONTEXT_OPENGL_NO_ERROR_ARB is FALSE."
+
+GLX Protocol
+
+    TBD.
+
+Errors for WGL
+    
+    ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB is generated if the value of
+    WGL_CONTEXT_OPENGL_NO_ERROR_ARB used to create <share_context> does not
+    match the value of WGL_CONTEXT_OPENGL_NO_ERROR_ARB for the context being
+    created.
+
+    ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB is generated if the
+    WGL_CONTEXT_OPENGL_NO_ERROR_ARB is TRUE at the same time as a debug or
+    robustness context is specified.
+    
+Errors for GLX
+
+    BadMatch is generated if the value of GLX_CONTEXT_OPENGL_NO_ERROR_ARB
+    used to create <share_context> does not match the value of
+    GLX_CONTEXT_OPENGL_NO_ERROR_ARB for the context being created.
+
+    BadMatch is generated if the GLX_CONTEXT_OPENGL_NO_ERROR_ARB is TRUE at
+    the same time as a debug or robustness context is specified.
+
+New State
+
+    None.
+
+Issues
+
+    None
+
+Revision History
+
+ Rev.   Date      Author    Changes
+ ---- ----------  --------  ---------------------------------------------
+   1  2017-03-02  pdaniell  Initial draft
+   2  2017-03-10  pdaniell  Added errors
+   3  2017-03-27  pdaniell  Removed example section and added enum values
diff --git a/extensions/arbext.php b/extensions/arbext.php
index 3667aa5..2ecdd54 100644
--- a/extensions/arbext.php
+++ b/extensions/arbext.php
@@ -407,4 +407,8 @@
 </li>
 <li value=190><a href="extensions/ARB/ARB_gl_spirv.txt">GL_ARB_gl_spirv</a>
 </li>
+<li value=191><a href="extensions/ARB/ARB_create_context_no_error.txt">WGL_ARB_create_context_no_error</a>
+</li>
+<li value=191><a href="extensions/ARB/ARB_create_context_no_error.txt">GLX_ARB_create_context_no_error</a>
+</li>
 </ol>
diff --git a/extensions/registry.py b/extensions/registry.py
index 1221864..f2974dc 100644
--- a/extensions/registry.py
+++ b/extensions/registry.py
@@ -542,6 +542,12 @@
         'url' : 'extensions/ARB/GLX_ARB_create_context.txt',
         'comments' : 'Alias to GLX_ARB_create_context_profile not needed - see arbnumber 75.',
     },
+    'GLX_ARB_create_context_no_error' : {
+        'arbnumber' : 191,
+        'flags' : { 'public' },
+        'url' : 'extensions/ARB/ARB_create_context_no_error.txt',
+        'comments' : 'Shares extension spec with WGL_ARB_create_context_no_error.',
+    },
     'GLX_ARB_create_context_profile' : {
         'arbnumber' : 75,
         'flags' : { 'public' },
@@ -4955,6 +4961,12 @@
         'url' : 'extensions/ARB/WGL_ARB_create_context.txt',
         'comments' : 'Alias to WGL_ARB_create_context_profile not needed - see arbnumber 74.',
     },
+    'WGL_ARB_create_context_no_error' : {
+        'arbnumber' : 191,
+        'flags' : { 'public' },
+        'url' : 'extensions/ARB/ARB_create_context_no_error.txt',
+        'comments' : 'Shares extension spec with GLX_ARB_create_context_no_error.',
+    },
     'WGL_ARB_create_context_profile' : {
         'arbnumber' : 74,
         'flags' : { 'public' },
diff --git a/xml/glx.xml b/xml/glx.xml
index f60dd20..12124b3 100644
--- a/xml/glx.xml
+++ b/xml/glx.xml
@@ -462,6 +462,10 @@
             <unused start="0x21A9" end="0x21AF"/>
     </enums>
 
+    <enums namespace="GLX" start="0x31B3" end="0x31B3" vendor="ARB" comment="Shared with WGL.">
+        <enum value="0x31B3" name="GLX_CONTEXT_OPENGL_NO_ERROR_ARB"/>
+    </enums>
+    
     <enums namespace="GLX" start="0x8000" end="0x804F" vendor="ARB">
         <enum value="0x8000"        name="GLX_NONE"                                 comment="Attribute value"/>
         <enum value="0x8001"        name="GLX_SLOW_CONFIG"                          comment="CONFIG_CAVEAT attribute value"/>
@@ -1662,6 +1666,11 @@
                 <command name="glXCreateContextAttribsARB"/>
             </require>
         </extension>
+        <extension name="GLX_ARB_create_context_no_error" supported="glx">
+            <require>
+                <enum name="GLX_CONTEXT_OPENGL_NO_ERROR_ARB"/>
+            </require>
+        </extension>
         <extension name="GLX_ARB_create_context_profile" supported="glx">
             <require>
                 <enum name="GLX_CONTEXT_CORE_PROFILE_BIT_ARB"/>
diff --git a/xml/wgl.xml b/xml/wgl.xml
index b8e5be8..1adc1e3 100644
--- a/xml/wgl.xml
+++ b/xml/wgl.xml
@@ -456,6 +456,10 @@
         <enum value="0x308A" name="WGL_COLORSPACE_LINEAR_EXT"/>
     </enums>
 
+    <enums namespace="WGL" start="0x31B3" end="0x31B3" vendor="ARB" comment="Shared with GLX.">
+        <enum value="0x31B3" name="WGL_CONTEXT_OPENGL_NO_ERROR_ARB"/>
+    </enums>
+    
     <enums namespace="GL" start="0x8250" end="0x826F" vendor="ARB" comment="Values shared with GL. Do not allocate additional values in this range.">
         <enum value="0x8252"        name="WGL_LOSE_CONTEXT_ON_RESET_ARB"/>
         <enum value="0x8256"        name="WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB"/>
@@ -1445,6 +1449,11 @@
                 <command name="wglCreateContextAttribsARB"/>
             </require>
         </extension>
+        <extension name="WGL_ARB_create_context_no_error" supported="wgl">
+            <require>
+                <enum name="WGL_CONTEXT_OPENGL_NO_ERROR_ARB"/>
+            </require>
+        </extension>
         <extension name="WGL_ARB_create_context_profile" supported="wgl">
             <require>
                 <enum name="WGL_CONTEXT_PROFILE_MASK_ARB"/>