Module: Mesa Branch: master Commit: d85d25dd1f4fd281bd210ba6ba5135ba1e3b535f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d85d25dd1f4fd281bd210ba6ba5135ba1e3b535f
Author: Kenneth Graunke <kenn...@whitecape.org> Date: Thu Oct 14 13:37:03 2010 -0700 glsl: Add a new ir_unop_round_even opcode for GLSL 1.30's roundEven. Also, update ir_to_mesa's "1.30 is unsupported" case to "handle" it. --- src/glsl/ir.cpp | 2 ++ src/glsl/ir.h | 1 + src/mesa/program/ir_to_mesa.cpp | 1 + 3 files changed, 4 insertions(+), 0 deletions(-) diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index fd1c5d9..87e78ee 100644 --- a/src/glsl/ir.cpp +++ b/src/glsl/ir.cpp @@ -216,6 +216,7 @@ ir_expression::get_num_operands(ir_expression_operation op) 1, /* ir_unop_ceil */ 1, /* ir_unop_floor */ 1, /* ir_unop_fract */ + 1, /* ir_unop_round_even */ 1, /* ir_unop_sin */ 1, /* ir_unop_cos */ @@ -288,6 +289,7 @@ static const char *const operator_strs[] = { "ceil", "floor", "fract", + "round_even", "sin", "cos", "dFdx", diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 3503bc9..06198e4 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -700,6 +700,7 @@ enum ir_expression_operation { ir_unop_ceil, ir_unop_floor, ir_unop_fract, + ir_unop_round_even, /*...@}*/ /** diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index cd60965..524130c 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -1130,6 +1130,7 @@ ir_to_mesa_visitor::visit(ir_expression *ir) case ir_binop_bit_and: case ir_binop_bit_xor: case ir_binop_bit_or: + case ir_unop_round_even: assert(!"GLSL 1.30 features unsupported"); break; } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit