glamor: Add trapezoids code.

This fixes segfaults on starting gnome-terminal.
This commit is contained in:
Eric Anholt 2009-08-21 10:02:02 -07:00 committed by Zhigang Gong
parent 60ca0260f2
commit 93ad091442
2 changed files with 7 additions and 0 deletions

View File

@ -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);

View File

@ -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,