/** * radeon_glamor_create_gc makes a new GC and hooks up its funcs handler, so that * radeon_glamor_validate_gc() will get called. */ static int radeon_glamor_create_gc(GCPtr pGC) { static Bool nodstbo_ops_initialized; if (!fbCreateGC(pGC)) return FALSE; if (!nodstbo_ops_initialized) { radeon_glamor_nodstbo_ops = radeon_glamor_ops; radeon_glamor_nodstbo_ops.FillSpans = pGC->ops->FillSpans; radeon_glamor_nodstbo_ops.SetSpans = pGC->ops->SetSpans; radeon_glamor_nodstbo_ops.PutImage = pGC->ops->PutImage; radeon_glamor_nodstbo_ops.CopyArea = radeon_glamor_copy_area_nodstbo; radeon_glamor_nodstbo_ops.CopyPlane = radeon_glamor_copy_plane_nodstbo; radeon_glamor_nodstbo_ops.PolyPoint = pGC->ops->PolyPoint; radeon_glamor_nodstbo_ops.Polylines = pGC->ops->Polylines; radeon_glamor_nodstbo_ops.PolySegment = pGC->ops->PolySegment; radeon_glamor_nodstbo_ops.PolyFillRect = pGC->ops->PolyFillRect; radeon_glamor_nodstbo_ops.ImageGlyphBlt = pGC->ops->ImageGlyphBlt; radeon_glamor_nodstbo_ops.PolyGlyphBlt = pGC->ops->PolyGlyphBlt; radeon_glamor_nodstbo_ops.PushPixels = radeon_glamor_push_pixels_nodstbo; nodstbo_ops_initialized = TRUE; } pGC->funcs = &glamorGCFuncs; return TRUE; }
/** * uxa_create_gc makes a new GC and hooks up its funcs handler, so that * uxa_validate_gc() will get called. */ static int uxa_create_gc(GCPtr pGC) { if (!fbCreateGC(pGC)) return FALSE; pGC->funcs = &uxaGCFuncs; return TRUE; }
/** * exaCreateGC makes a new GC and hooks up its funcs handler, so that * exaValidateGC() will get called. */ static int exaCreateGC (GCPtr pGC) { if (!fbCreateGC (pGC)) return FALSE; pGC->funcs = &exaGCFuncs; return TRUE; }
/** * exaCreateGC makes a new GC and hooks up its funcs handler, so that * exaValidateGC() will get called. */ int glamor_create_gc(GCPtr gc) { if (!fbCreateGC(gc)) return FALSE; gc->funcs = &glamor_gc_funcs; return TRUE; }