Fix setting depth+stencil texture attachment. Change-Id: I97f30a38f2f78ae5c4e2be8899dae3c8ff8bc748 Reviewed-on: https://swiftshader-review.googlesource.com/8968 Reviewed-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <capn@google.com> Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cpp b/src/OpenGL/libGLESv2/libGLESv2.cpp index ab9fa7e..172a645 100644 --- a/src/OpenGL/libGLESv2/libGLESv2.cpp +++ b/src/OpenGL/libGLESv2/libGLESv2.cpp
@@ -2062,6 +2062,8 @@ if(context) { + GLint clientVersion = context->getClientVersion(); + if(texture == 0) { textarget = GL_NONE; @@ -2098,7 +2100,7 @@ return error(GL_INVALID_ENUM); } - if((level != 0) && (context->getClientVersion() < 3)) + if((level != 0) && (clientVersion < 3)) { return error(GL_INVALID_VALUE); } @@ -2174,6 +2176,14 @@ break; case GL_DEPTH_ATTACHMENT: framebuffer->setDepthbuffer(textarget, texture, level); break; case GL_STENCIL_ATTACHMENT: framebuffer->setStencilbuffer(textarget, texture, level); break; + case GL_DEPTH_STENCIL_ATTACHMENT: + if(clientVersion >= 3) + { + framebuffer->setDepthbuffer(textarget, texture, level); + framebuffer->setStencilbuffer(textarget, texture, level); + break; + } + else return error(GL_INVALID_ENUM); default: return error(GL_INVALID_ENUM); }