diff options
| -rw-r--r-- | src/glsl/lower_jumps.cpp | 13 | 
1 files changed, 2 insertions, 11 deletions
| diff --git a/src/glsl/lower_jumps.cpp b/src/glsl/lower_jumps.cpp index e1e7a5b007..beacfaf8b0 100644 --- a/src/glsl/lower_jumps.cpp +++ b/src/glsl/lower_jumps.cpp @@ -36,7 +36,6 @@ enum jump_strength     strength_continue,     strength_break,     strength_return, -   strength_discard  };  struct block_record @@ -202,8 +201,6 @@ struct ir_lower_jumps_visitor : public ir_control_flow_visitor {     virtual void visit(class ir_discard * ir)     { -      truncate_after_instruction(ir); -      this->block.min_strength = strength_discard;     }     enum jump_strength get_jump_strength(ir_instruction* ir) @@ -217,8 +214,6 @@ struct ir_lower_jumps_visitor : public ir_control_flow_visitor {              return strength_continue;        } else if(ir->ir_type == ir_type_return)           return strength_return; -      else if(ir->ir_type == ir_type_discard) -         return strength_discard;        else           return strength_none;     } @@ -253,9 +248,6 @@ struct ir_lower_jumps_visitor : public ir_control_flow_visitor {           else              lower = lower_sub_return;           break; -      case strength_discard: -         lower = false; /* probably nothing needs this lowered */ -         break;        }        return lower;     } @@ -313,9 +305,8 @@ retry: /* we get here if we put code after the if inside a branch */              /* FINISHME: unify returns with identical expressions */              else if(jump_strengths[0] == strength_return && this->function.signature->return_type->is_void())                 ir->insert_after(new(ir) ir_return(NULL)); -            /* FINISHME: unify discards */ -            else -               unify = false; +	    else +	       unify = false;              if(unify) {                 jumps[0]->remove(); | 
