From b69dad1683f092e3ce9d0f3f8fb1bdf96bdff0c7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 13 Apr 2012 19:27:45 +0200 Subject: [PATCH] st/mesa: use u_upload_mgr to upload vertices for glDrawPixels --- src/mesa/state_tracker/st_cb_drawpixels.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) 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 */ -- 2.30.2