diff options
author | Abdiel Janulgue <[email protected]> | 2014-12-08 13:31:29 +0200 |
---|---|---|
committer | Abdiel Janulgue <[email protected]> | 2014-12-08 20:14:17 +0200 |
commit | 4ea8c8d56ca8d6b4af36e7750186821b4973355a (patch) | |
tree | 304f9da4a03bddaa872f28f3b6d759d48041008a /src | |
parent | 39f7b72428d1a55357a24cd26c43880595602090 (diff) |
glsl: Don't optimize min/max into saturate when EmitNoSat is set
v3: Fix multi-line comment format (Ian)
Reviewed-by: Matt Turner <[email protected]>
Signed-off-by: Abdiel Janulgue <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/opt_algebraic.cpp | 2 | ||||
-rw-r--r-- | src/mesa/main/mtypes.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp index c4f883b9a8e..c6f4a9c786d 100644 --- a/src/glsl/opt_algebraic.cpp +++ b/src/glsl/opt_algebraic.cpp @@ -689,7 +689,7 @@ ir_algebraic_visitor::handle_expression(ir_expression *ir) case ir_binop_min: case ir_binop_max: - if (ir->type->base_type != GLSL_TYPE_FLOAT) + if (ir->type->base_type != GLSL_TYPE_FLOAT || options->EmitNoSat) break; /* Replace min(max) operations and its commutative combinations with diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 7389baa1d02..cee11a39120 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2990,6 +2990,7 @@ struct gl_shader_compiler_options GLboolean EmitNoMainReturn; /**< Emit CONT/RET opcodes? */ GLboolean EmitNoNoise; /**< Emit NOISE opcodes? */ GLboolean EmitNoPow; /**< Emit POW opcodes? */ + GLboolean EmitNoSat; /**< Emit SAT opcodes? */ GLboolean LowerClipDistance; /**< Lower gl_ClipDistance from float[8] to vec4[2]? */ /** |