Fixed 2D Array texture binding query
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>
diff --git a/src/OpenGL/libGLESv2/Context.cpp b/src/OpenGL/libGLESv2/Context.cpp
index 92daecd..420370d 100644
--- a/src/OpenGL/libGLESv2/Context.cpp
+++ b/src/OpenGL/libGLESv2/Context.cpp
@@ -2102,50 +2102,54 @@
}
}
break;
- case GL_TEXTURE_BINDING_2D:
- {
- if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)
- {
- error(GL_INVALID_OPERATION);
- return false;
- }
-
- *params = mState.samplerTexture[TEXTURE_2D][mState.activeSampler].name();
- }
- break;
- case GL_TEXTURE_BINDING_CUBE_MAP:
- {
- if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)
- {
- error(GL_INVALID_OPERATION);
- return false;
- }
-
- *params = mState.samplerTexture[TEXTURE_CUBE][mState.activeSampler].name();
- }
- break;
- case GL_TEXTURE_BINDING_EXTERNAL_OES:
- {
- if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)
- {
- error(GL_INVALID_OPERATION);
- return false;
- }
-
- *params = mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler].name();
- }
- break;
- case GL_TEXTURE_BINDING_3D_OES:
- case GL_TEXTURE_BINDING_2D_ARRAY: // GLES 3.0
- {
- if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)
- {
- error(GL_INVALID_OPERATION);
- return false;
- }
-
- *params = mState.samplerTexture[TEXTURE_3D][mState.activeSampler].name();
+ case GL_TEXTURE_BINDING_2D:
+ if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)
+ {
+ error(GL_INVALID_OPERATION);
+ return false;
}
+
+ *params = mState.samplerTexture[TEXTURE_2D][mState.activeSampler].name();
+ break;
+ case GL_TEXTURE_BINDING_CUBE_MAP:
+ if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)
+ {
+ error(GL_INVALID_OPERATION);
+ return false;
+ }
+
+ *params = mState.samplerTexture[TEXTURE_CUBE][mState.activeSampler].name();
+ break;
+ case GL_TEXTURE_BINDING_EXTERNAL_OES:
+ if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)
+ {
+ error(GL_INVALID_OPERATION);
+ return false;
+ }
+
+ *params = mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler].name();
+ break;
+ case GL_TEXTURE_BINDING_3D_OES:
+ if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)
+ {
+ error(GL_INVALID_OPERATION);
+ return false;
+ }
+
+ *params = mState.samplerTexture[TEXTURE_3D][mState.activeSampler].name();
+ break;
+ case GL_TEXTURE_BINDING_2D_ARRAY: // GLES 3.0
+ if(clientVersion < 3)
+ {
+ return false;
+ }
+ else if(mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)
+ {
+ error(GL_INVALID_OPERATION);
+ return false;
+ }
+
+ *params = mState.samplerTexture[TEXTURE_2D_ARRAY][mState.activeSampler].name();
break;
case GL_COPY_READ_BUFFER_BINDING: // name, initially 0
if(clientVersion >= 3)