diff --git a/src/sna/sna.h b/src/sna/sna.h index ec4429de..1bb81d03 100644 --- a/src/sna/sna.h +++ b/src/sna/sna.h @@ -624,5 +624,6 @@ memcpy_blt(const void *src, void *dst, int bpp, uint16_t width, uint16_t height); #define SNA_CREATE_FB 0x10 +#define SNA_CREATE_SCRATCH 0x11 #endif /* _SNA_H */ diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index f3a9251f..70bbad65 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -268,6 +268,11 @@ static PixmapPtr sna_create_pixmap(ScreenPtr screen, if (usage == CREATE_PIXMAP_USAGE_SCRATCH) return fbCreatePixmap(screen, width, height, depth, usage); + if (usage == SNA_CREATE_SCRATCH) + return sna_pixmap_create_scratch(screen, + width, height, depth, + I915_TILING_Y); + if (FORCE_GPU_ONLY && width && height) return sna_pixmap_create_scratch(screen, width, height, depth, diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c index 65fec47a..2fcc060f 100644 --- a/src/sna/sna_dri.c +++ b/src/sna/sna_dri.c @@ -198,7 +198,7 @@ sna_dri_create_buffer(DrawablePtr drawable, pixmap = NULL; bo = NULL; - usage = CREATE_PIXMAP_USAGE_SCRATCH; + usage = SNA_CREATE_SCRATCH; switch (attachment) { case DRI2BufferFrontLeft: pixmap = get_drawable_pixmap(drawable); diff --git a/src/sna/sna_glyphs.c b/src/sna/sna_glyphs.c index 928c9fb2..7b98b0c8 100644 --- a/src/sna/sna_glyphs.c +++ b/src/sna/sna_glyphs.c @@ -177,7 +177,7 @@ static Bool realize_glyph_caches(struct sna *sna) CACHE_PICTURE_SIZE, CACHE_PICTURE_SIZE, depth, - CREATE_PIXMAP_USAGE_SCRATCH); + SNA_CREATE_SCRATCH); if (!pixmap) goto bail; @@ -726,7 +726,7 @@ glyphs_via_mask(struct sna *sna, pixmap = screen->CreatePixmap(screen, width, height, format->depth, - CREATE_PIXMAP_USAGE_SCRATCH); + SNA_CREATE_SCRATCH); if (!pixmap) return FALSE; diff --git a/src/sna/sna_render.c b/src/sna/sna_render.c index 7ab0de1d..4017f919 100644 --- a/src/sna/sna_render.c +++ b/src/sna/sna_render.c @@ -559,7 +559,7 @@ static int sna_render_picture_downsample(struct sna *sna, tmp = screen->CreatePixmap(screen, w/2, h/2, pixmap->drawable.depth, - CREATE_PIXMAP_USAGE_SCRATCH); + SNA_CREATE_SCRATCH); if (!tmp) goto fixup;