[PATCH 21/36] dix: pixmap sharing infrastructure (v2)
Dave Airlie
airlied at gmail.com
Mon Jul 2 12:32:21 PDT 2012
On Mon, Jul 2, 2012 at 8:20 PM, Keith Packard <keithp at keithp.com> wrote:
> Dave Airlie <airlied at gmail.com> writes:
>
>> From: Dave Airlie <airlied at redhat.com>
>>
>> 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.
>>
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> ---
>> include/scrnintstr.h | 17 +++++++++++++++++
>> 1 file changed, 17 insertions(+)
>>
>> diff --git a/include/scrnintstr.h b/include/scrnintstr.h
>> index 6a22167..5b9f245 100644
>> --- a/include/scrnintstr.h
>> +++ b/include/scrnintstr.h
>> @@ -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, int *);
>
> Not sure 'int' is the best type for this; I know it's sufficient for
> current usage, but one wonders if 64-bit identifiers, or something even
> more complicated will happen in the future. (void *) instead?
Well using fd's makes the most sense since we've implemented that in
the one true kernel, and I don't want something I'd have to malloc and
keep lifetimes on.
though a void * that just cases an fd is probably okay.
Dave.
More information about the xorg-devel
mailing list