dix: pixmap sharing infrastructure (v3)
This is a hooks for pixmap sharing and tracking. The pixmap sharing ones get an integer handle for the pixmap and use a handle to be the backing for a pixmap. The tracker interface is to be used when a GPU needs to track pixmaps to be updated for another GPU. v2: pass slave to sharing so it can use it to work out driver. v3: use void * as per keithp's suggestion. Reviewed-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
382dd45bb8
commit
fd6c1bf0a3
|
@ -179,6 +179,8 @@ typedef void (*ClipNotifyProcPtr) (WindowPtr /*pWindow */ ,
|
|||
#define CREATE_PIXMAP_USAGE_BACKING_PIXMAP 2
|
||||
/* pixmap will contain a glyph */
|
||||
#define CREATE_PIXMAP_USAGE_GLYPH_PICTURE 3
|
||||
/* pixmap will be shared */
|
||||
#define CREATE_PIXMAP_USAGE_SHARED 4
|
||||
|
||||
typedef PixmapPtr (*CreatePixmapProcPtr) (ScreenPtr /*pScreen */ ,
|
||||
int /*width */ ,
|
||||
|
@ -339,6 +341,16 @@ typedef void (*DeviceCursorCleanupProcPtr) (DeviceIntPtr /* pDev */ ,
|
|||
typedef void (*ConstrainCursorHarderProcPtr) (DeviceIntPtr, ScreenPtr, int,
|
||||
int *, int *);
|
||||
|
||||
|
||||
typedef Bool (*SharePixmapBackingProcPtr)(PixmapPtr, ScreenPtr, void **);
|
||||
|
||||
typedef Bool (*SetSharedPixmapBackingProcPtr)(PixmapPtr, void *);
|
||||
|
||||
typedef Bool (*StartPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr,
|
||||
int x, int y);
|
||||
|
||||
typedef Bool (*StopPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr);
|
||||
|
||||
typedef struct _Screen {
|
||||
int myNum; /* index of this instance in Screens[] */
|
||||
ATOM id;
|
||||
|
@ -488,6 +500,11 @@ typedef struct _Screen {
|
|||
struct xorg_list output_slave_list;
|
||||
struct xorg_list output_head;
|
||||
|
||||
SharePixmapBackingProcPtr SharePixmapBacking;
|
||||
SetSharedPixmapBackingProcPtr SetSharedPixmapBacking;
|
||||
|
||||
StartPixmapTrackingProcPtr StartPixmapTracking;
|
||||
StopPixmapTrackingProcPtr StopPixmapTracking;
|
||||
} ScreenRec;
|
||||
|
||||
static inline RegionPtr
|
||||
|
|
Loading…
Reference in New Issue
Block a user