search for: pipe_transfer_read_write

Displaying 2 results from an estimated 2 matches for "pipe_transfer_read_write".

2013 Dec 02
2
[PATCH] nouveau: Add lots of comments to the buffer transfer logic
...eturn map; + /* If the GPU is currently reading/writing this buffer, we shouldn't + * interfere with its progress. So instead we either wait for the GPU to + * complete its operation, or set up a staging area to perform our work in. + */ if (nouveau_buffer_busy(buf, usage & PIPE_TRANSFER_READ_WRITE)) { if (unlikely(usage & PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE)) { /* Discarding was not possible, must sync because @@ -403,6 +460,8 @@ nouveau_buffer_transfer_map(struct pipe_context *pipe, nouveau_buffer_sync(buf, usage & PIPE_TRANSFER_READ_WRITE); } else...
2016 Jun 05
0
[RFC PATCH] nouveau: add locking
...e, if (unlikely(usage & PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE)) { /* Discarding was not possible, must sync because * subsequent transfers might use UNSYNCHRONIZED. */ + pipe_mutex_lock(screen->push_mutex); nouveau_buffer_sync(nv, buf, usage & PIPE_TRANSFER_READ_WRITE); + pipe_mutex_unlock(screen->push_mutex); } else if (usage & PIPE_TRANSFER_DISCARD_RANGE) { /* The whole range is being discarded, so it doesn't matter what was @@ -488,10 +496,13 @@ nouveau_buffer_transfer_map(struct pipe_context *pipe, map = t...