diff options
author | José Fonseca <[email protected]> | 2009-08-28 12:52:16 +0100 |
---|---|---|
committer | José Fonseca <[email protected]> | 2009-08-28 12:52:31 +0100 |
commit | 9399b9a0e27915dd5a388ff42ad99a9024c79b33 (patch) | |
tree | aefac915bf6ca837d300214a0f4f46d6f5fdbdb3 /src/gallium/auxiliary | |
parent | 0d7bed9f8973547b675c35c0083996e946d7cecb (diff) |
util: Reset size to zero when failed to allocate buffer.
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/util/u_upload_mgr.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/util/u_upload_mgr.c b/src/gallium/auxiliary/util/u_upload_mgr.c index c90425f3e54..eb635c9f149 100644 --- a/src/gallium/auxiliary/util/u_upload_mgr.c +++ b/src/gallium/auxiliary/util/u_upload_mgr.c @@ -123,21 +123,25 @@ static enum pipe_error u_upload_alloc_buffer( struct u_upload_mgr *upload, unsigned min_size ) { + unsigned size; + /* Release old buffer, if present: */ u_upload_flush( upload ); /* Allocate a new one: */ - upload->size = align(MAX2(upload->default_size, min_size), 4096); + size = align(MAX2(upload->default_size, min_size), 4096); upload->buffer = pipe_buffer_create( upload->screen, upload->alignment, upload->usage | PIPE_BUFFER_USAGE_CPU_WRITE, - upload->size ); + size ); if (upload->buffer == NULL) goto fail; + upload->size = size; + upload->offset = 0; return 0; |