Mesa (master): egl: handle BAD_NATIVE_PIXMAP further up the stack
Emil Velikov
evelikov at kemper.freedesktop.org
Thu Aug 10 18:47:42 UTC 2017
Module: Mesa
Branch: master
Commit: df8efd5b74d45e2bfb977a92dcd3db86abd6b143
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=df8efd5b74d45e2bfb977a92dcd3db86abd6b143
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Sat Aug 5 00:25:48 2017 +0100
egl: handle BAD_NATIVE_PIXMAP further up the stack
The basic (null) check is identical across all backends.
Just move it to the top.
v2:
- Split the WINDOW vs PIXMAP into separate patches
- Move check after the dpy and config - dEQP expects so
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
---
src/egl/drivers/dri2/platform_x11.c | 5 -----
src/egl/main/eglapi.c | 3 +++
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c
index ec38e8123d..87efa016be 100644
--- a/src/egl/drivers/dri2/platform_x11.c
+++ b/src/egl/drivers/dri2/platform_x11.c
@@ -246,11 +246,6 @@ dri2_x11_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
dri2_surf->drawable, dri2_dpy->screen->root,
dri2_surf->base.Width, dri2_surf->base.Height);
} else {
- if (!drawable) {
- assert(type == EGL_PIXMAP_BIT)
- _eglError(EGL_BAD_NATIVE_PIXMAP, "dri2_create_surface");
- goto cleanup_surf;
- }
dri2_surf->drawable = drawable;
}
diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index 7f04218104..b3bcb1bac7 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -1021,6 +1021,9 @@ _eglCreatePixmapSurfaceCommon(_EGLDisplay *disp, EGLConfig config,
if ((conf->SurfaceType & EGL_PIXMAP_BIT) == 0)
RETURN_EGL_ERROR(disp, EGL_BAD_MATCH, EGL_NO_SURFACE);
+ if (native_pixmap == NULL)
+ RETURN_EGL_ERROR(disp, EGL_BAD_NATIVE_PIXMAP, EGL_NO_SURFACE);
+
surf = drv->API.CreatePixmapSurface(drv, disp, conf, native_pixmap,
attrib_list);
ret = (surf) ? _eglLinkSurface(surf) : EGL_NO_SURFACE;
More information about the mesa-commit
mailing list