void vivante_unaccel_PolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x, int y, unsigned int nglyph, CharInfoPtr * ppci, pointer pglyphBase) { vivante_prepare_drawable(pDrawable, ACCESS_RW); vivante_prepare_gc(pGC); fbPolyGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase); vivante_finish_gc(pGC); vivante_finish_drawable(pDrawable, ACCESS_RW); }
static void radeon_glamor_poly_glyph_blt(DrawablePtr pDrawable, GCPtr pGC, int x, int y, unsigned int nglyph, CharInfoPtr *ppci, pointer pglyphBase) { ScrnInfoPtr scrn = xf86ScreenToScrn(pDrawable->pScreen); PixmapPtr pixmap = get_drawable_pixmap(pDrawable); struct radeon_pixmap *priv = radeon_get_pixmap_private(pixmap); if (radeon_glamor_prepare_access_cpu_rw(scrn, pixmap, priv)) { if (radeon_glamor_prepare_access_gc(scrn, pGC)) { fbPolyGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase); radeon_glamor_finish_access_gc(pGC); } radeon_glamor_finish_access_cpu(pixmap); } }
void uxa_check_poly_glyph_blt(DrawablePtr pDrawable, GCPtr pGC, int x, int y, unsigned int nglyph, CharInfoPtr * ppci, pointer pglyphBase) { ScreenPtr screen = pDrawable->pScreen; UXA_FALLBACK(("to %p (%c), style %d alu %d\n", pDrawable, uxa_drawable_location(pDrawable), pGC->fillStyle, pGC->alu)); if (uxa_prepare_access(pDrawable, UXA_ACCESS_RW)) { if (uxa_prepare_access_gc(pGC)) { fbPolyGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase); uxa_finish_access_gc(pGC); } uxa_finish_access(pDrawable, UXA_ACCESS_RW); } }