Commit 8aca1dfa by Nicolas Capens

Fix resetting current display when no current context.

Bug swiftshader:65 Change-Id: I8454538d144ed37a56b98c46ed1e88ffdced387e Reviewed-on: https://swiftshader-review.googlesource.com/10188Tested-by: 's avatarNicolas Capens <capn@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent 9282c6d7
......@@ -38,6 +38,8 @@ public:
virtual EGLint getConfigID() const = 0;
virtual void finish() = 0;
Display *getDisplay() const { return display; }
protected:
Context(egl::Display *display) : display(display) {}
virtual ~Context() {};
......
......@@ -810,7 +810,6 @@ EGLBoolean MakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLCont
UNIMPLEMENTED(); // FIXME
}
egl::setCurrentDisplay(dpy);
egl::setCurrentDrawSurface(drawSurface);
egl::setCurrentReadSurface(readSurface);
egl::setCurrentContext(context);
......@@ -856,7 +855,14 @@ EGLDisplay GetCurrentDisplay(void)
{
TRACE("()");
return success(egl::getCurrentDisplay());
egl::Context *context = egl::getCurrentContext();
if(!context)
{
return success(EGL_NO_DISPLAY);
}
return success(context->getDisplay());
}
EGLBoolean QueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value)
......
......@@ -51,7 +51,6 @@ void attachThread()
current->error = EGL_SUCCESS;
current->API = EGL_OPENGL_ES_API;
current->display = EGL_NO_DISPLAY;
current->context = nullptr;
current->drawSurface = nullptr;
current->readSurface = nullptr;
......@@ -211,20 +210,6 @@ EGLenum getCurrentAPI()
return current->API;
}
void setCurrentDisplay(EGLDisplay dpy)
{
Current *current = getCurrent();
current->display = dpy;
}
EGLDisplay getCurrentDisplay()
{
Current *current = getCurrent();
return current->display;
}
void setCurrentContext(egl::Context *ctx)
{
Current *current = getCurrent();
......
......@@ -35,7 +35,6 @@ namespace egl
{
EGLint error;
EGLenum API;
EGLDisplay display;
Context *context;
Surface *drawSurface;
Surface *readSurface;
......@@ -49,9 +48,6 @@ namespace egl
void setCurrentAPI(EGLenum API);
EGLenum getCurrentAPI();
void setCurrentDisplay(EGLDisplay dpy);
EGLDisplay getCurrentDisplay();
void setCurrentContext(Context *ctx);
Context *getCurrentContext();
......
......@@ -39,11 +39,6 @@ protected:
}
};
TEST_F(SwiftShaderTest, CompilationOnly)
{
// Empty test to trigger compilation of SwiftShader on build bots
}
TEST_F(SwiftShaderTest, Initalization)
{
EXPECT_EQ(EGL_SUCCESS, eglGetError());
......@@ -162,9 +157,9 @@ TEST_F(SwiftShaderTest, Initalization)
EXPECT_EQ(EGL_SUCCESS, eglGetError());
EXPECT_EQ((EGLBoolean)EGL_TRUE, success);
// currentDisplay = eglGetCurrentDisplay();
// EXPECT_EQ(EGL_SUCCESS, eglGetError());
// EXPECT_EQ(EGL_NO_DISPLAY, currentDisplay);
currentDisplay = eglGetCurrentDisplay();
EXPECT_EQ(EGL_SUCCESS, eglGetError());
EXPECT_EQ(EGL_NO_DISPLAY, currentDisplay);
currentDrawSurface = eglGetCurrentSurface(EGL_DRAW);
EXPECT_EQ(EGL_SUCCESS, eglGetError());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment