diff options
author | Tapani Pälli <tapani.palli@intel.com> | 2019-11-12 17:32:33 +0200 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-11-14 08:43:21 -0800 |
commit | d7c0a1d3d4732013b01cae0eb01a8e788c58f958 (patch) | |
tree | b272fe2c3d240094f64f418b3e9d3a51c3db10c4 | |
parent | 7c61e5192faf16f9023ca422f627f24f5dcbb3a7 (diff) | |
download | mesa-d7c0a1d3d4732013b01cae0eb01a8e788c58f958.tar.gz mesa-d7c0a1d3d4732013b01cae0eb01a8e788c58f958.tar.bz2 mesa-d7c0a1d3d4732013b01cae0eb01a8e788c58f958.zip |
Revert "egl: implement new functions from EGL_EXT_image_flush_external"
This reverts commit c1c574fdf18f2aeb1c03f9670bf00e1dcd22d99d.
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@engestrom.ch>
Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
(cherry picked from commit e64b91e34aa04a137a322ae9444c1c603383c6d4)
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 34 | ||||
-rw-r--r-- | src/egl/generate/egl.xml | 12 | ||||
-rw-r--r-- | src/egl/generate/eglFunctionList.py | 2 | ||||
-rw-r--r-- | src/egl/main/eglapi.c | 50 | ||||
-rw-r--r-- | src/egl/main/eglapi.h | 5 | ||||
-rw-r--r-- | src/egl/main/egldisplay.h | 1 | ||||
-rw-r--r-- | src/egl/main/eglentrypoint.h | 2 |
7 files changed, 0 insertions, 106 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 3015ad5ae14..e9468dcf991 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -801,7 +801,6 @@ dri2_setup_screen(_EGLDisplay *disp) } disp->Extensions.KHR_image_base = EGL_TRUE; - disp->Extensions.EXT_image_flush_external = EGL_TRUE; disp->Extensions.KHR_gl_renderbuffer_image = EGL_TRUE; if (dri2_dpy->image->base.version >= 5 && dri2_dpy->image->createImageFromTexture) { @@ -3476,37 +3475,6 @@ dri2_interop_export_object(_EGLDisplay *disp, _EGLContext *ctx, return dri2_dpy->interop->export_object(dri2_ctx->dri_context, in, out); } -static void -dri2_image_flush_external(_EGLDisplay *disp, _EGLContext *ctx, - _EGLImage *image) -{ - struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); - struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx); - struct dri2_egl_image *dri2_img = dri2_egl_image(image); - - if (dri2_dpy->image->base.version < 18) - return; - - dri2_dpy->image->imageFlushExternal(dri2_ctx->dri_context, - dri2_img->dri_image, 0); -} - -static void -dri2_image_invalidate_external(_EGLDisplay *disp, _EGLContext *ctx, - _EGLImage *image) -{ - struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); - struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx); - struct dri2_egl_image *dri2_img = dri2_egl_image(image); - - if (dri2_dpy->image->base.version < 18) - return; - - dri2_dpy->image->imageInvalidateExternal(dri2_ctx->dri_context, - dri2_img->dri_image, 0); -} - - /** * This is the main entrypoint into the driver, called by libEGL. * Gets an _EGLDriver object and init its dispatch table. @@ -3565,6 +3533,4 @@ _eglInitDriver(_EGLDriver *dri2_drv) dri2_drv->API.GLInteropExportObject = dri2_interop_export_object; dri2_drv->API.DupNativeFenceFDANDROID = dri2_dup_native_fence_fd; dri2_drv->API.SetBlobCacheFuncsANDROID = dri2_set_blob_cache_funcs; - dri2_drv->API.ImageFlushExternal = dri2_image_flush_external; - dri2_drv->API.ImageInvalidateExternal = dri2_image_invalidate_external; } diff --git a/src/egl/generate/egl.xml b/src/egl/generate/egl.xml index 8194c7316c8..10e34242089 100644 --- a/src/egl/generate/egl.xml +++ b/src/egl/generate/egl.xml @@ -1795,18 +1795,6 @@ <param><ptype>EGLint</ptype> <name>external_win_id</name></param> <param><ptype>EGLint</ptype> <name>policy</name></param> </command> - <command> - <proto><ptype>EGLBoolean</ptype> <name>eglImageFlushExternalEXT</name></proto> - <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> - <param><ptype>EGLImageKHR</ptype> <name>image</name></param> - <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> - </command> - <command> - <proto><ptype>EGLBoolean</ptype> <name>eglImageInvalidateExternalEXT</name></proto> - <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> - <param><ptype>EGLImageKHR</ptype> <name>image</name></param> - <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> - </command> </commands> <!-- SECTION: EGL API interface definitions. --> diff --git a/src/egl/generate/eglFunctionList.py b/src/egl/generate/eglFunctionList.py index 2f533493037..192280f58f0 100644 --- a/src/egl/generate/eglFunctionList.py +++ b/src/egl/generate/eglFunctionList.py @@ -213,7 +213,5 @@ EGL_FUNCTIONS = ( _eglFunc("eglGetDisplayDriverName", "display"), _eglFunc("eglGetDisplayDriverConfig", "display"), - _eglFunc("eglImageFlushExternalEXT", "display"), - _eglFunc("eglImageInvalidateExternalEXT", "display"), ) diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index 68db0bd4cb9..51557be0864 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -499,7 +499,6 @@ _eglCreateExtensionsString(_EGLDisplay *disp) _EGL_CHECK_EXTENSION(EXT_create_context_robustness); _EGL_CHECK_EXTENSION(EXT_image_dma_buf_import); _EGL_CHECK_EXTENSION(EXT_image_dma_buf_import_modifiers); - _EGL_CHECK_EXTENSION(EXT_image_flush_external); _EGL_CHECK_EXTENSION(EXT_surface_CTA861_3_metadata); _EGL_CHECK_EXTENSION(EXT_surface_SMPTE2086_metadata); _EGL_CHECK_EXTENSION(EXT_swap_buffers_with_damage); @@ -2748,55 +2747,6 @@ eglGetDisplayDriverName(EGLDisplay dpy) RETURN_EGL_EVAL(disp, ret); } -static EGLBoolean EGLAPIENTRY -eglImageFlushExternalEXT(EGLDisplay dpy, EGLImageKHR image, - const EGLAttrib *attrib_list) -{ - _EGLDisplay *disp = _eglLockDisplay(dpy); - _EGLContext *ctx = _eglGetCurrentContext(); - _EGLImage *img = _eglLookupImage(image, disp); - _EGLDriver *drv; - - _EGL_FUNC_START(disp, EGL_OBJECT_IMAGE_KHR, img, EGL_FALSE); - _EGL_CHECK_DISPLAY(disp, EGL_FALSE, drv); - - if (attrib_list && attrib_list[0] != EGL_NONE) - RETURN_EGL_ERROR(disp, EGL_BAD_PARAMETER, EGL_FALSE); - - if (!ctx || !disp->Extensions.EXT_image_flush_external) - RETURN_EGL_EVAL(disp, EGL_FALSE); - if (!img) - RETURN_EGL_ERROR(disp, EGL_BAD_PARAMETER, EGL_FALSE); - - - drv->API.ImageFlushExternal(disp, ctx, img); - RETURN_EGL_EVAL(disp, EGL_TRUE); -} - -static EGLBoolean EGLAPIENTRY -eglImageInvalidateExternalEXT(EGLDisplay dpy, EGLImageKHR image, - const EGLAttrib *attrib_list) -{ - _EGLDisplay *disp = _eglLockDisplay(dpy); - _EGLContext *ctx = _eglGetCurrentContext(); - _EGLImage *img = _eglLookupImage(image, disp); - _EGLDriver *drv; - - _EGL_FUNC_START(disp, EGL_OBJECT_IMAGE_KHR, img, EGL_FALSE); - _EGL_CHECK_DISPLAY(disp, EGL_FALSE, drv); - - if (attrib_list && attrib_list[0] != EGL_NONE) - RETURN_EGL_ERROR(disp, EGL_BAD_PARAMETER, EGL_FALSE); - - if (!ctx || !disp->Extensions.EXT_image_flush_external) - RETURN_EGL_EVAL(disp, EGL_FALSE); - if (!img) - RETURN_EGL_ERROR(disp, EGL_BAD_PARAMETER, EGL_FALSE); - - drv->API.ImageInvalidateExternal(disp, ctx, img); - RETURN_EGL_EVAL(disp, EGL_TRUE); -} - __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress(const char *procname) { diff --git a/src/egl/main/eglapi.h b/src/egl/main/eglapi.h index 76891dcd25b..968f4b27725 100644 --- a/src/egl/main/eglapi.h +++ b/src/egl/main/eglapi.h @@ -189,11 +189,6 @@ struct _egl_api void (*SetBlobCacheFuncsANDROID) (_EGLDriver *drv, _EGLDisplay *disp, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); - - void (*ImageFlushExternal)(_EGLDisplay *disp, _EGLContext *ctx, - _EGLImage *image); - void (*ImageInvalidateExternal)(_EGLDisplay *disp, _EGLContext *ctx, - _EGLImage *image); }; #ifdef __cplusplus diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h index 940b71e318e..02ac4fb9a9d 100644 --- a/src/egl/main/egldisplay.h +++ b/src/egl/main/egldisplay.h @@ -105,7 +105,6 @@ struct _egl_extensions EGLBoolean EXT_create_context_robustness; EGLBoolean EXT_image_dma_buf_import; EGLBoolean EXT_image_dma_buf_import_modifiers; - EGLBoolean EXT_image_flush_external; EGLBoolean EXT_pixel_format_float; EGLBoolean EXT_surface_CTA861_3_metadata; EGLBoolean EXT_surface_SMPTE2086_metadata; diff --git a/src/egl/main/eglentrypoint.h b/src/egl/main/eglentrypoint.h index b708078f550..44e971e023a 100644 --- a/src/egl/main/eglentrypoint.h +++ b/src/egl/main/eglentrypoint.h @@ -51,8 +51,6 @@ EGL_ENTRYPOINT(eglGetProcAddress) EGL_ENTRYPOINT(eglGetSyncAttrib) EGL_ENTRYPOINT(eglGetSyncAttribKHR) EGL_ENTRYPOINT(eglGetSyncValuesCHROMIUM) -EGL_ENTRYPOINT(eglImageFlushExternalEXT) -EGL_ENTRYPOINT(eglImageInvalidateExternalEXT) EGL_ENTRYPOINT(eglInitialize) EGL_ENTRYPOINT(eglLabelObjectKHR) EGL_ENTRYPOINT(eglMakeCurrent) |