egl: fix type mismatch error type in _eglInitSurface
authorTapani Pälli <tapani.palli@intel.com>
Thu, 20 Oct 2016 10:51:40 +0000 (13:51 +0300)
committerTapani Pälli <tapani.palli@intel.com>
Tue, 25 Oct 2016 04:24:11 +0000 (07:24 +0300)
commit282b87dd03317ff39eb409b0ac2cbdc17d7e5aa3
tree70d6e081f61c62ca8ccf436a73b2140d883590b5
parent1ef787339774bc7f1cc9c1615722f944005e070c
egl: fix type mismatch error type in _eglInitSurface

EGL spec defines EGL_BAD_MATCH for windows, pixmaps and pbuffers in
case where user creates a surface but config does not support rendering
to such surface type.

Following quotes are from EGL 1.5 spec 3.5 "Rendering Surfaces" :

for eglCreatePlatformWindowSurface, eglCreateWindowSurface:

   "If config does not support rendering to windows (the EGL_SURFACE_TYPE
   attribute does not contain EGL_WINDOW_BIT ), an EGL_BAD_MATCH error is
   generated."

for eglCreatePbufferSurface:

   "If config does not support pbuffers, an EGL_BAD_MATCH error is
   generated."

for eglCreatePlatformPixmapSurface, eglCreatePixmapSurface:

   "If config does not support rendering to pixmaps (the EGL_SURFACE_TYPE
   attribute does not contain EGL_PIXMAP_BIT ), an EGL_BAD_MATCH error is
   generated."

Fixes following dEQP test:

   dEQP-EGL.functional.negative_api.create_pbuffer_surface

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
src/egl/main/eglsurface.c