summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/util')
-rw-r--r--src/gallium/auxiliary/util/u_upload_mgr.c20
1 files 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 7826b61..ff5d834 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
@@ -195,9 +193,9 @@ 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;