glsl: Improve documentation of ir_loop counter/control fields.
[mesa.git] / src / glsl / ir_set_program_inouts.cpp
index 1267d6d71774cdc8f60b6f74c76ad168d0750283..ab23538c341ef2d6997fde0b8840a7b492a2e9df 100644 (file)
@@ -59,6 +59,7 @@ public:
    virtual ir_visitor_status visit_enter(ir_function_signature *);
    virtual ir_visitor_status visit_enter(ir_expression *);
    virtual ir_visitor_status visit_enter(ir_discard *);
+   virtual ir_visitor_status visit_enter(ir_texture *);
    virtual ir_visitor_status visit(ir_dereference_variable *);
 
 private:
@@ -319,6 +320,14 @@ ir_set_program_inouts_visitor::visit_enter(ir_discard *)
    return visit_continue;
 }
 
+ir_visitor_status
+ir_set_program_inouts_visitor::visit_enter(ir_texture *ir)
+{
+   if (ir->op == ir_tg4)
+      prog->UsesGather = true;
+   return visit_continue;
+}
+
 void
 do_set_program_inouts(exec_list *instructions, struct gl_program *prog,
                       GLenum shader_type)