diff options
Diffstat (limited to 'mesalib/src/glsl')
-rw-r--r-- | mesalib/src/glsl/link_varyings.cpp | 4 | ||||
-rw-r--r-- | mesalib/src/glsl/loop_analysis.cpp | 13 | ||||
-rw-r--r-- | mesalib/src/glsl/loop_analysis.h | 2 |
3 files changed, 10 insertions, 9 deletions
diff --git a/mesalib/src/glsl/link_varyings.cpp b/mesalib/src/glsl/link_varyings.cpp index e2cb46e8c..b1317c832 100644 --- a/mesalib/src/glsl/link_varyings.cpp +++ b/mesalib/src/glsl/link_varyings.cpp @@ -868,7 +868,9 @@ public: tfeedback_candidate_generator(void *mem_ctx, hash_table *tfeedback_candidates) : mem_ctx(mem_ctx), - tfeedback_candidates(tfeedback_candidates) + tfeedback_candidates(tfeedback_candidates), + toplevel_var(NULL), + varying_floats(0) { } diff --git a/mesalib/src/glsl/loop_analysis.cpp b/mesalib/src/glsl/loop_analysis.cpp index 6a0e4da51..191e92de7 100644 --- a/mesalib/src/glsl/loop_analysis.cpp +++ b/mesalib/src/glsl/loop_analysis.cpp @@ -105,7 +105,7 @@ loop_variable_state::insert(ir_if *if_stmt) class loop_analysis : public ir_hierarchical_visitor { public: - loop_analysis(); + loop_analysis(loop_state *loops); virtual ir_visitor_status visit(ir_loop_jump *); virtual ir_visitor_status visit(ir_dereference_variable *); @@ -129,12 +129,10 @@ public: }; -loop_analysis::loop_analysis() +loop_analysis::loop_analysis(loop_state *loops) + : loops(loops), if_statement_depth(0), current_assignment(NULL) { - this->loops = new loop_state; - - this->if_statement_depth = 0; - this->current_assignment = NULL; + /* empty */ } @@ -521,7 +519,8 @@ is_loop_terminator(ir_if *ir) loop_state * analyze_loop_variables(exec_list *instructions) { - loop_analysis v; + loop_state *loops = new loop_state; + loop_analysis v(loops); v.run(instructions); return v.loops; diff --git a/mesalib/src/glsl/loop_analysis.h b/mesalib/src/glsl/loop_analysis.h index 05c982fc1..769d62661 100644 --- a/mesalib/src/glsl/loop_analysis.h +++ b/mesalib/src/glsl/loop_analysis.h @@ -249,7 +249,7 @@ private: void *mem_ctx; - friend class loop_analysis; + friend loop_state *analyze_loop_variables(exec_list *instructions); }; #endif /* LOOP_ANALYSIS_H */ |