OSDN Git Service

Fixed 2D Array texture binding query
authorAlexis Hetu <sugoi@google.com>
Wed, 10 Feb 2016 18:26:41 +0000 (13:26 -0500)
committerAlexis Hétu <sugoi@google.com>
Thu, 18 Feb 2016 15:44:53 +0000 (15:44 +0000)
The 2D Array texture binding query was stll using
TEXTURE_3D instead of using TEXTURE_2D_ARRAY.

Change-Id: Ib55007995c336e72aaae7fd62918f232a5c1c3fc
Reviewed-on: https://swiftshader-review.googlesource.com/4744
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
src/OpenGL/libGLESv2/Context.cpp

index 92daecd..420370d 100644 (file)
@@ -2102,50 +2102,54 @@ template<typename T> bool Context::getIntegerv(GLenum pname, T *params) const
             }\r
         }\r
         break;\r
-    case GL_TEXTURE_BINDING_2D:\r
-        {\r
-            if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
-            {\r
-                error(GL_INVALID_OPERATION);\r
-                return false;\r
-            }\r
+       case GL_TEXTURE_BINDING_2D:\r
+               if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
+               {\r
+                       error(GL_INVALID_OPERATION);\r
+                       return false;\r
+               }\r
 \r
-            *params = mState.samplerTexture[TEXTURE_2D][mState.activeSampler].name();\r
-        }\r
-        break;\r
-    case GL_TEXTURE_BINDING_CUBE_MAP:\r
-        {\r
-            if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
-            {\r
-                error(GL_INVALID_OPERATION);\r
-                return false;\r
-            }\r
+               *params = mState.samplerTexture[TEXTURE_2D][mState.activeSampler].name();\r
+               break;\r
+       case GL_TEXTURE_BINDING_CUBE_MAP:\r
+               if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
+               {\r
+                       error(GL_INVALID_OPERATION);\r
+                       return false;\r
+               }\r
 \r
-            *params = mState.samplerTexture[TEXTURE_CUBE][mState.activeSampler].name();\r
-        }\r
-        break;\r
-    case GL_TEXTURE_BINDING_EXTERNAL_OES:\r
-        {\r
-            if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
-            {\r
-                error(GL_INVALID_OPERATION);\r
-                return false;\r
-            }\r
+               *params = mState.samplerTexture[TEXTURE_CUBE][mState.activeSampler].name();\r
+               break;\r
+       case GL_TEXTURE_BINDING_EXTERNAL_OES:\r
+               if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
+               {\r
+                       error(GL_INVALID_OPERATION);\r
+                       return false;\r
+               }\r
 \r
-            *params = mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler].name();\r
-        }\r
-        break;\r
+               *params = mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler].name();\r
+               break;\r
        case GL_TEXTURE_BINDING_3D_OES:\r
-       case GL_TEXTURE_BINDING_2D_ARRAY: // GLES 3.0\r
-           {\r
-                       if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
-                       {\r
-                               error(GL_INVALID_OPERATION);\r
-                               return false;\r
-                       }\r
+               if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
+               {\r
+                       error(GL_INVALID_OPERATION);\r
+                       return false;\r
+               }\r
 \r
-                       *params = mState.samplerTexture[TEXTURE_3D][mState.activeSampler].name();\r
+               *params = mState.samplerTexture[TEXTURE_3D][mState.activeSampler].name();\r
+               break;\r
+       case GL_TEXTURE_BINDING_2D_ARRAY: // GLES 3.0\r
+               if(clientVersion < 3)\r
+               {\r
+                       return false;\r
                }\r
+               else if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
+               {\r
+                       error(GL_INVALID_OPERATION);\r
+                       return false;\r
+               }\r
+\r
+               *params = mState.samplerTexture[TEXTURE_2D_ARRAY][mState.activeSampler].name();\r
                break;\r
        case GL_COPY_READ_BUFFER_BINDING: // name, initially 0\r
                if(clientVersion >= 3)\r