diff options
author | Kenneth Graunke <[email protected]> | 2011-06-14 23:13:27 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2011-06-29 16:07:13 -0700 |
commit | 578f6a9534ec6ea1ffc6638b98f0b5570a85a19d (patch) | |
tree | 1db15f9d850971be8588993ef8b60d2df0e1af79 /src | |
parent | ed92b912120394f3b19958effaa819d29bc6d059 (diff) |
glsl: Don't use MOD_TO_FRACT lowering on GLSL 1.30's % operator.
MOD_TO_FRACT was designed to lower the GLSL 1.20 mod() function, which
operates on floating point values. However, we also use ir_binop_mod
for GLSL 1.30's % operator, which operates on integers.
For now, make MOD_TO_FRACT only apply to floating-point mod operations.
In the future, we may want to add a lowering pass for integer-based mod.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/lower_instructions.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/lower_instructions.cpp b/src/glsl/lower_instructions.cpp index 94b8c4a6836..806f8639959 100644 --- a/src/glsl/lower_instructions.cpp +++ b/src/glsl/lower_instructions.cpp @@ -276,7 +276,7 @@ lower_instructions_visitor::visit_leave(ir_expression *ir) break; case ir_binop_mod: - if (lowering(MOD_TO_FRACT)) + if (lowering(MOD_TO_FRACT) && ir->type->is_float()) mod_to_fract(ir); break; |