[PATCH xserver] Add SyncSharedPixmap ScreenRec hook
Alex Deucher
alexdeucher at gmail.com
Wed Aug 31 15:27:49 UTC 2016
On Wed, Aug 31, 2016 at 4:56 AM, Michel Dänzer <michel at daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> include/scrnintstr.h | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/include/scrnintstr.h b/include/scrnintstr.h
> index 5330714..52e8382 100644
> --- a/include/scrnintstr.h
> +++ b/include/scrnintstr.h
> @@ -347,6 +347,24 @@ typedef Bool (*SharePixmapBackingProcPtr)(PixmapPtr, ScreenPtr, void **);
>
> typedef Bool (*SetSharedPixmapBackingProcPtr)(PixmapPtr, void *);
>
> +#define HAS_SYNC_SHARED_PIXMAP 1
> +/* The SyncSharedPixmap hook has two purposes:
> + *
> + * 1. If the master driver has it, the slave driver can use it to
> + * synchronize the shared pixmap contents with the screen pixmap.
> + * 2. If the slave driver has it, the master driver can expect the slave
> + * driver to call the master screen's SyncSharedPixmap hook, so the master
> + * driver doesn't have to synchronize the shared pixmap contents itself,
> + * e.g. from the BlockHandler.
> + *
> + * A driver must only set the hook if it handles both cases correctly.
> + *
> + * The argument is the slave screen's pixmap_dirty_list entry, the hook is
> + * responsible for finding the corresponding entry in the master screen's
> + * pixmap_dirty_list.
> + */
> +typedef void (*SyncSharedPixmapProcPtr)(PixmapDirtyUpdatePtr);
> +
> typedef Bool (*StartPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr,
> int x, int y,
> int dst_x, int dst_y,
> @@ -616,6 +634,7 @@ typedef struct _Screen {
>
> StartPixmapTrackingProcPtr StartPixmapTracking;
> StopPixmapTrackingProcPtr StopPixmapTracking;
> + SyncSharedPixmapProcPtr SyncSharedPixmap;
>
> SharedPixmapNotifyDamageProcPtr SharedPixmapNotifyDamage;
> RequestSharedPixmapNotifyDamageProcPtr RequestSharedPixmapNotifyDamage;
> --
> 2.9.3
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel
More information about the xorg-devel
mailing list