~ubuntu-branches/ubuntu/precise/mesa/precise-updates

« back to all changes in this revision

Viewing changes to src/glsl/ir_optimization.h

  • Committer: Package Import Robot
  • Author(s): Robert Hooker
  • Date: 2012-02-02 12:05:48 UTC
  • mfrom: (1.7.1) (3.3.27 sid)
  • Revision ID: package-import@ubuntu.com-20120202120548-nvkma85jq0h4coix
Tags: 8.0~rc2-0ubuntu4
Drop drisearchdir handling, it is no longer needed with multiarch
and dri-alternates being removed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
 */
30
30
 
31
31
/* Operations for lower_instructions() */
32
 
#define SUB_TO_ADD_NEG 0x01
33
 
#define DIV_TO_MUL_RCP 0x02
34
 
#define EXP_TO_EXP2    0x04
35
 
#define POW_TO_EXP2    0x08
36
 
#define LOG_TO_LOG2    0x10
37
 
#define MOD_TO_FRACT   0x20
 
32
#define SUB_TO_ADD_NEG     0x01
 
33
#define DIV_TO_MUL_RCP     0x02
 
34
#define EXP_TO_EXP2        0x04
 
35
#define POW_TO_EXP2        0x08
 
36
#define LOG_TO_LOG2        0x10
 
37
#define MOD_TO_FRACT       0x20
 
38
#define INT_DIV_TO_MUL_RCP 0x40
38
39
 
39
 
bool do_common_optimization(exec_list *ir, bool linked, unsigned max_unroll_iterations);
 
40
bool do_common_optimization(exec_list *ir, bool linked,
 
41
                            bool uniform_locations_assigned,
 
42
                            unsigned max_unroll_iterations);
40
43
 
41
44
bool do_algebraic(exec_list *instructions);
42
45
bool do_constant_folding(exec_list *instructions);
45
48
bool do_copy_propagation(exec_list *instructions);
46
49
bool do_copy_propagation_elements(exec_list *instructions);
47
50
bool do_constant_propagation(exec_list *instructions);
48
 
bool do_dead_code(exec_list *instructions);
 
51
bool do_dead_code(exec_list *instructions, bool uniform_locations_assigned);
49
52
bool do_dead_code_local(exec_list *instructions);
50
53
bool do_dead_code_unlinked(exec_list *instructions);
51
54
bool do_dead_functions(exec_list *instructions);
56
59
bool do_discard_simplification(exec_list *instructions);
57
60
bool lower_if_to_cond_assign(exec_list *instructions, unsigned max_depth = 0);
58
61
bool do_mat_op_to_vec(exec_list *instructions);
59
 
bool do_mod_to_fract(exec_list *instructions);
60
62
bool do_noop_swizzle(exec_list *instructions);
61
63
bool do_structure_splitting(exec_list *instructions);
62
 
bool do_sub_to_add_neg(exec_list *instructions);
63
64
bool do_swizzle_swizzle(exec_list *instructions);
64
65
bool do_tree_grafting(exec_list *instructions);
65
66
bool do_vec_index_to_cond_assign(exec_list *instructions);
70
71
bool lower_variable_index_to_cond_assign(exec_list *instructions,
71
72
    bool lower_input, bool lower_output, bool lower_temp, bool lower_uniform);
72
73
bool lower_quadop_vector(exec_list *instructions, bool dont_lower_swz);
 
74
bool lower_clip_distance(exec_list *instructions);
 
75
void lower_output_reads(exec_list *instructions);
73
76
bool optimize_redundant_jumps(exec_list *instructions);
 
77
 
 
78
ir_rvalue *
 
79
compare_index_block(exec_list *instructions, ir_variable *index,
 
80
                    unsigned base, unsigned components, void *mem_ctx);