mesa: ir_to_mesa support for system values
authorBrian Paul <brianp@vmware.com>
Thu, 9 Dec 2010 01:25:58 +0000 (18:25 -0700)
committerBrian Paul <brianp@vmware.com>
Thu, 9 Dec 2010 01:25:58 +0000 (18:25 -0700)
src/mesa/program/ir_to_mesa.cpp

index 8f75c82c3eb4d6c426e28fbaac2afcf44c39c4f3..a5b17bb3284075260dab0ed8983a649bf896bded 100644 (file)
@@ -1460,6 +1460,7 @@ ir_to_mesa_visitor::visit(ir_dereference_variable *ir)
       case ir_var_in:
       case ir_var_out:
       case ir_var_inout:
+      case ir_var_system_value:
         /* The linker assigns locations for varyings and attributes,
          * including deprecated builtins (like gl_Color), user-assign
          * generic attributes (glBindVertexLocation), and
@@ -1482,6 +1483,10 @@ ir_to_mesa_visitor::visit(ir_dereference_variable *ir)
                                   ir->var->type->gl_type,
                                   ir->var->location - VERT_ATTRIB_GENERIC0);
            }
+         } else if (ir->var->mode == ir_var_system_value) {
+           entry = new(mem_ctx) variable_storage(ir->var,
+                                                 PROGRAM_SYSTEM_VALUE,
+                                                 ir->var->location);
         } else {
            entry = new(mem_ctx) variable_storage(ir->var,
                                                  PROGRAM_OUTPUT,