From: José Fonseca Date: Mon, 2 Mar 2009 17:32:37 +0000 (+0000) Subject: pipebuffer: Wait for the GPU to finish reading too. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2c1d40a051187242d7e55c7755e0433d4fb9c93a;p=mesa.git pipebuffer: Wait for the GPU to finish reading too. No real change, as we're not tracking relocations read/write access yet. --- diff --git a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c index 91b55c82387..ede2af4460f 100644 --- a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c +++ b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c @@ -296,9 +296,10 @@ fenced_buffer_map(struct pb_buffer *buf, assert(!(flags & ~PIPE_BUFFER_USAGE_CPU_READ_WRITE)); flags &= PIPE_BUFFER_USAGE_CPU_READ_WRITE; - /* Check for GPU read/write access */ - if(fenced_buf->flags & PIPE_BUFFER_USAGE_GPU_WRITE) { - /* Wait for the GPU to finish writing */ + /* Serialize writes */ + if((fenced_buf->flags & PIPE_BUFFER_USAGE_GPU_WRITE) || + ((fenced_buf->flags & PIPE_BUFFER_USAGE_GPU_READ) && (flags & PIPE_BUFFER_USAGE_CPU_WRITE))) { + /* Wait for the GPU to finish */ _fenced_buffer_finish(fenced_buf); }