summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_vertex_shader_llvm.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2007-12-12 13:11:19 +1100
committerBen Skeggs <skeggsb@gmail.com>2007-12-12 13:11:19 +1100
commit58915980127ab4e57b6b40a8c42f44be4a12aeae (patch)
tree176f379bb19fc8caacf96112a1ebeda8aea90a16 /src/mesa/pipe/draw/draw_vertex_shader_llvm.c
parente282d22d512d2a5871d0fabb7d855a16b4593c50 (diff)
parentb2ad30d57197c2167789e4f3f5b34af6df56dde2 (diff)
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Conflicts: src/mesa/pipe/Makefile
Diffstat (limited to 'src/mesa/pipe/draw/draw_vertex_shader_llvm.c')
-rw-r--r--src/mesa/pipe/draw/draw_vertex_shader_llvm.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/mesa/pipe/draw/draw_vertex_shader_llvm.c b/src/mesa/pipe/draw/draw_vertex_shader_llvm.c
index 29de437595..acd61163fa 100644
--- a/src/mesa/pipe/draw/draw_vertex_shader_llvm.c
+++ b/src/mesa/pipe/draw/draw_vertex_shader_llvm.c
@@ -38,7 +38,7 @@
#ifdef MESA_LLVM
#include "pipe/llvm/gallivm.h"
-#include "pipe/tgsi/exec/tgsi_core.h"
+#include "pipe/p_shader_tokens.h"
#define DBG 0
@@ -115,13 +115,12 @@ void draw_vertex_shader_queue_flush_llvm(struct draw_context *draw)
unsigned i;
struct vertex_header *dests[VS_QUEUE_LENGTH];
- float inputs[VS_QUEUE_LENGTH][PIPE_MAX_SHADER_INPUTS][4];
- float outputs[VS_QUEUE_LENGTH][PIPE_MAX_SHADER_INPUTS][4];
+ float inputs[VS_QUEUE_LENGTH][PIPE_MAX_SHADER_INPUTS][4] ALIGN16_ATTRIB;
+ float outputs[VS_QUEUE_LENGTH][PIPE_MAX_SHADER_INPUTS][4] ALIGN16_ATTRIB;
float (*consts)[4] = (float (*)[4]) draw->user.constants;
struct gallivm_prog *prog = draw->vertex_shader->llvm_prog;
const float *scale = draw->viewport.scale;
const float *trans = draw->viewport.translate;
-
/* fetch the inputs */
for (i = 0; i < draw->vs.queue_nr; ++i) {
unsigned elt = draw->vs.queue[i].elt;
@@ -133,7 +132,8 @@ void draw_vertex_shader_queue_flush_llvm(struct draw_context *draw)
gallivm_prog_exec(prog, inputs, outputs, consts,
draw->vs.queue_nr,
draw->vertex_shader->state->num_inputs,
- draw->vertex_info.num_attribs);
+ draw->vertex_info.num_attribs - 2);
+
/* store machine results */
for (int i = 0; i < draw->vs.queue_nr; ++i) {
@@ -158,7 +158,6 @@ void draw_vertex_shader_queue_flush_llvm(struct draw_context *draw)
vOut->clipmask = compute_clipmask(vOut->clip, draw->plane, draw->nr_planes);
vOut->edgeflag = 1;
-
/* divide by w */
w = 1.0f / w;
x *= w;