glsl: Walk a list of ir_dereference_array to mark array elements as accessed
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -140,6 +140,7 @@ public:
|
||||
virtual ir_visitor_status visit(ir_dereference_variable *);
|
||||
|
||||
virtual ir_visitor_status visit_enter(ir_function_signature *);
|
||||
virtual ir_visitor_status visit_enter(ir_dereference_array *);
|
||||
|
||||
/**
|
||||
* Find variable in the hash table, and insert it if not present
|
||||
@@ -157,6 +158,15 @@ private:
|
||||
/** Get an array_deref_range element from private tracking. */
|
||||
array_deref_range *get_array_deref();
|
||||
|
||||
/**
|
||||
* Last ir_dereference_array that was visited
|
||||
*
|
||||
* Used to prevent some redundant calculations.
|
||||
*
|
||||
* \sa ::visit_enter(ir_dereference_array *)
|
||||
*/
|
||||
ir_dereference_array *last_array_deref;
|
||||
|
||||
/**
|
||||
* \name array_deref_range tracking
|
||||
*/
|
||||
|
Reference in New Issue
Block a user