From 2c1d40a051187242d7e55c7755e0433d4fb9c93a Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Mon, 2 Mar 2009 17:32:37 +0000 Subject: pipebuffer: Wait for the GPU to finish reading too. No real change, as we're not tracking relocations read/write access yet. --- src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/gallium') diff --git a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c index 91b55c8238..ede2af4460 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); } -- cgit v1.2.3