[Mesa-dev] [RFC v4 05/23] i965: Implement EGL_EXT_image_implicit_sync_control
Eric Engestrom
eric.engestrom at imgtec.com
Mon Oct 16 13:18:48 UTC 2017
On Monday, 2017-10-16 07:04:15 +0000, Louis-Francis Ratté-Boulianne wrote:
> From: Daniel Stone <daniels at collabora.com>
>
Patches 3-5 are:
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
> ---
> src/mesa/drivers/dri/i965/brw_bufmgr.h | 3 +++
> src/mesa/drivers/dri/i965/intel_screen.c | 17 +++++++++++++++--
> 2 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.h b/src/mesa/drivers/dri/i965/brw_bufmgr.h
> index de0ba1dad1..f44696f69a 100644
> --- a/src/mesa/drivers/dri/i965/brw_bufmgr.h
> +++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h
> @@ -120,6 +120,9 @@ struct brw_bo {
> int refcount;
> const char *name;
>
> +#ifndef EXEC_OBJECT_ASYNC
> +#define EXEC_OBJECT_ASYNC (1<<6)
> +#endif
> #ifndef EXEC_OBJECT_CAPTURE
> #define EXEC_OBJECT_CAPTURE (1<<7)
> #endif
> diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
> index 1b50d0998a..be6c5aafd4 100644
> --- a/src/mesa/drivers/dri/i965/intel_screen.c
> +++ b/src/mesa/drivers/dri/i965/intel_screen.c
> @@ -1295,8 +1295,14 @@ intel_from_planar(__DRIimage *parent, int plane, void *loaderPrivate)
> return image;
> }
>
> -static const __DRIimageExtension intelImageExtension = {
> - .base = { __DRI_IMAGE, 16 },
> +static void
> +intel_image_suppress_implicit_sync(__DRIimage *image)
> +{
> + image->bo->kflags |= EXEC_OBJECT_ASYNC;
> +}
> +
> +static __DRIimageExtension intelImageExtension = {
> + .base = { __DRI_IMAGE, 18 },
>
> .createImageFromName = intel_create_image_from_name,
> .createImageFromRenderbuffer = intel_create_image_from_renderbuffer,
> @@ -1319,6 +1325,8 @@ static const __DRIimageExtension intelImageExtension = {
> .queryDmaBufFormats = intel_query_dma_buf_formats,
> .queryDmaBufModifiers = intel_query_dma_buf_modifiers,
> .queryDmaBufFormatModifierAttribs = intel_query_format_modifier_attribs,
> + .createImageFromRenderbuffer2 = NULL,
> + .suppressImplicitSync = NULL,
> };
>
> static uint64_t
> @@ -2511,6 +2519,11 @@ __DRIconfig **intelInitScreen2(__DRIscreen *dri_screen)
> (ret != -1 || errno != EINVAL);
> }
>
> + if (intel_get_boolean(screen, I915_PARAM_HAS_EXEC_ASYNC)) {
> + intelImageExtension.suppressImplicitSync =
> + intel_image_suppress_implicit_sync;
> + }
> +
> dri_screen->extensions = !screen->has_context_reset_notification
> ? screenExtensions : intelRobustScreenExtensions;
>
> --
> 2.13.0
>
More information about the mesa-dev
mailing list