summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_vertex_shader.c
diff options
context:
space:
mode:
authorZack Rusin <zack@tungstengraphics.com>2007-10-12 13:57:53 -0400
committerZack Rusin <zack@tungstengraphics.com>2007-10-24 11:21:03 -0400
commit2dbba8b024720c11cb2d812b5ccb61ecb9887faa (patch)
treeed3fd1386378a7e64bf2a2ba7521930f9c973b86 /src/mesa/pipe/draw/draw_vertex_shader.c
parent11bc1f015a781760c419bdd53b326132b5146971 (diff)
Implement the conversion and do the initial execution pass.
Diffstat (limited to 'src/mesa/pipe/draw/draw_vertex_shader.c')
-rw-r--r--src/mesa/pipe/draw/draw_vertex_shader.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mesa/pipe/draw/draw_vertex_shader.c b/src/mesa/pipe/draw/draw_vertex_shader.c
index fd0183f8cd..874259e727 100644
--- a/src/mesa/pipe/draw/draw_vertex_shader.c
+++ b/src/mesa/pipe/draw/draw_vertex_shader.c
@@ -91,6 +91,8 @@ run_vertex_program(struct draw_context *draw,
assert(draw->vertex_shader->state->output_semantic_name[0]
== TGSI_SEMANTIC_POSITION);
+ fprintf(stderr, "------ run_vertex\n");
+
/* Consts does not require 16 byte alignment. */
machine->Consts = (float (*)[4]) draw->mapped_constants;
@@ -161,10 +163,6 @@ run_vertex_program(struct draw_context *draw,
vOut[j]->data[slot][3] = machine->Outputs[slot].xyzw[3].f[j];
#if DBG
printf("output[%d][%d]: %f %f %f %f\n", j, slot,
- vOut[j]->data[slot][0],
- vOut[j]->data[slot][1],
- vOut[j]->data[slot][2],
- vOut[j]->data[slot][3]);
#endif
}
} /* loop over vertices */
@@ -179,7 +177,12 @@ void draw_vertex_shader_queue_flush( struct draw_context *draw )
{
unsigned i, j;
-// fprintf(stderr, " q(%d) ", draw->vs.queue_nr );
+ fprintf(stderr, "XX q(%d) ", draw->vs.queue_nr );
+
+ if (draw->vertex_shader->state->llvm_prog) {
+ draw_vertex_shader_queue_flush_llvm(draw);
+ return;
+ }
/* run vertex shader on vertex cache entries, four per invokation */
for (i = 0; i < draw->vs.queue_nr; i += 4) {