[Mesa-dev] [PATCH 2/5] u_upload_mgr: remove the return value from u_upload_alloc
Brian Paul
brianp at vmware.com
Wed Sep 2 06:56:48 PDT 2015
On 09/02/2015 07:44 AM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> The return buffer or the returned pointer can be used instead.
> ---
> src/gallium/auxiliary/util/u_upload_mgr.c | 28 ++++++++++++++--------------
> src/gallium/auxiliary/util/u_upload_mgr.h | 12 ++++++------
> src/gallium/auxiliary/util/u_vbuf.c | 27 +++++++++++++--------------
> src/mesa/state_tracker/st_cb_bitmap.c | 5 +++--
> src/mesa/state_tracker/st_cb_clear.c | 7 ++++---
> src/mesa/state_tracker/st_cb_drawpixels.c | 5 +++--
> src/mesa/state_tracker/st_cb_drawtex.c | 7 ++++---
> 7 files changed, 47 insertions(+), 44 deletions(-)
>
> diff --git a/src/gallium/auxiliary/util/u_upload_mgr.c b/src/gallium/auxiliary/util/u_upload_mgr.c
> index c30386e..6c8930f 100644
> --- a/src/gallium/auxiliary/util/u_upload_mgr.c
> +++ b/src/gallium/auxiliary/util/u_upload_mgr.c
> @@ -179,12 +179,12 @@ u_upload_alloc_buffer( struct u_upload_mgr *upload,
> return PIPE_OK;
> }
>
> -enum pipe_error u_upload_alloc( struct u_upload_mgr *upload,
> - unsigned min_out_offset,
> - unsigned size,
> - unsigned *out_offset,
> - struct pipe_resource **outbuf,
> - void **ptr )
> +void u_upload_alloc(struct u_upload_mgr *upload,
> + unsigned min_out_offset,
> + unsigned size,
> + unsigned *out_offset,
> + struct pipe_resource **outbuf,
> + void **ptr)
As long as you're changing function return types, can you fix the
formatting:
void
u_upload_alloc(struct u_upload_mgr *upload,
...
Reviewed-by: Brian Paul <brianp at vmware.com>
> {
> unsigned alloc_size = align(size, upload->alignment);
> unsigned alloc_offset = align(min_out_offset, upload->alignment);
> @@ -200,7 +200,7 @@ enum pipe_error u_upload_alloc( struct u_upload_mgr *upload,
> *out_offset = ~0;
> pipe_resource_reference(outbuf, NULL);
> *ptr = NULL;
> - return ret;
> + return;
> }
>
> buffer_size = upload->buffer->width0;
> @@ -219,7 +219,7 @@ enum pipe_error u_upload_alloc( struct u_upload_mgr *upload,
> *out_offset = ~0;
> pipe_resource_reference(outbuf, NULL);
> *ptr = NULL;
> - return PIPE_ERROR_OUT_OF_MEMORY;
> + return;
> }
>
> upload->map -= offset;
> @@ -233,7 +233,6 @@ enum pipe_error u_upload_alloc( struct u_upload_mgr *upload,
> *out_offset = offset;
>
> upload->offset = offset + alloc_size;
> - return PIPE_OK;
> }
>
> enum pipe_error u_upload_data( struct u_upload_mgr *upload,
> @@ -244,11 +243,12 @@ enum pipe_error u_upload_data( struct u_upload_mgr *upload,
> struct pipe_resource **outbuf)
> {
> uint8_t *ptr;
> - enum pipe_error ret = u_upload_alloc(upload, min_out_offset, size,
> - out_offset, outbuf,
> - (void**)&ptr);
> - if (ret != PIPE_OK)
> - return ret;
> +
> + 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;
> diff --git a/src/gallium/auxiliary/util/u_upload_mgr.h b/src/gallium/auxiliary/util/u_upload_mgr.h
> index 63bf30e..2c31977 100644
> --- a/src/gallium/auxiliary/util/u_upload_mgr.h
> +++ b/src/gallium/auxiliary/util/u_upload_mgr.h
> @@ -78,12 +78,12 @@ void u_upload_unmap( struct u_upload_mgr *upload );
> * \param outbuf Pointer to where the upload buffer will be returned.
> * \param ptr Pointer to the allocated memory that is returned.
> */
> -enum pipe_error u_upload_alloc( struct u_upload_mgr *upload,
> - unsigned min_out_offset,
> - unsigned size,
> - unsigned *out_offset,
> - struct pipe_resource **outbuf,
> - void **ptr );
> +void u_upload_alloc(struct u_upload_mgr *upload,
> + unsigned min_out_offset,
> + unsigned size,
> + unsigned *out_offset,
> + struct pipe_resource **outbuf,
> + void **ptr);
>
>
> /**
> diff --git a/src/gallium/auxiliary/util/u_vbuf.c b/src/gallium/auxiliary/util/u_vbuf.c
> index 02ae0b8..791d82b 100644
> --- a/src/gallium/auxiliary/util/u_vbuf.c
> +++ b/src/gallium/auxiliary/util/u_vbuf.c
> @@ -406,7 +406,6 @@ u_vbuf_translate_buffers(struct u_vbuf *mgr, struct translate_key *key,
> struct pipe_resource *out_buffer = NULL;
> uint8_t *out_map;
> unsigned out_offset, mask;
> - enum pipe_error err;
>
> /* Get a translate object. */
> tr = translate_cache_find(mgr->translate_cache, key);
> @@ -454,12 +453,12 @@ u_vbuf_translate_buffers(struct u_vbuf *mgr, struct translate_key *key,
> assert((ib->buffer || ib->user_buffer) && ib->index_size);
>
> /* Create and map the output buffer. */
> - err = u_upload_alloc(mgr->uploader, 0,
> - key->output_stride * num_indices,
> - &out_offset, &out_buffer,
> - (void**)&out_map);
> - if (err != PIPE_OK)
> - return err;
> + u_upload_alloc(mgr->uploader, 0,
> + key->output_stride * num_indices,
> + &out_offset, &out_buffer,
> + (void**)&out_map);
> + if (!out_buffer)
> + return PIPE_ERROR_OUT_OF_MEMORY;
>
> if (ib->user_buffer) {
> map = (uint8_t*)ib->user_buffer + offset;
> @@ -486,13 +485,13 @@ u_vbuf_translate_buffers(struct u_vbuf *mgr, struct translate_key *key,
> }
> } else {
> /* Create and map the output buffer. */
> - err = u_upload_alloc(mgr->uploader,
> - key->output_stride * start_vertex,
> - key->output_stride * num_vertices,
> - &out_offset, &out_buffer,
> - (void**)&out_map);
> - if (err != PIPE_OK)
> - return err;
> + u_upload_alloc(mgr->uploader,
> + key->output_stride * start_vertex,
> + key->output_stride * num_vertices,
> + &out_offset, &out_buffer,
> + (void**)&out_map);
> + if (!out_buffer)
> + return PIPE_ERROR_OUT_OF_MEMORY;
>
> out_offset -= key->output_stride * start_vertex;
>
> diff --git a/src/mesa/state_tracker/st_cb_bitmap.c b/src/mesa/state_tracker/st_cb_bitmap.c
> index 01a96c1..ce593a9 100644
> --- a/src/mesa/state_tracker/st_cb_bitmap.c
> +++ b/src/mesa/state_tracker/st_cb_bitmap.c
> @@ -349,8 +349,9 @@ setup_bitmap_vertex_data(struct st_context *st, bool normalized,
> tBot = (GLfloat) height;
> }
>
> - if (u_upload_alloc(st->uploader, 0, 4 * sizeof(vertices[0]),
> - vbuf_offset, vbuf, (void **) &vertices) != PIPE_OK) {
> + u_upload_alloc(st->uploader, 0, 4 * sizeof(vertices[0]),
> + vbuf_offset, vbuf, (void **) &vertices);
> + if (!vbuf) {
> return;
> }
>
> diff --git a/src/mesa/state_tracker/st_cb_clear.c b/src/mesa/state_tracker/st_cb_clear.c
> index 137fac8..18efd14 100644
> --- a/src/mesa/state_tracker/st_cb_clear.c
> +++ b/src/mesa/state_tracker/st_cb_clear.c
> @@ -184,9 +184,10 @@ draw_quad(struct st_context *st,
>
> vb.stride = 8 * sizeof(float);
>
> - if (u_upload_alloc(st->uploader, 0, 4 * sizeof(vertices[0]),
> - &vb.buffer_offset, &vb.buffer,
> - (void **) &vertices) != PIPE_OK) {
> + u_upload_alloc(st->uploader, 0, 4 * sizeof(vertices[0]),
> + &vb.buffer_offset, &vb.buffer,
> + (void **) &vertices);
> + if (!vb.buffer) {
> return;
> }
>
> diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c
> index b372697..152160e 100644
> --- a/src/mesa/state_tracker/st_cb_drawpixels.c
> +++ b/src/mesa/state_tracker/st_cb_drawpixels.c
> @@ -580,8 +580,9 @@ draw_quad(struct gl_context *ctx, GLfloat x0, GLfloat y0, GLfloat z,
> struct pipe_resource *buf = NULL;
> unsigned offset;
>
> - if (u_upload_alloc(st->uploader, 0, 4 * sizeof(verts[0]), &offset,
> - &buf, (void **) &verts) != PIPE_OK) {
> + u_upload_alloc(st->uploader, 0, 4 * sizeof(verts[0]), &offset,
> + &buf, (void **) &verts);
> + if (!buf) {
> return;
> }
>
> diff --git a/src/mesa/state_tracker/st_cb_drawtex.c b/src/mesa/state_tracker/st_cb_drawtex.c
> index 2af4f6d..2634b09 100644
> --- a/src/mesa/state_tracker/st_cb_drawtex.c
> +++ b/src/mesa/state_tracker/st_cb_drawtex.c
> @@ -149,9 +149,10 @@ st_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
> GLfloat *vbuf = NULL;
> GLuint attr;
>
> - if (u_upload_alloc(st->uploader, 0,
> - numAttribs * 4 * 4 * sizeof(GLfloat),
> - &offset, &vbuffer, (void **) &vbuf) != PIPE_OK) {
> + u_upload_alloc(st->uploader, 0,
> + numAttribs * 4 * 4 * sizeof(GLfloat),
> + &offset, &vbuffer, (void **) &vbuf);
> + if (!vbuffer) {
> return;
> }
>
>
More information about the mesa-dev
mailing list