Merge pull request #300 from KhronosGroup/api22-dsa

Stop treating 'effective' values for DSA functions as passed arguments
diff --git a/extensions/ARB/ARB_direct_state_access.txt b/extensions/ARB/ARB_direct_state_access.txt
index 914e348..f58f30b 100644
--- a/extensions/ARB/ARB_direct_state_access.txt
+++ b/extensions/ARB/ARB_direct_state_access.txt
@@ -46,8 +46,8 @@
 
 Version
 
-    Last Modified Date:         June 14, 2018
-    Author Revision:            50
+    Last Modified Date:         September 17, 2019
+    Author Revision:            51
 
 Number
 
@@ -1246,12 +1246,14 @@
 
     Errors
 
-    Modify existing errors to apply to all forms of the commands by using
-    "effective <target>" instead of "<target>".
+    Modify existing errors to apply to all forms of the command where
+    parameters are equivalent.
 
     An INVALID_OPERATION error is generated by TextureBufferRange if
     <texture> is not the name of an existing texture object.
 
+    An INVALID_OPERATION error is generated by TextureBufferRange if the
+    effective <target> is not TEXTURE_BUFFER.
 
     (Replace the introduction of TexBuffer with the following, p. 214)
 
@@ -1297,12 +1299,20 @@
 
     Errors
 
-    Modify existing errors to apply to all forms of the commands by using
-    "effective <target>" instead of "<target>".
+    Modify existing errors to apply to all forms of the command where
+    parameters are equivalent.
 
     An INVALID_OPERATION error is generated by TextureParameter* if
     <texture> is not the name of an existing texture object.
 
+    An INVALID_OPERATION error is generated by TextureParameter* if
+    the effective <target> is not one of the valid targets listed above.
+
+    An INVALID_OPERATION error is generated by TextureParameter* if the
+    effective <target> is either TEXTURE_2D_MULTISAMPLE or
+    TEXTURE_2D_MULTISAMPLE_ARRAY , and pname is any sampler state from table
+    23.23.
+
 
     Modifications to Section 8.11.2, "Texture Parameter Queries", p. 220
 
@@ -1349,12 +1359,15 @@
 
     Errors
 
-    Modify existing errors to apply to all forms of the commands by using
-    "effective <target>" instead of "<target>".
+    Modify existing errors to apply to all forms of the command where
+    parameters are equivalent.
 
     An INVALID_OPERATION error is generated by GetTextureParameter* if
     <texture> is not the name of an existing texture object.
 
+    An INVALID_OPERATION error is generated by GetTextureParameter* if the
+    effective <target> is not one of the texture targets described above.
+
 
     Modifications to Section 8.11.3, "Texture Level Parameter Queries", p. 220
 
@@ -1395,12 +1408,16 @@
 
     Errors
 
-    Modify existing errors to apply to all forms of the commands by using
-    "effective texture target" instead of "<target>".
+    Modify existing errors to apply to all forms of the command where
+    parameters are equivalent.
 
     An INVALID_OPERATION error is generated by GetTextureLevelParameter* if
     <texture> is not the name of an existing texture object.
 
+    An INVALID_OPERATION error is generated by GetTextureLevelParameter* if
+    the effective <target> is not one of the targets described above as
+    valid for the corresponding command.
+
 
     Modifications to Section 8.11.4, "Texture Image Queries"
 
@@ -1455,11 +1472,15 @@
     An INVALID_OPERATION error is generated by GetTextureImage if <texture>
     is not the name of an existing texture object.
 
-    An INVALID_ENUM error is generated if the effective <target> is not one
+    An INVALID_ENUM error is generated by GetTexImage if <target> is not one
     of TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY,
-    TEXTURE_2D_ARRAY, TEXTURE_CUBE_MAP_ARRAY, TEXTURE_RECTANGLE, one of the
-    targets from table 8.18 (for GetTexImage and GetnTexImage only), or
-    TEXTURE_CUBE_MAP (for GetTextureImage only).
+    TEXTURE_2D_ARRAY, TEXTURE_CUBE_MAP_ARRAY, TEXTURE_RECTANGLE, or one of
+    the targets from table 8.18.
+
+    An INVALID_OPERATION error is generated by GetTextureImage if <target>
+    is not one of TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY,
+    TEXTURE_2D_ARRAY, TEXTURE_CUBE_MAP_ARRAY, TEXTURE_RECTANGLE, or
+    TEXTURE_CUBE_MAP.
 
     An INVALID_OPERATION error is generated by GetTextureImage if the buffer
     size required to store the requested data is greater than <bufSize>
@@ -4156,6 +4177,12 @@
 
     Rev.    Date        Author    Changes
     ----  -----------   --------- ---------------------------------------------
+    51    17 Sep 2019   Jon Leech Modify DSA commands to generate
+                                  INVALID_OPERATION errors instead of
+                                  INVALID_ENUM for "effective texture
+                                  <target>" mismatches, following the GL 4.6
+                                  specification (gitlab #22).
+
     50    14 Jun 2018   T. Karras Use English variable names and fix API usage
                                   in examples.