OSDN Git Service

nv30/draw: draw expects constbuf size in bytes, not vec4 units
authorIlia Mirkin <imirkin@alum.mit.edu>
Mon, 25 May 2015 18:06:01 +0000 (14:06 -0400)
committerEmil Velikov <emil.l.velikov@gmail.com>
Wed, 3 Jun 2015 10:52:32 +0000 (11:52 +0100)
This fixes glxgears with NV30_SWTNL=1 forced on. Probably fixes a bunch
of other situations where we fall back to the swtnl path.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "10.5 10.6" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 147816375d22a653176ab28ed650fa811ceea83f)

src/gallium/drivers/nouveau/nv30/nv30_draw.c

index 145a78e..783ffe8 100644 (file)
@@ -399,7 +399,7 @@ nv30_render_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
       if (nv30->vertprog.constbuf) {
          void *map = nv04_resource(nv30->vertprog.constbuf)->data;
          draw_set_mapped_constant_buffer(draw, PIPE_SHADER_VERTEX, 0,
-                                         map, nv30->vertprog.constbuf_nr);
+                                         map, nv30->vertprog.constbuf_nr * 16);
       } else {
          draw_set_mapped_constant_buffer(draw, PIPE_SHADER_VERTEX, 0, NULL, 0);
       }