sna/gen2: The inline primitive takes a length, not a vertex count

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2011-06-06 08:02:09 +01:00
parent 91424d4937
commit c76ec69660
1 changed files with 6 additions and 3 deletions

View File

@ -804,8 +804,8 @@ static void gen2_magic_ca_pass(struct sna *sna,
memcpy(sna->kgem.batch + sna->kgem.nbatch,
sna->kgem.batch + sna->render_state.gen2.vertex_offset,
(1 + 3*sna->render.vertex_index)*sizeof(uint32_t));
sna->kgem.nbatch += 1 + 3*sna->render.vertex_index;
(1 + sna->render.vertex_index)*sizeof(uint32_t));
sna->kgem.nbatch += 1 + sna->render.vertex_index;
}
static void gen2_vertex_flush(struct sna *sna)
@ -830,6 +830,8 @@ inline static int gen2_get_rectangles(struct sna *sna,
struct gen2_render_state *state = &sna->render_state.gen2;
int rem = batch_space(sna), size, need;
assert(op->floats_per_vertex);
need = 0;
size = 3*op->floats_per_vertex;
if (op->need_magic_ca_pass)
@ -851,7 +853,8 @@ inline static int gen2_get_rectangles(struct sna *sna,
if (want * size > rem)
want = rem / size;
sna->render.vertex_index += 3*want;
assert(want);
sna->render.vertex_index += 3*want*op->floats_per_vertex;
return want;
}