summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/ir_to_mesa.cpp
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-06-29 18:23:05 -0700
committerEric Anholt <[email protected]>2010-06-30 12:02:31 -0700
commitedcb9c2b062693a5974aa74725f6259023fff794 (patch)
tree925c382545045ced6e2714870e4024ff340d4388 /src/mesa/shader/ir_to_mesa.cpp
parent982e3798d8b9bfec7ff3f37c52687036b36bc153 (diff)
ir_to_mesa: Tell Mesa about our choices for vertex attribute locations.
Diffstat (limited to 'src/mesa/shader/ir_to_mesa.cpp')
-rw-r--r--src/mesa/shader/ir_to_mesa.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/shader/ir_to_mesa.cpp b/src/mesa/shader/ir_to_mesa.cpp
index f0eb46a3ee1..75021a70fdb 100644
--- a/src/mesa/shader/ir_to_mesa.cpp
+++ b/src/mesa/shader/ir_to_mesa.cpp
@@ -1001,6 +1001,15 @@ ir_to_mesa_visitor::visit(ir_dereference_variable *ir)
entry = new(mem_ctx) temp_entry(ir->var,
PROGRAM_INPUT,
ir->var->location);
+
+ if (this->prog->Target == GL_VERTEX_PROGRAM_ARB &&
+ ir->var->location >= VERT_ATTRIB_GENERIC0) {
+ _mesa_add_attribute(prog->Attributes,
+ ir->var->name,
+ type_size(ir->var->type) * 4,
+ ir->var->type->gl_type,
+ ir->var->location);
+ }
} else {
entry = new(mem_ctx) temp_entry(ir->var,
PROGRAM_OUTPUT,