summaryrefslogtreecommitdiff
path: root/src/glsl/builtins/ir
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-10-14 14:33:30 -0700
committerKenneth Graunke <kenneth@whitecape.org>2010-10-14 15:59:47 -0700
commit27ced5c5ff907557007ed6cb78cef5810cf48ef5 (patch)
treea74cad6777272c1f8ef08bc25b6e1bae5535618d /src/glsl/builtins/ir
parentf157812bbbcf9caac1f84988e738fc9d1e051056 (diff)
glsl: Add support for the 1.30 round() built-in.
This implements round() via the ir_unop_round_even opcode, rather than adding a new opcode. We may wish to add one in the future, since it might enable a small performance increase on some hardware, but for now, this should suffice.
Diffstat (limited to 'src/glsl/builtins/ir')
-rw-r--r--src/glsl/builtins/ir/round21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/glsl/builtins/ir/round b/src/glsl/builtins/ir/round
new file mode 100644
index 0000000000..d0d425bd65
--- /dev/null
+++ b/src/glsl/builtins/ir/round
@@ -0,0 +1,21 @@
+((function round
+ (signature float
+ (parameters
+ (declare (in) float arg0))
+ ((return (expression float round_even (var_ref arg0)))))
+
+ (signature vec2
+ (parameters
+ (declare (in) vec2 arg0))
+ ((return (expression vec2 round_even (var_ref arg0)))))
+
+ (signature vec3
+ (parameters
+ (declare (in) vec3 arg0))
+ ((return (expression vec3 round_even (var_ref arg0)))))
+
+ (signature vec4
+ (parameters
+ (declare (in) vec4 arg0))
+ ((return (expression vec4 round_even (var_ref arg0)))))
+))