diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/auxiliary/util/u_upload_mgr.c | 19 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_upload_mgr.h | 12 | ||||
-rw-r--r-- | src/gallium/auxiliary/util/u_vbuf.c | 9 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_draw.c | 7 |
4 files changed, 22 insertions, 25 deletions
diff --git a/src/gallium/auxiliary/util/u_upload_mgr.c b/src/gallium/auxiliary/util/u_upload_mgr.c index 78b0f5f99a0..59207a1969b 100644 --- a/src/gallium/auxiliary/util/u_upload_mgr.c +++ b/src/gallium/auxiliary/util/u_upload_mgr.c @@ -236,23 +236,20 @@ u_upload_alloc(struct u_upload_mgr *upload, upload->offset = offset + alloc_size; } -enum pipe_error u_upload_data( struct u_upload_mgr *upload, - unsigned min_out_offset, - unsigned size, - const void *data, - unsigned *out_offset, - struct pipe_resource **outbuf) +void u_upload_data(struct u_upload_mgr *upload, + unsigned min_out_offset, + unsigned size, + const void *data, + unsigned *out_offset, + struct pipe_resource **outbuf) { uint8_t *ptr; u_upload_alloc(upload, min_out_offset, size, out_offset, outbuf, (void**)&ptr); - if (!outbuf) - return PIPE_ERROR_OUT_OF_MEMORY; - - memcpy(ptr, data, size); - return PIPE_OK; + if (ptr) + memcpy(ptr, data, size); } /* XXX: Remove. It's basically a CPU fallback of resource_copy_region. */ diff --git a/src/gallium/auxiliary/util/u_upload_mgr.h b/src/gallium/auxiliary/util/u_upload_mgr.h index 9744dc17c49..67c6daa4e7f 100644 --- a/src/gallium/auxiliary/util/u_upload_mgr.h +++ b/src/gallium/auxiliary/util/u_upload_mgr.h @@ -92,12 +92,12 @@ void u_upload_alloc(struct u_upload_mgr *upload, * Same as u_upload_alloc, but in addition to that, it copies "data" * to the pointer returned from u_upload_alloc. */ -enum pipe_error u_upload_data( struct u_upload_mgr *upload, - unsigned min_out_offset, - unsigned size, - const void *data, - unsigned *out_offset, - struct pipe_resource **outbuf); +void u_upload_data(struct u_upload_mgr *upload, + unsigned min_out_offset, + unsigned size, + const void *data, + unsigned *out_offset, + struct pipe_resource **outbuf); /** diff --git a/src/gallium/auxiliary/util/u_vbuf.c b/src/gallium/auxiliary/util/u_vbuf.c index 791d82bb65f..3d2193c3bf5 100644 --- a/src/gallium/auxiliary/util/u_vbuf.c +++ b/src/gallium/auxiliary/util/u_vbuf.c @@ -976,7 +976,6 @@ u_vbuf_upload_buffers(struct u_vbuf *mgr, unsigned start, end; struct pipe_vertex_buffer *real_vb; const uint8_t *ptr; - enum pipe_error err; i = u_bit_scan(&buffer_mask); @@ -987,10 +986,10 @@ u_vbuf_upload_buffers(struct u_vbuf *mgr, real_vb = &mgr->real_vertex_buffer[i]; ptr = mgr->vertex_buffer[i].user_buffer; - err = u_upload_data(mgr->uploader, start, end - start, ptr + start, - &real_vb->buffer_offset, &real_vb->buffer); - if (err != PIPE_OK) - return err; + u_upload_data(mgr->uploader, start, end - start, ptr + start, + &real_vb->buffer_offset, &real_vb->buffer); + if (!real_vb->buffer) + return PIPE_ERROR_OUT_OF_MEMORY; real_vb->buffer_offset -= start; } diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index 957fcfd410e..2ad679b1cb8 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -106,9 +106,10 @@ setup_index_buffer(struct st_context *st, } else if (st->indexbuf_uploader) { /* upload indexes from user memory into a real buffer */ - if (u_upload_data(st->indexbuf_uploader, 0, - ib->count * ibuffer->index_size, ib->ptr, - &ibuffer->offset, &ibuffer->buffer) != PIPE_OK) { + u_upload_data(st->indexbuf_uploader, 0, + ib->count * ibuffer->index_size, ib->ptr, + &ibuffer->offset, &ibuffer->buffer); + if (!ibuffer->buffer) { /* out of memory */ return FALSE; } |