diff --git a/glamor/glamor.c b/glamor/glamor.c index ff31f5dba..05e05511b 100644 --- a/glamor/glamor.c +++ b/glamor/glamor.c @@ -199,6 +199,8 @@ glamor_init(ScreenPtr screen) #ifdef RENDER glamor_priv->saved_composite = ps->Composite; ps->Composite = glamor_composite; + glamor_priv->saved_trapezoids = ps->Trapezoids; + ps->Trapezoids = glamor_trapezoids; #endif glamor_init_solid_shader(screen); diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h index aee8e2d3e..e8f486f27 100644 --- a/glamor/glamor_priv.h +++ b/glamor/glamor_priv.h @@ -44,6 +44,7 @@ typedef struct glamor_screen_private { DestroyPixmapProcPtr saved_destroy_pixmap; GetSpansProcPtr saved_get_spans; CompositeProcPtr saved_composite; + TrapezoidsProcPtr saved_trapezoids; /* glamor_solid */ GLint solid_prog; @@ -149,6 +150,10 @@ void glamor_composite(CARD8 op, INT16 yDst, CARD16 width, CARD16 height); +void glamor_trapezoids(CARD8 op, + PicturePtr src, PicturePtr dst, + PictFormatPtr mask_format, INT16 x_src, INT16 y_src, + int ntrap, xTrapezoid *traps); /* glamor_tile.c */ void glamor_tile(PixmapPtr pixmap, PixmapPtr tile,