From: Marek Olšák Date: Fri, 13 Apr 2012 17:27:45 +0000 (+0200) Subject: st/mesa: use u_upload_mgr to upload vertices for glDrawPixels X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b69dad1683f092e3ce9d0f3f8fb1bdf96bdff0c7;p=mesa.git st/mesa: use u_upload_mgr to upload vertices for glDrawPixels --- diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index 18d0e53d406..5229ccee688 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -66,6 +66,7 @@ #include "util/u_inlines.h" #include "util/u_math.h" #include "util/u_tile.h" +#include "util/u_upload_mgr.h" #include "cso_cache/cso_context.h" @@ -619,16 +620,16 @@ draw_quad(struct gl_context *ctx, GLfloat x0, GLfloat y0, GLfloat z, } { - struct pipe_resource *buf; + struct pipe_resource *buf = NULL; + unsigned offset; - /* allocate/load buffer object with vertex data */ - buf = pipe_buffer_create(pipe->screen, - PIPE_BIND_VERTEX_BUFFER, - PIPE_USAGE_STATIC, - sizeof(verts)); - pipe_buffer_write(st->pipe, buf, 0, sizeof(verts), verts); + u_upload_data(st->uploader, 0, sizeof(verts), verts, &offset, &buf); + if (!buf) { + return; + } - util_draw_vertex_buffer(pipe, st->cso_context, buf, 0, + u_upload_unmap(st->uploader); + util_draw_vertex_buffer(pipe, st->cso_context, buf, offset, PIPE_PRIM_QUADS, 4, /* verts */ 3); /* attribs/vert */