diff --git a/extensions/EXT/EGL_EXT_gl_colorspace_scrgb.txt b/extensions/EXT/EGL_EXT_gl_colorspace_scrgb.txt
index 59c5312..708fb17 100644
--- a/extensions/EXT/EGL_EXT_gl_colorspace_scrgb.txt
+++ b/extensions/EXT/EGL_EXT_gl_colorspace_scrgb.txt
@@ -27,7 +27,7 @@
 
 Version
 
-     Version 1 - June 21, 2017
+     Version 2 - August 25, 2017
 
 Number
 
@@ -44,11 +44,12 @@
 
 Overview
 
-    This extension provides a new color space option, scRGB, for applications to
-    choose from when creating an EGLSurface. The scRGB color space defines a
-    non-linear display referred space. It has the same white point and color
-    primaries as sRGB, and thus is backward-compatible with sRGB. Refer to
-    the IEC 61966-2-2:2003 standard for details on scRGB color space.
+    This extension provides an extended sRGB (also called scRGB) color
+    space option for applications to choose from when creating an EGLSurface.
+    This extension defines the non-linear display referred scRGB color space.
+    It has the same white point and color primaries as sRGB, and thus is
+    backward-compatible with sRGB. Refer to the IEC 61966-2-2:2003 standard
+    for details on scRGB color space.
 
     This extension chooses to use floating-point formats for scRGB color space.
     For each color channel, the floating-point values of 0.0 and 1.0 still
@@ -59,8 +60,8 @@
     map to luminance levels by the underlying display pipeline. The expected
     mapping is such that a color value of (1.0, 1.0, 1.0) corresponds to a
     luminance level of 80 nits on a standardized studio monitor. As the color
-    value per channel goes beyond 1.0 and up to 125.0, the corresponding
-    luminance levels also increase linearly to a maximum of 10000 nits.
+    value per channel goes beyond 1.0 and up to ~7.83, the corresponding
+    luminance levels also increase to a maximum of 10000 nits.
 
     The application is responsible for applying the extended sRGB transfer
     function to color values written to or read from a surface with a
@@ -87,11 +88,12 @@
 
     If its value is EGL_GL_COLORSPACE_SCRGB_EXT, then a non-linear scRGB
     color space is assumed. with a corresponding GL_FRAMEBUFFER_ATTACHMENT_-
-    COLOR_ENCODING value of GL_SRGB. As defined in IEC 61966-2-2:2003, scRGB
-    is a color space and has the same white point and color primaries as
-    those of sRGB. The application is responsible for applying the appropriate
-    extended sRGB transfer function when reading or writing to this surface.
-
+    COLOR_ENCODING value of GL_LINEAR as neither OpenGL nor OpenGL ES
+    supports framebuffers using an scRGB transfer function.
+    The application is responsible for applying the appropriate extended
+    sRGB transfer function when reading or writing to this buffer.
+    scRGB is defined to use the same primaries and white-point as sRGB.
+    See IEC 61966-2-2:2003 for details.
 
     Add two paragraphs after the 4th paragraph above:
 
@@ -100,8 +102,7 @@
     (1.0, 1.0, 1.0) correspond to a luminance range of 0 to 80 nits, which is
     the same luminance range for sRGB. To achieve a larger dynamic range of up
     to 10000 nits, the output values can go beyond 1.0 and to a range of
-    [0.0, 125.0] (approximately 7.83 after the extended sRGB transfer function
-    applied) for each channel.
+    [0.0, ~7.83] for each channel.
 
     The effective color gamut and luminance range of the content that extend
     beyond those of sRGB may be described via EGL_EXT_surface_SMPTE2086_metadata.
@@ -125,5 +126,5 @@
     Version 1, 2017/06/21
     - Initial draft
 
-    Version 2, 2017/08/17
+    Version 2, 2017/08/25
     - Clarify definition of color space
diff --git a/extensions/EXT/EGL_EXT_gl_colorspace_scrgb_linear.txt b/extensions/EXT/EGL_EXT_gl_colorspace_scrgb_linear.txt
index 601edf0..4b906c6 100644
--- a/extensions/EXT/EGL_EXT_gl_colorspace_scrgb_linear.txt
+++ b/extensions/EXT/EGL_EXT_gl_colorspace_scrgb_linear.txt
@@ -8,6 +8,7 @@
 
 Contributors
 
+    Courtney Goeltzenleuchter
     Lauri Hyvarinen
     Weiwan Liu
     Arun Swain
@@ -26,7 +27,7 @@
 
 Version
 
-     Version 3 - November 22, 2016
+     Version 4 - August 25, 2017
 
 Number
 
@@ -38,15 +39,17 @@
     (August 27, 2014).
 
     This extension requires EGL_KHR_gl_colorspace and EGL_EXT_pixel_format_-
-    float, and interacts with EGL_EXT_surface_SMPTE2086_metadata.
+    float, and interacts with EGL_EXT_surface_SMPTE2086_metadata. This extension
+    is closely related to the EGL_EXT_gl_colorspace_scrgb.
 
 Overview
 
-    This extension provides a new color space option, scRGB, for applications to
-    choose from when creating an EGLSurface. The scRGB color space defines a
-    linear display referred space. It has the same white point and color
-    primaries as sRGB, and thus is backward-compatible with sRGB. Refer to
-    the IEC 61966-2-2:2003 standard for details on scRGB color space.
+    This extension provides an extended sRGB (also called scRGB) color
+    space option for applications to choose from when creating an EGLSurface.
+    This extension defines the linear display referred scRGB color space.
+    It has the same white point and color primaries as sRGB, and thus is
+    backward-compatible with sRGB. Refer to the IEC 61966-2-2:2003 standard
+    for details on scRGB color space.
 
     This extension chooses to use floating-point formats for scRGB color space.
     For each color channel, the floating-point values of 0.0 and 1.0 still
@@ -79,9 +82,8 @@
 
     If its value is EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT, then a linear scRGB
     color space is assumed, with a corresponding GL_FRAMEBUFFER_ATTACHMENT_-
-    COLOR_ENCODING value of GL_LINEAR. As defined in IEC 61966-2-2:2003, scRGB
-    is a color space that has the same white point and color primaries as
-    those of sRGB.
+    COLOR_ENCODING value of GL_LINEAR. scRGB is defined to use the same
+    primaries and white-point as sRGB. See IEC 61966-2-2:2003 for details.
 
     Add two paragraphs after the 4th paragraph above:
 
@@ -120,6 +122,6 @@
     Version 3, 2016/11/22
     - Change status to complete
 
-    Version 4, 2017/0817
+    Version 4, 2017/08/25
     - Clarifications on the definition of scRGB colorspace
 
