glamor: Add stub Composite support.
This commit is contained in:
parent
2fa26c4958
commit
f6cffbb2ba
|
@ -19,5 +19,6 @@ libglamor_la_SOURCES = \
|
|||
glamor_fill.c \
|
||||
glamor_fillspans.c \
|
||||
glamor_getspans.c \
|
||||
glamor_render.c \
|
||||
glamor_tile.c \
|
||||
glamor.h
|
||||
|
|
|
@ -147,6 +147,9 @@ Bool
|
|||
glamor_init(ScreenPtr screen)
|
||||
{
|
||||
glamor_screen_private *glamor_priv;
|
||||
#ifdef RENDER
|
||||
PictureScreenPtr ps = GetPictureScreenIfSet(screen);
|
||||
#endif
|
||||
|
||||
glamor_priv = xcalloc(1, sizeof(*glamor_priv));
|
||||
if (glamor_priv == NULL)
|
||||
|
@ -193,6 +196,11 @@ glamor_init(ScreenPtr screen)
|
|||
glamor_priv->saved_get_spans = screen->GetSpans;
|
||||
screen->GetSpans = glamor_get_spans;
|
||||
|
||||
#ifdef RENDER
|
||||
glamor_priv->saved_composite = ps->Composite;
|
||||
ps->Composite = glamor_composite;
|
||||
#endif
|
||||
|
||||
glamor_init_solid_shader(screen);
|
||||
glamor_init_tile_shader(screen);
|
||||
|
||||
|
@ -208,9 +216,15 @@ void
|
|||
glamor_fini(ScreenPtr screen)
|
||||
{
|
||||
glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
|
||||
#ifdef RENDER
|
||||
PictureScreenPtr ps = GetPictureScreenIfSet(screen);
|
||||
#endif
|
||||
|
||||
screen->CreateGC = glamor_priv->saved_create_gc;
|
||||
screen->CreatePixmap = glamor_priv->saved_create_pixmap;
|
||||
screen->DestroyPixmap = glamor_priv->saved_destroy_pixmap;
|
||||
screen->GetSpans = glamor_priv->saved_get_spans;
|
||||
#ifdef RENDER
|
||||
ps->Composite = glamor_priv->saved_composite;
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ typedef struct glamor_screen_private {
|
|||
CreatePixmapProcPtr saved_create_pixmap;
|
||||
DestroyPixmapProcPtr saved_destroy_pixmap;
|
||||
GetSpansProcPtr saved_get_spans;
|
||||
CompositeProcPtr saved_composite;
|
||||
|
||||
/* glamor_solid */
|
||||
GLint solid_prog;
|
||||
|
@ -135,6 +136,20 @@ glamor_get_spans(DrawablePtr drawable,
|
|||
int nspans,
|
||||
char *dst_start);
|
||||
|
||||
/* glamor_render.c */
|
||||
void glamor_composite(CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
PicturePtr pMask,
|
||||
PicturePtr pDst,
|
||||
INT16 xSrc,
|
||||
INT16 ySrc,
|
||||
INT16 xMask,
|
||||
INT16 yMask,
|
||||
INT16 xDst,
|
||||
INT16 yDst,
|
||||
CARD16 width,
|
||||
CARD16 height);
|
||||
|
||||
/* glamor_tile.c */
|
||||
void glamor_tile(PixmapPtr pixmap, PixmapPtr tile,
|
||||
int x, int y, int width, int height,
|
||||
|
|
Loading…
Reference in New Issue
Block a user