[Mesa-dev] [PATCH 15/15] glsl: Remove silly OR(..., 0x0) from ldexp() lowering.

Matt Turner mattst88 at gmail.com
Mon Dec 2 10:40:37 PST 2013


I translated copysign(0.0f, x) a little too literally.
---
 src/glsl/lower_instructions.cpp | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/glsl/lower_instructions.cpp b/src/glsl/lower_instructions.cpp
index d01879c..8f8d448 100644
--- a/src/glsl/lower_instructions.cpp
+++ b/src/glsl/lower_instructions.cpp
@@ -383,7 +383,6 @@ lower_instructions_visitor::ldexp_to_arith(ir_expression *ir)
 
    /* Constants */
    ir_constant *zeroi = ir_constant::zero(ir, ivec);
-   ir_constant *zerof = ir_constant::zero(ir, ir->type);
 
    ir_constant *sign_mantissa_mask = new(ir) ir_constant(0x807fffffu, vec_elem);
    ir_constant *sign_mask = new(ir) ir_constant(0x80000000u, vec_elem);
@@ -429,8 +428,7 @@ lower_instructions_visitor::ldexp_to_arith(ir_expression *ir)
     */
    i.insert_before(zero_sign_x);
    i.insert_before(assign(zero_sign_x,
-                          bitcast_u2f(bit_or(bit_and(bitcast_f2u(x), sign_mask),
-                                             bitcast_f2u(zerof)))));
+                          bitcast_u2f(bit_and(bitcast_f2u(x), sign_mask))));
 
    i.insert_before(is_not_zero_or_underflow);
    i.insert_before(assign(is_not_zero_or_underflow,
-- 
1.8.3.2



More information about the mesa-dev mailing list