From: Marek Olšák <marek.ol...@amd.com> --- src/gallium/auxiliary/util/u_upload_mgr.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_upload_mgr.c b/src/gallium/auxiliary/util/u_upload_mgr.c index 6c8930f..f93de78 100644 --- a/src/gallium/auxiliary/util/u_upload_mgr.c +++ b/src/gallium/auxiliary/util/u_upload_mgr.c @@ -129,9 +129,9 @@ void u_upload_destroy( struct u_upload_mgr *upload ) } -static enum pipe_error -u_upload_alloc_buffer( struct u_upload_mgr *upload, - unsigned min_size ) +static void +u_upload_alloc_buffer(struct u_upload_mgr *upload, + unsigned min_size) { struct pipe_screen *screen = upload->pipe->screen; struct pipe_resource buffer; @@ -161,9 +161,8 @@ u_upload_alloc_buffer( struct u_upload_mgr *upload, } upload->buffer = screen->resource_create(screen, &buffer); - if (upload->buffer == NULL) { - return PIPE_ERROR_OUT_OF_MEMORY; - } + if (upload->buffer == NULL) + return; /* Map the new buffer. */ upload->map = pipe_buffer_map_range(upload->pipe, upload->buffer, @@ -172,11 +171,10 @@ u_upload_alloc_buffer( struct u_upload_mgr *upload, if (upload->map == NULL) { upload->transfer = NULL; pipe_resource_reference(&upload->buffer, NULL); - return PIPE_ERROR_OUT_OF_MEMORY; + return; } upload->offset = 0; - return PIPE_OK; } void u_upload_alloc(struct u_upload_mgr *upload, @@ -194,9 +192,9 @@ void u_upload_alloc(struct u_upload_mgr *upload, /* Make sure we have enough space in the upload buffer * for the sub-allocation. */ if (unlikely(MAX2(upload->offset, alloc_offset) + alloc_size > buffer_size)) { - enum pipe_error ret = u_upload_alloc_buffer(upload, - alloc_offset + alloc_size); - if (unlikely(ret != PIPE_OK)) { + u_upload_alloc_buffer(upload, alloc_offset + alloc_size); + + if (unlikely(!upload->buffer)) { *out_offset = ~0; pipe_resource_reference(outbuf, NULL); *ptr = NULL; -- 2.1.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev