Mesa (master): Revert "egl: handle EGL_IMAGE_EXTERNAL_FLUSH_EXT"

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Nov 14 06:05:45 UTC 2019


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

Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Tue Nov 12 17:32:41 2019 +0200

Revert "egl: handle EGL_IMAGE_EXTERNAL_FLUSH_EXT"

This reverts commit 34b1aa957a3f44ea9587ec43311e8434d3782cc1.

This series caused unexpected flickering artifacts with Iris driver on
Chrome OS and EGL_EXT_image_flush_external spec has not been published
yet.

Acked-by: Eric Engestrom <eric at engestrom.ch>
Acked-by: Kristian H. Kristensen <hoegsberg at google.com>

---

 src/egl/drivers/dri2/egl_dri2.c | 55 +++++++++--------------------------------
 src/egl/main/eglimage.c         | 23 -----------------
 src/egl/main/eglimage.h         |  3 ---
 3 files changed, 11 insertions(+), 70 deletions(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index e9468dcf991..23d0e469427 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -2297,27 +2297,14 @@ dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx,
       return NULL;
    }
 
-   if (dri2_dpy->image->base.version >= 18) {
-      unsigned use = 0;
-
-      if (attrs.ImageFlushExternal)
-         use |= __DRI_IMAGE_USE_FLUSH_EXTERNAL;
-
-      dri_image =
-         dri2_dpy->image->createImageFromName2(dri2_dpy->dri_screen,
-                                               attrs.Width, attrs.Height,
-                                               format, name, pitch, use,
-                                               NULL);
-   } else {
-      dri_image =
-         dri2_dpy->image->createImageFromName(dri2_dpy->dri_screen,
-                                              attrs.Width,
-                                              attrs.Height,
-                                              format,
-                                              name,
-                                              pitch,
-                                              NULL);
-   }
+   dri_image =
+      dri2_dpy->image->createImageFromName(dri2_dpy->dri_screen,
+                                           attrs.Width,
+                                           attrs.Height,
+                                           format,
+                                           name,
+                                           pitch,
+                                           NULL);
 
    return dri2_create_image_from_dri(disp, dri_image);
 }
@@ -2659,26 +2646,7 @@ dri2_create_image_dma_buf(_EGLDisplay *disp, _EGLContext *ctx,
       has_modifier = true;
    }
 
-   if (dri2_dpy->image->base.version >= 18) {
-      unsigned use = 0;
-
-      if (attrs.ImageFlushExternal)
-         use |= __DRI_IMAGE_USE_FLUSH_EXTERNAL;
-
-      if (!has_modifier)
-         modifier = DRM_FORMAT_MOD_INVALID;
-
-      dri_image =
-         dri2_dpy->image->createImageFromDmaBufs3(dri2_dpy->dri_screen,
-            attrs.Width, attrs.Height, attrs.DMABufFourCC.Value,
-            modifier, use, fds, num_fds, pitches, offsets,
-            attrs.DMABufYuvColorSpaceHint.Value,
-            attrs.DMABufSampleRangeHint.Value,
-            attrs.DMABufChromaHorizontalSiting.Value,
-            attrs.DMABufChromaVerticalSiting.Value,
-            &error,
-            NULL);
-   } else if (has_modifier) {
+   if (has_modifier) {
       if (dri2_dpy->image->base.version < 15 ||
           dri2_dpy->image->createImageFromDmaBufs2 == NULL) {
          _eglError(EGL_BAD_MATCH, "unsupported dma_buf format modifier");
@@ -2694,7 +2662,8 @@ dri2_create_image_dma_buf(_EGLDisplay *disp, _EGLContext *ctx,
             attrs.DMABufChromaVerticalSiting.Value,
             &error,
             NULL);
-   } else {
+   }
+   else {
       dri_image =
          dri2_dpy->image->createImageFromDmaBufs(dri2_dpy->dri_screen,
             attrs.Width, attrs.Height, attrs.DMABufFourCC.Value,
@@ -2765,8 +2734,6 @@ dri2_create_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp,
       dri_use |= __DRI_IMAGE_USE_SCANOUT;
    if (attrs.DRMBufferUseMESA & EGL_DRM_BUFFER_USE_CURSOR_MESA)
       dri_use |= __DRI_IMAGE_USE_CURSOR;
-   if (attrs.ImageFlushExternal)
-      dri_use |= __DRI_IMAGE_USE_FLUSH_EXTERNAL;
 
    dri2_img = malloc(sizeof *dri2_img);
    if (!dri2_img) {
diff --git a/src/egl/main/eglimage.c b/src/egl/main/eglimage.c
index ef4a68f2367..9df6b6511d5 100644
--- a/src/egl/main/eglimage.c
+++ b/src/egl/main/eglimage.c
@@ -265,25 +265,6 @@ _eglParseEXTImageDmaBufImportModifiersAttribs(_EGLImageAttribs *attrs,
    return EGL_SUCCESS;
 }
 
-static EGLint
-_eglParseEXTImageFlushExternalAttribs(_EGLImageAttribs *attrs,
-                                      _EGLDisplay *disp,
-                                      EGLint attr, EGLint val)
-{
-   if (!disp->Extensions.EXT_image_flush_external)
-      return EGL_BAD_PARAMETER;
-
-   switch (attr) {
-   case EGL_IMAGE_EXTERNAL_FLUSH_EXT:
-      attrs->ImageFlushExternal = val;
-      break;
-   default:
-      return EGL_BAD_PARAMETER;
-   }
-
-   return EGL_SUCCESS;
-}
-
 /**
  * Parse the list of image attributes.
  *
@@ -305,10 +286,6 @@ _eglParseImageAttribList(_EGLImageAttribs *attrs, _EGLDisplay *disp,
       EGLint attr = attrib_list[i++];
       EGLint val = attrib_list[i];
 
-      err = _eglParseEXTImageFlushExternalAttribs(attrs, disp, attr, val);
-      if (err == EGL_SUCCESS)
-         continue;
-
       err = _eglParseKHRImageAttribs(attrs, disp, attr, val);
       if (err == EGL_SUCCESS)
          continue;
diff --git a/src/egl/main/eglimage.h b/src/egl/main/eglimage.h
index 84ad0f01b0c..6d2e7ba8a2d 100644
--- a/src/egl/main/eglimage.h
+++ b/src/egl/main/eglimage.h
@@ -50,9 +50,6 @@ struct _egl_image_attrib_int
 
 struct _egl_image_attribs
 {
-   /* EGL_EXT_image_flush_external */
-   EGLBoolean ImageFlushExternal;
-
    /* EGL_KHR_image_base */
    EGLBoolean ImagePreserved;
 




More information about the mesa-commit mailing list