diff options
author | José Fonseca <[email protected]> | 2011-02-10 20:54:18 +0000 |
---|---|---|
committer | José Fonseca <[email protected]> | 2011-03-09 11:17:45 +0000 |
commit | d5249b7d89a12490335750eda01309e36c7d80cb (patch) | |
tree | 4d725902a9ff655999e0a584091ddfe7b9fde981 | |
parent | 05efcee46edd07e9b3957fb3c681354e736bc4d3 (diff) |
util: Use PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE in pipe_buffer_write.
-rw-r--r-- | src/gallium/auxiliary/util/u_inlines.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/util/u_inlines.h b/src/gallium/auxiliary/util/u_inlines.h index 98889fb70ac..aed8ba7df43 100644 --- a/src/gallium/auxiliary/util/u_inlines.h +++ b/src/gallium/auxiliary/util/u_inlines.h @@ -299,13 +299,18 @@ pipe_buffer_write(struct pipe_context *pipe, const void *data) { struct pipe_box box; + unsigned usage = PIPE_TRANSFER_WRITE; + + if (offset == 0 && size == buf->width0) { + usage |= PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE; + } u_box_1d(offset, size, &box); pipe->transfer_inline_write( pipe, buf, 0, - PIPE_TRANSFER_WRITE, + usage, &box, data, size, |