summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-10-14 13:40:26 -0700
committerKenneth Graunke <kenneth@whitecape.org>2010-10-14 15:59:47 -0700
commit6dc204c5dc723bbf9337aa7787cd6cc309a24285 (patch)
treee5de4dfe586bc65ff128498ef18a410a481eaa4c /src
parentd85d25dd1f4fd281bd210ba6ba5135ba1e3b535f (diff)
glsl: Add front-end support for GLSL 1.30's roundEven built-in.
Implemented using the op-code introduced in the previous commit.
Diffstat (limited to 'src')
-rw-r--r--src/glsl/builtins/ir/roundEven21
-rw-r--r--src/glsl/builtins/profiles/130.frag5
-rw-r--r--src/glsl/builtins/profiles/130.vert5
3 files changed, 31 insertions, 0 deletions
diff --git a/src/glsl/builtins/ir/roundEven b/src/glsl/builtins/ir/roundEven
new file mode 100644
index 00000000000..a9c99b6f44c
--- /dev/null
+++ b/src/glsl/builtins/ir/roundEven
@@ -0,0 +1,21 @@
+((function roundEven
+ (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)))))
+))
diff --git a/src/glsl/builtins/profiles/130.frag b/src/glsl/builtins/profiles/130.frag
index 51ee35ec090..c8b6319ae62 100644
--- a/src/glsl/builtins/profiles/130.frag
+++ b/src/glsl/builtins/profiles/130.frag
@@ -148,6 +148,11 @@ vec2 trunc(vec2 x);
vec3 trunc(vec3 x);
vec4 trunc(vec4 x);
+float roundEven(float x);
+vec2 roundEven(vec2 x);
+vec3 roundEven(vec3 x);
+vec4 roundEven(vec4 x);
+
float ceil(float x);
vec2 ceil(vec2 x);
vec3 ceil(vec3 x);
diff --git a/src/glsl/builtins/profiles/130.vert b/src/glsl/builtins/profiles/130.vert
index d5674c27e2c..9d1056f282f 100644
--- a/src/glsl/builtins/profiles/130.vert
+++ b/src/glsl/builtins/profiles/130.vert
@@ -148,6 +148,11 @@ vec2 trunc(vec2 x);
vec3 trunc(vec3 x);
vec4 trunc(vec4 x);
+float roundEven(float x);
+vec2 roundEven(vec2 x);
+vec3 roundEven(vec3 x);
+vec4 roundEven(vec4 x);
+
float ceil(float x);
vec2 ceil(vec2 x);
vec3 ceil(vec3 x);