summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/util/u_upload_mgr.c8
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 c90425f3e5..eb635c9f14 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;