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);
}