softpipe: Make softpipe transfers in-order.
Transfer, being now a context operation, should happen in order with all other contexts operations. If there is rendering pending on the resource then the driver must flush and potentially wait itself internally. Instead of avoiding using transfers internally (as done in llvmpipe) I've opted to simply pass PIPE_TRANSFER_UNSYNCHRONIZED in all internal transfers, to avoid infinite recursion.
This commit is contained in:
@@ -155,7 +155,8 @@ sp_tile_cache_set_surface(struct softpipe_tile_cache *tc,
|
||||
if (ps) {
|
||||
tc->transfer = pipe_get_transfer(pipe, ps->texture, ps->face,
|
||||
ps->level, ps->zslice,
|
||||
PIPE_TRANSFER_READ_WRITE,
|
||||
PIPE_TRANSFER_READ_WRITE |
|
||||
PIPE_TRANSFER_UNSYNCHRONIZED,
|
||||
0, 0, ps->width, ps->height);
|
||||
|
||||
tc->depth_stencil = (ps->format == PIPE_FORMAT_Z24_UNORM_S8_USCALED ||
|
||||
|
Reference in New Issue
Block a user