Mesa (master): glsl: Add front-end support for GLSL 1.30' s roundEven built-in.

Kenneth Graunke kwg at kemper.freedesktop.org
Thu Oct 14 23:00:07 UTC 2010


Module: Mesa
Branch: master
Commit: 6dc204c5dc723bbf9337aa7787cd6cc309a24285
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6dc204c5dc723bbf9337aa7787cd6cc309a24285

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu Oct 14 13:40:26 2010 -0700

glsl: Add front-end support for GLSL 1.30's roundEven built-in.

Implemented using the op-code introduced in the previous commit.

---

 src/glsl/builtins/ir/roundEven      |   21 +++++++++++++++++++++
 src/glsl/builtins/profiles/130.frag |    5 +++++
 src/glsl/builtins/profiles/130.vert |    5 +++++
 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 0000000..a9c99b6
--- /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 51ee35e..c8b6319 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 d5674c2..9d1056f 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);




More information about the mesa-commit mailing list