sna: Avoid unnecessary call overhead for read-only move-to-cpu
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
294c8791c4
commit
bd7aa1754d
|
|
@ -433,7 +433,17 @@ struct kgem_bo *sna_pixmap_change_tiling(PixmapPtr pixmap, uint32_t tiling);
|
|||
|
||||
#define MOVE_WRITE 0x1
|
||||
#define MOVE_READ 0x2
|
||||
bool must_check sna_pixmap_move_to_cpu(PixmapPtr pixmap, unsigned flags);
|
||||
bool must_check _sna_pixmap_move_to_cpu(PixmapPtr pixmap, unsigned flags);
|
||||
static inline bool must_check sna_pixmap_move_to_cpu(PixmapPtr pixmap, unsigned flags)
|
||||
{
|
||||
if (flags == MOVE_READ) {
|
||||
struct sna_pixmap *priv = sna_pixmap(pixmap);
|
||||
if (priv == NULL || priv->gpu_damage == NULL)
|
||||
return true;
|
||||
}
|
||||
|
||||
return _sna_pixmap_move_to_cpu(pixmap, flags);
|
||||
}
|
||||
bool must_check sna_drawable_move_region_to_cpu(DrawablePtr drawable,
|
||||
RegionPtr region,
|
||||
unsigned flags);
|
||||
|
|
|
|||
|
|
@ -658,7 +658,7 @@ static inline bool pixmap_inplace(struct sna *sna,
|
|||
}
|
||||
|
||||
bool
|
||||
sna_pixmap_move_to_cpu(PixmapPtr pixmap, unsigned int flags)
|
||||
_sna_pixmap_move_to_cpu(PixmapPtr pixmap, unsigned int flags)
|
||||
{
|
||||
struct sna *sna = to_sna_from_pixmap(pixmap);
|
||||
struct sna_pixmap *priv;
|
||||
|
|
@ -885,7 +885,7 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
|
|||
DBG(("%s: region subsumes drawable\n", __FUNCTION__));
|
||||
if (dx | dy)
|
||||
RegionTranslate(region, -dx, -dy);
|
||||
return sna_pixmap_move_to_cpu(pixmap, flags);
|
||||
return _sna_pixmap_move_to_cpu(pixmap, flags);
|
||||
}
|
||||
|
||||
if ((flags & MOVE_READ) == 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue