ir_to_mesa: Tell Mesa about our choices for vertex attribute locations.
authorEric Anholt <eric@anholt.net>
Wed, 30 Jun 2010 01:23:05 +0000 (18:23 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 30 Jun 2010 19:02:31 +0000 (12:02 -0700)
src/mesa/shader/ir_to_mesa.cpp

index f0eb46a3ee1819d3481a5c557fe5a66a4ac50f0b..75021a70fdb8b925bfffe04b4ac717d51516b9e7 100644 (file)
@@ -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,