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: ...@@ -38,6 +38,8 @@ public:
virtual EGLint getConfigID() const = 0; virtual EGLint getConfigID() const = 0;
virtual void finish() = 0; virtual void finish() = 0;
Display *getDisplay() const { return display; }
protected: protected:
Context(egl::Display *display) : display(display) {} Context(egl::Display *display) : display(display) {}
virtual ~Context() {}; virtual ~Context() {};
......
...@@ -810,7 +810,6 @@ EGLBoolean MakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLCont ...@@ -810,7 +810,6 @@ EGLBoolean MakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLCont
UNIMPLEMENTED(); // FIXME UNIMPLEMENTED(); // FIXME
} }
egl::setCurrentDisplay(dpy);
egl::setCurrentDrawSurface(drawSurface); egl::setCurrentDrawSurface(drawSurface);
egl::setCurrentReadSurface(readSurface); egl::setCurrentReadSurface(readSurface);
egl::setCurrentContext(context); egl::setCurrentContext(context);
...@@ -856,7 +855,14 @@ EGLDisplay GetCurrentDisplay(void) ...@@ -856,7 +855,14 @@ EGLDisplay GetCurrentDisplay(void)
{ {
TRACE("()"); 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) EGLBoolean QueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value)
......
...@@ -51,7 +51,6 @@ void attachThread() ...@@ -51,7 +51,6 @@ void attachThread()
current->error = EGL_SUCCESS; current->error = EGL_SUCCESS;
current->API = EGL_OPENGL_ES_API; current->API = EGL_OPENGL_ES_API;
current->display = EGL_NO_DISPLAY;
current->context = nullptr; current->context = nullptr;
current->drawSurface = nullptr; current->drawSurface = nullptr;
current->readSurface = nullptr; current->readSurface = nullptr;
...@@ -211,20 +210,6 @@ EGLenum getCurrentAPI() ...@@ -211,20 +210,6 @@ EGLenum getCurrentAPI()
return current->API; 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) void setCurrentContext(egl::Context *ctx)
{ {
Current *current = getCurrent(); Current *current = getCurrent();
......
...@@ -35,7 +35,6 @@ namespace egl ...@@ -35,7 +35,6 @@ namespace egl
{ {
EGLint error; EGLint error;
EGLenum API; EGLenum API;
EGLDisplay display;
Context *context; Context *context;
Surface *drawSurface; Surface *drawSurface;
Surface *readSurface; Surface *readSurface;
...@@ -49,9 +48,6 @@ namespace egl ...@@ -49,9 +48,6 @@ namespace egl
void setCurrentAPI(EGLenum API); void setCurrentAPI(EGLenum API);
EGLenum getCurrentAPI(); EGLenum getCurrentAPI();
void setCurrentDisplay(EGLDisplay dpy);
EGLDisplay getCurrentDisplay();
void setCurrentContext(Context *ctx); void setCurrentContext(Context *ctx);
Context *getCurrentContext(); Context *getCurrentContext();
......
...@@ -39,11 +39,6 @@ protected: ...@@ -39,11 +39,6 @@ protected:
} }
}; };
TEST_F(SwiftShaderTest, CompilationOnly)
{
// Empty test to trigger compilation of SwiftShader on build bots
}
TEST_F(SwiftShaderTest, Initalization) TEST_F(SwiftShaderTest, Initalization)
{ {
EXPECT_EQ(EGL_SUCCESS, eglGetError()); EXPECT_EQ(EGL_SUCCESS, eglGetError());
...@@ -162,9 +157,9 @@ TEST_F(SwiftShaderTest, Initalization) ...@@ -162,9 +157,9 @@ TEST_F(SwiftShaderTest, Initalization)
EXPECT_EQ(EGL_SUCCESS, eglGetError()); EXPECT_EQ(EGL_SUCCESS, eglGetError());
EXPECT_EQ((EGLBoolean)EGL_TRUE, success); EXPECT_EQ((EGLBoolean)EGL_TRUE, success);
// currentDisplay = eglGetCurrentDisplay(); currentDisplay = eglGetCurrentDisplay();
// EXPECT_EQ(EGL_SUCCESS, eglGetError()); EXPECT_EQ(EGL_SUCCESS, eglGetError());
// EXPECT_EQ(EGL_NO_DISPLAY, currentDisplay); EXPECT_EQ(EGL_NO_DISPLAY, currentDisplay);
currentDrawSurface = eglGetCurrentSurface(EGL_DRAW); currentDrawSurface = eglGetCurrentSurface(EGL_DRAW);
EXPECT_EQ(EGL_SUCCESS, eglGetError()); 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