i965: Use MESA_FORMAT_B8G8R8X8_SRGB for RGB visuals
[mesa.git] / src / glsl / link_uniform_block_active_visitor.h
index 524cd6b91d95a105a0e6762e638b7d5976a8f5b9..afb52c14a3729cb544ebf4a0d067caaf0e061065 100644 (file)
 #define LINK_UNIFORM_BLOCK_ACTIVE_VISITOR_H
 
 #include "ir.h"
-#include "main/hash_table.h"
+#include "util/hash_table.h"
+
+struct uniform_block_array_elements {
+   unsigned *array_elements;
+   unsigned num_array_elements;
+
+   ir_dereference_array *ir;
+
+   struct uniform_block_array_elements *array;
+};
 
 struct link_uniform_block_active {
    const glsl_type *type;
+   ir_variable *var;
 
-   unsigned *array_elements;
-   unsigned num_array_elements;
+   struct uniform_block_array_elements *array;
 
    unsigned binding;
 
    bool has_instance_name;
    bool has_binding;
+   bool is_shader_storage;
 };
 
 class link_uniform_block_active_visitor : public ir_hierarchical_visitor {
@@ -51,6 +61,7 @@ public:
 
    virtual ir_visitor_status visit_enter(ir_dereference_array *);
    virtual ir_visitor_status visit(ir_dereference_variable *);
+   virtual ir_visitor_status visit(ir_variable *);
 
    bool success;