Texture2DArray textures can now be bound properly.
Change-Id: I3516b67c266feaede3e63c30615bd9f2891c0f1b
Reviewed-on: https://swiftshader-review.googlesource.com/3083
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
mState.samplerTexture[TEXTURE_3D][mState.activeSampler] = getTexture(texture);\r
}\r
\r
+void Context::bindTexture2DArray(GLuint texture)\r
+{\r
+ mResourceManager->checkTextureAllocation(texture, TEXTURE_2D_ARRAY);\r
+\r
+ mState.samplerTexture[TEXTURE_2D_ARRAY][mState.activeSampler] = getTexture(texture);\r
+}\r
+\r
void Context::bindReadFramebuffer(GLuint framebuffer)\r
{\r
if(!getFramebuffer(framebuffer))\r
void bindTextureCubeMap(GLuint texture);\r
void bindTextureExternal(GLuint texture);\r
void bindTexture3D(GLuint texture);\r
+ void bindTexture2DArray(GLuint texture);\r
void bindReadFramebuffer(GLuint framebuffer);\r
void bindDrawFramebuffer(GLuint framebuffer);\r
void bindRenderbuffer(GLuint renderbuffer);\r
{\r
case GL_TEXTURE_2D:\r
context->bindTexture2D(texture);\r
- return;\r
+ break;\r
case GL_TEXTURE_CUBE_MAP:\r
context->bindTextureCubeMap(texture);\r
- return;\r
+ break;\r
case GL_TEXTURE_EXTERNAL_OES:\r
context->bindTextureExternal(texture);\r
- return;\r
+ break;\r
case GL_TEXTURE_2D_ARRAY:\r
if(clientVersion < 3)\r
{\r
return error(GL_INVALID_ENUM);\r
}\r
- else\r
- {\r
- UNIMPLEMENTED();\r
- context->bindTexture3D(texture);\r
- break;\r
- }\r
+ context->bindTexture2DArray(texture);\r
+ break;\r
case GL_TEXTURE_3D_OES:\r
context->bindTexture3D(texture);\r
- return;\r
+ break;\r
default:\r
return error(GL_INVALID_ENUM);\r
}\r