Expose surfaceless context extension strings
It seems like SwiftShader already supports surfaceless contexts properly in
eglMakeCurrent, so we might as well expose the extension strings.
Change-Id: I3c1b85296c46536df9a8bd754856d825307181d0
Reviewed-on: https://swiftshader-review.googlesource.com/17948
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cpp b/src/OpenGL/libGLESv2/libGLESv2.cpp
index 8fb198f..34b3db0 100644
--- a/src/OpenGL/libGLESv2/libGLESv2.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv2.cpp
@@ -628,6 +628,11 @@
framebuffer = context->getDrawFramebuffer();
}
+ if(!framebuffer)
+ {
+ return GL_FRAMEBUFFER_UNDEFINED_OES;
+ }
+
return framebuffer->completeness();
}
@@ -956,7 +961,7 @@
es2::Framebuffer *framebuffer = context->getReadFramebuffer();
- if(framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
+ if(!framebuffer || (framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE))
{
return error(GL_INVALID_FRAMEBUFFER_OPERATION);
}
@@ -1067,7 +1072,7 @@
{
es2::Framebuffer *framebuffer = context->getReadFramebuffer();
- if(framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
+ if(!framebuffer || (framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE))
{
return error(GL_INVALID_FRAMEBUFFER_OPERATION);
}
@@ -2776,6 +2781,11 @@
es2::Framebuffer *framebuffer = context->getFramebuffer(framebufferName);
+ if(!framebuffer)
+ {
+ return error(GL_INVALID_OPERATION);
+ }
+
GLenum attachmentType;
GLuint attachmentHandle;
GLint attachmentLayer;
@@ -6359,7 +6369,7 @@
{
es2::Framebuffer *framebuffer = context->getReadFramebuffer();
- if(framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
+ if(!framebuffer || (framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE))
{
return error(GL_INVALID_FRAMEBUFFER_OPERATION);
}