diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-27 20:16:35 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-27 20:16:35 +0100 |
commit | d6f543011bf3d03b9298b5ceeddfc1fc20fc534b (patch) | |
tree | 3d0467c302c04f2df8845bc72d986aa8817c3c64 | |
parent | 14a065a267523f9a31be07daaab19b67e9f02290 (diff) |
sna: Use private identifier for internal scratch pixmaps
This was meant to be a part of the previous commit.
These are the scratch pixmaps for which we truly do want to allocate
GPU-only.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/sna/sna.h | 1 | ||||
-rw-r--r-- | src/sna/sna_accel.c | 5 | ||||
-rw-r--r-- | src/sna/sna_dri.c | 2 | ||||
-rw-r--r-- | src/sna/sna_glyphs.c | 4 | ||||
-rw-r--r-- | src/sna/sna_render.c | 2 |
5 files changed, 10 insertions, 4 deletions
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; |