util: Reset size to zero when failed to allocate buffer.

This commit is contained in:
José Fonseca 2009-08-28 12:52:16 +01:00
parent 0d7bed9f89
commit 9399b9a0e2
1 changed files with 6 additions and 2 deletions

View File

@ -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;