<div dir="ltr">Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 9, 2018 at 3:43 PM, Jason Ekstrand <span dir="ltr"><<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Daniel Stone <<a href="mailto:daniels@collabora.com">daniels@collabora.com</a>><br>
<br>
Signed-off-by: Daniel Stone <<a href="mailto:daniels@collabora.com">daniels@collabora.com</a>><br>
---<br>
 src/egl/main/eglapi.c     |  1 +<br>
 src/egl/main/egldisplay.h |  1 +<br>
 src/egl/main/eglimage.c   | 26 ++++++++++++++++++++++++++<br>
 src/egl/main/eglimage.h   |  3 +++<br>
 4 files changed, 31 insertions(+)<br>
<br>
diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c<br>
index c110349..4645221 100644<br>
--- a/src/egl/main/eglapi.c<br>
+++ b/src/egl/main/eglapi.c<br>
@@ -488,6 +488,7 @@ _eglCreateExtensionsString(_<wbr>EGLDisplay *dpy)<br>
    _EGL_CHECK_EXTENSION(EXT_<wbr>create_context_robustness);<br>
    _EGL_CHECK_EXTENSION(EXT_<wbr>image_dma_buf_import);<br>
    _EGL_CHECK_EXTENSION(EXT_<wbr>image_dma_buf_import_<wbr>modifiers);<br>
+   _EGL_CHECK_EXTENSION(EXT_<wbr>image_implicit_sync_control);<br>
    _EGL_CHECK_EXTENSION(EXT_swap_<wbr>buffers_with_damage);<br>
<br>
    _EGL_CHECK_EXTENSION(IMG_<wbr>context_priority);<br>
diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h<br>
index d7e5199..f38ed06 100644<br>
--- a/src/egl/main/egldisplay.h<br>
+++ b/src/egl/main/egldisplay.h<br>
@@ -104,6 +104,7 @@ struct _egl_extensions<br>
    EGLBoolean EXT_create_context_robustness;<br>
    EGLBoolean EXT_image_dma_buf_import;<br>
    EGLBoolean EXT_image_dma_buf_import_<wbr>modifiers;<br>
+   EGLBoolean EXT_image_implicit_sync_<wbr>control;<br>
    EGLBoolean EXT_pixel_format_float;<br>
    EGLBoolean EXT_swap_buffers_with_damage;<br>
<br>
diff --git a/src/egl/main/eglimage.c b/src/egl/main/eglimage.c<br>
index 46bf0c5..cc55acc 100644<br>
--- a/src/egl/main/eglimage.c<br>
+++ b/src/egl/main/eglimage.c<br>
@@ -265,6 +265,28 @@ _<wbr>eglParseEXTImageDmaBufImportMo<wbr>difiersAttribs(_<wbr>EGLImageAttribs *attrs,<br>
    return EGL_SUCCESS;<br>
 }<br>
<br>
+static EGLint<br>
+_<wbr>eglParseEXTImageImplicitSyncCo<wbr>ntrolAttribs(_EGLImageAttribs *attrs,<br>
+                                            _EGLDisplay *dpy,<br>
+                                            EGLint attr, EGLint val)<br>
+{<br>
+   if (!dpy->Extensions.EXT_image_<wbr>implicit_sync_control)<br>
+      return EGL_BAD_PARAMETER;<br>
+<br>
+   switch (attr) {<br>
+   case EGL_IMPORT_SYNC_TYPE_EXT:<br>
+      if (val != EGL_IMPORT_IMPLICIT_SYNC_EXT &&<br>
+          val != EGL_IMPORT_EXPLICIT_SYNC_EXT)<br>
+         return EGL_BAD_ATTRIBUTE;<br>
+      attrs->ExplicitSync = (val == EGL_IMPORT_EXPLICIT_SYNC_EXT);<br>
+      break;<br>
+   default:<br>
+      return EGL_BAD_PARAMETER;<br>
+   }<br>
+<br>
+   return EGL_SUCCESS;<br>
+}<br>
+<br>
 /**<br>
  * Parse the list of image attributes.<br>
  *<br>
@@ -313,6 +335,10 @@ _eglParseImageAttribList(_<wbr>EGLImageAttribs *attrs, _EGLDisplay *dpy,<br>
       if (err == EGL_SUCCESS)<br>
          continue;<br>
<br>
+      err = _<wbr>eglParseEXTImageImplicitSyncCo<wbr>ntrolAttribs(attrs, dpy, attr, val);<br>
+      if (err == EGL_SUCCESS)<br>
+         continue;<br>
+<br>
       return _eglError(err, __func__);<br>
    }<br>
<br>
diff --git a/src/egl/main/eglimage.h b/src/egl/main/eglimage.h<br>
index 8751792..0c3c861 100644<br>
--- a/src/egl/main/eglimage.h<br>
+++ b/src/egl/main/eglimage.h<br>
@@ -79,6 +79,9 @@ struct _egl_image_attribs<br>
    struct _egl_image_attrib_int DMABufSampleRangeHint;<br>
    struct _egl_image_attrib_int DMABufChromaHorizontalSiting;<br>
    struct _egl_image_attrib_int DMABufChromaVerticalSiting;<br>
+<br>
+   /* EGL_EXT_image_implicit_sync_<wbr>control */<br>
+   EGLBoolean ExplicitSync;<br>
 };<br>
<br>
 /**<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.5.0.400.gff86faf<br>
<br>
</font></span></blockquote></div><br></div>