void move_uniform_array_access_to_pull_constants();
void assign_constant_locations();
void demote_pull_constants();
- void invalidate_live_intervals();
+ void invalidate_live_intervals(bool invalidate_cfg = true);
void calculate_live_intervals();
void calculate_register_pressure();
bool opt_algebraic();
}
void
-fs_visitor::invalidate_live_intervals()
+fs_visitor::invalidate_live_intervals(bool __invalidate_cfg)
{
ralloc_free(live_intervals);
live_intervals = NULL;
- invalidate_cfg();
+ if (__invalidate_cfg)
+ invalidate_cfg();
}
/**
void assign_common_binding_table_offsets(uint32_t next_binding_table_offset);
- virtual void invalidate_live_intervals() = 0;
+ virtual void invalidate_live_intervals(bool invalidate_cfg = true) = 0;
};
uint32_t brw_texture_offset(struct gl_context *ctx, ir_constant *offset);
void split_uniform_registers();
void pack_uniform_registers();
void calculate_live_intervals();
- void invalidate_live_intervals();
+ void invalidate_live_intervals(bool invalidate_cfg = true);
void split_virtual_grfs();
bool opt_reduce_swizzle();
bool dead_code_eliminate();
}
void
-vec4_visitor::invalidate_live_intervals()
+vec4_visitor::invalidate_live_intervals(bool __invalidate_cfg)
{
live_intervals_valid = false;
- invalidate_cfg();
+ if (__invalidate_cfg)
+ invalidate_cfg();
}
bool