nir: Use a single list for all shader variables
[mesa.git] / src / compiler / glsl / lower_vertex_id.cpp
index 3da7a2f1b3b00196e98e950e40e80062f8cdc98b..3b641caa01ee8c09ecf83b34213645c5efcd1c6a 100644 (file)
@@ -37,6 +37,8 @@
 #include "ir_builder.h"
 #include "linker.h"
 #include "program/prog_statevars.h"
+#include "builtin_functions.h"
+#include "main/mtypes.h"
 
 namespace {
 
@@ -100,7 +102,7 @@ lower_vertex_id_visitor::visit(ir_dereference_variable *ir)
       if (gl_BaseVertex == NULL) {
          gl_BaseVertex = new(mem_ctx) ir_variable(int_t, "gl_BaseVertex",
                                                   ir_var_system_value);
-         gl_BaseVertex->data.how_declared = ir_var_declared_implicitly;
+         gl_BaseVertex->data.how_declared = ir_var_hidden;
          gl_BaseVertex->data.read_only = true;
          gl_BaseVertex->data.location = SYSTEM_VALUE_BASE_VERTEX;
          gl_BaseVertex->data.explicit_location = true;
@@ -122,7 +124,7 @@ lower_vertex_id_visitor::visit(ir_dereference_variable *ir)
 }
 
 bool
-lower_vertex_id(gl_shader *shader)
+lower_vertex_id(gl_linked_shader *shader)
 {
    /* gl_VertexID only exists in the vertex shader.
     */
@@ -130,7 +132,7 @@ lower_vertex_id(gl_shader *shader)
       return false;
 
    ir_function_signature *const main_sig =
-      _mesa_get_main_function_signature(shader);
+      _mesa_get_main_function_signature(shader->symbols);
    if (main_sig == NULL) {
       assert(main_sig != NULL);
       return false;