Mesa (master): egl: propagate EGL_BAD_ATTRIBUTE during EGLImage attr parsing

Emil Velikov evelikov at kemper.freedesktop.org
Wed Jul 19 12:10:13 UTC 2017


Module: Mesa
Branch: master
Commit: 644ac2b780366582fe1fee9a677b1f6a508e65dc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=644ac2b780366582fe1fee9a677b1f6a508e65dc

Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Jul 13 20:04:33 2017 +0100

egl: propagate EGL_BAD_ATTRIBUTE during EGLImage attr parsing

Earlier commit refactored/split the parsing into separate hunks.
While no functional change was intended, it did not attribute that
different error is set when the attrib. value is incorrect.

Fixes:  3ee2be4113d ("egl: split _eglParseImageAttribList into per
extension functions")
Cc: Michel Dänzer <michel at daenzer.net>
Reported-by: Michel Dänzer <michel at daenzer.net>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Tested-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

---

 src/egl/main/eglimage.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/egl/main/eglimage.c b/src/egl/main/eglimage.c
index a96075fe55..72a556e8db 100644
--- a/src/egl/main/eglimage.c
+++ b/src/egl/main/eglimage.c
@@ -302,6 +302,13 @@ _eglParseImageAttribList(_EGLImageAttribs *attrs, _EGLDisplay *dpy,
       if (err == EGL_SUCCESS)
           continue;
 
+      /* EXT_image_dma_buf_import states that if invalid value is provided for
+       * its attributes, we should return EGL_BAD_ATTRIBUTE.
+       * Bail out ASAP, since follow-up calls can return another EGL_BAD error.
+       */
+      if (err == EGL_BAD_ATTRIBUTE)
+          return _eglError(err, __func__);
+
       err = _eglParseEXTImageDmaBufImportModifiersAttribs(attrs, dpy, attr, val);
       if (err == EGL_SUCCESS)
           continue;




More information about the mesa-commit mailing list