summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Rusin <zack@tungstengraphics.com>2008-04-21 12:42:37 -0400
committerZack Rusin <zack@tungstengraphics.com>2008-04-21 12:42:37 -0400
commit0824fb1d6afc651c0ab814e96f08326c706de216 (patch)
tree681cbef1f027fc750719c106b710993fb77d6969
parent30b4dc29091347252bc61d3be9370db0a45c16c3 (diff)
actually write the results
-rw-r--r--src/gallium/auxiliary/draw/draw_vs_llvm.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs_llvm.c b/src/gallium/auxiliary/draw/draw_vs_llvm.c
index 2ebf05526a..dcada66514 100644
--- a/src/gallium/auxiliary/draw/draw_vs_llvm.c
+++ b/src/gallium/auxiliary/draw/draw_vs_llvm.c
@@ -103,15 +103,16 @@ vs_llvm_run_linear( struct draw_vertex_shader *base,
/* Unswizzle all output results
*/
- for (slot = 1; slot < base->info.num_inputs; slot++) {
- output[slot][0] = machine->Outputs[slot].xyzw[0].f[j];
- output[slot][1] = machine->Outputs[slot].xyzw[1].f[j];
- output[slot][2] = machine->Outputs[slot].xyzw[2].f[j];
- output[slot][3] = machine->Outputs[slot].xyzw[3].f[j];
-
- output = (float (*)[4])((char *)output + output_stride);
+ for (j = 0; j < max_vertices; j++) {
+ for (slot = 0; slot < base->info.num_outputs; slot++) {
+ output[slot][0] = machine->Outputs[slot].xyzw[0].f[j];
+ output[slot][1] = machine->Outputs[slot].xyzw[1].f[j];
+ output[slot][2] = machine->Outputs[slot].xyzw[2].f[j];
+ output[slot][3] = machine->Outputs[slot].xyzw[3].f[j];
+ }
+ output = (float (*)[4])((char *)output + output_stride);
}
- }
+ }
}