From d85d25dd1f4fd281bd210ba6ba5135ba1e3b535f Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 14 Oct 2010 13:37:03 -0700 Subject: [PATCH] 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(+) diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index fd1c5d90718..87e78eee056 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 3503bc9c897..06198e4f3f6 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 cd609653fb3..524130ca59e 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; } -- 2.30.2