Implement missing EGL surface queries.
Fixes dEQP-EGL.functional.query_surface.* tests.
Change-Id: I9d0d2dee83140613af24471d350777959ee37565
Reviewed-on: https://swiftshader-review.googlesource.com/18488
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/OpenGL/libEGL/Surface.cpp b/src/OpenGL/libEGL/Surface.cpp
index ead75a6..2d090b7 100644
--- a/src/OpenGL/libEGL/Surface.cpp
+++ b/src/OpenGL/libEGL/Surface.cpp
@@ -51,24 +51,6 @@
{
Surface::Surface(const Display *display, const Config *config) : display(display), config(config)
{
- backBuffer = nullptr;
- depthStencil = nullptr;
- texture = nullptr;
-
- width = 0;
- height = 0;
- largestPBuffer = EGL_FALSE;
- pixelAspectRatio = (EGLint)(1.0 * EGL_DISPLAY_SCALING); // FIXME: Determine actual pixel aspect ratio
- renderBuffer = EGL_BACK_BUFFER;
- swapBehavior = EGL_BUFFER_PRESERVED;
- textureFormat = EGL_NO_TEXTURE;
- textureTarget = EGL_NO_TEXTURE;
- clientBufferFormat = EGL_NO_TEXTURE;
- clientBufferType = EGL_NO_TEXTURE;
- clientBuffer = nullptr;
- clientBufferPlane = -1;
- swapInterval = -1;
- setSwapInterval(1);
}
Surface::~Surface()
@@ -167,6 +149,16 @@
return depthStencil;
}
+void Surface::setMipmapLevel(EGLint mipmapLevel)
+{
+ this->mipmapLevel = mipmapLevel;
+}
+
+void Surface::setMultisampleResolve(EGLenum multisampleResolve)
+{
+ this->multisampleResolve = multisampleResolve;
+}
+
void Surface::setSwapBehavior(EGLenum swapBehavior)
{
this->swapBehavior = swapBehavior;
@@ -204,6 +196,16 @@
return height;
}
+EGLint Surface::getMipmapLevel() const
+{
+ return mipmapLevel;
+}
+
+EGLenum Surface::getMultisampleResolve() const
+{
+ return multisampleResolve;
+}
+
EGLint Surface::getPixelAspectRatio() const
{
return pixelAspectRatio;
@@ -292,7 +294,7 @@
WindowSurface::WindowSurface(Display *display, const Config *config, EGLNativeWindowType window)
: Surface(display, config), window(window)
{
- frameBuffer = nullptr;
+ pixelAspectRatio = (EGLint)(1.0 * EGL_DISPLAY_SCALING); // FIXME: Determine actual pixel aspect ratio
}
WindowSurface::~WindowSurface()