sna: Mark upload from SHM segment as read-only
As this may be mapped by the Xserver using a read-only SHM segment, we
are forced to treat it always as read-only. And this being X, that it is
using a SHM segment is opaque to the driver. Fantastic middlelayer.
This was incorrectly removed in
commit e680e54eab
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Jun 11 10:48:26 2014 +0100
sna: Ignore setting read-only for temporary userptr maps
Reported-by: Christoph Haag <haagch.christoph@googlemail.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=78411
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
6b32cf3a3c
commit
df89b49411
|
|
@ -4736,17 +4736,19 @@ try_upload__blt(PixmapPtr pixmap, RegionRec *region,
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!sna_pixmap_move_area_to_gpu(pixmap, ®ion->extents,
|
||||
MOVE_WRITE | MOVE_ASYNC_HINT | (region->data ? MOVE_READ : 0)))
|
||||
return false;
|
||||
|
||||
src_bo = kgem_create_map(&sna->kgem, bits, stride * h, false);
|
||||
src_bo = kgem_create_map(&sna->kgem, bits, stride * h, true);
|
||||
if (src_bo == NULL)
|
||||
return false;
|
||||
|
||||
src_bo->pitch = stride;
|
||||
kgem_bo_mark_unreusable(src_bo);
|
||||
|
||||
if (!sna_pixmap_move_area_to_gpu(pixmap, ®ion->extents,
|
||||
MOVE_WRITE | MOVE_ASYNC_HINT | (region->data ? MOVE_READ : 0))) {
|
||||
kgem_bo_destroy(&sna->kgem, src_bo);
|
||||
return false;
|
||||
}
|
||||
|
||||
DBG(("%s: upload(%d, %d, %d, %d) x %d through a temporary map\n",
|
||||
__FUNCTION__, x, y, w, h, region_num_rects(region)));
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue