summaryrefslogtreecommitdiffstats
path: root/src/glsl
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/builtins/ir/isinf.ir17
-rw-r--r--src/glsl/builtins/ir/isnan.ir17
-rw-r--r--src/glsl/builtins/profiles/130.frag2
-rw-r--r--src/glsl/builtins/profiles/130.vert2
4 files changed, 34 insertions, 4 deletions
diff --git a/src/glsl/builtins/ir/isinf.ir b/src/glsl/builtins/ir/isinf.ir
new file mode 100644
index 00000000000..92922f6fa36
--- /dev/null
+++ b/src/glsl/builtins/ir/isinf.ir
@@ -0,0 +1,17 @@
+((function isinf
+ (signature bool
+ (parameters
+ (declare (in) float x))
+ ((return (expression bool == (expression float abs (var_ref x)) (constant float (+INF))))))
+ (signature bvec2
+ (parameters
+ (declare (in) vec2 x))
+ ((return (expression bvec2 == (expression vec2 abs (var_ref x)) (constant vec2 (+INF +INF))))))
+ (signature bvec3
+ (parameters
+ (declare (in) vec3 x))
+ ((return (expression bvec3 == (expression vec3 abs (var_ref x)) (constant vec3 (+INF +INF +INF))))))
+ (signature bvec4
+ (parameters
+ (declare (in) vec4 x))
+ ((return (expression bvec4 == (expression vec4 abs (var_ref x)) (constant vec4 (+INF +INF +INF +INF))))))))
diff --git a/src/glsl/builtins/ir/isnan.ir b/src/glsl/builtins/ir/isnan.ir
new file mode 100644
index 00000000000..b67349f2a5c
--- /dev/null
+++ b/src/glsl/builtins/ir/isnan.ir
@@ -0,0 +1,17 @@
+((function isnan
+ (signature bool
+ (parameters
+ (declare (in) float x))
+ ((return (expression bool != (var_ref x) (var_ref x)))))
+ (signature bvec2
+ (parameters
+ (declare (in) vec2 x))
+ ((return (expression bvec2 != (var_ref x) (var_ref x)))))
+ (signature bvec3
+ (parameters
+ (declare (in) vec3 x))
+ ((return (expression bvec3 != (var_ref x) (var_ref x)))))
+ (signature bvec4
+ (parameters
+ (declare (in) vec4 x))
+ ((return (expression bvec4 != (var_ref x) (var_ref x)))))))
diff --git a/src/glsl/builtins/profiles/130.frag b/src/glsl/builtins/profiles/130.frag
index c121859f14c..1f212c16d67 100644
--- a/src/glsl/builtins/profiles/130.frag
+++ b/src/glsl/builtins/profiles/130.frag
@@ -288,7 +288,6 @@ vec2 smoothstep(float edge0, float edge1, vec2 x);
vec3 smoothstep(float edge0, float edge1, vec3 x);
vec4 smoothstep(float edge0, float edge1, vec4 x);
-#if 0
bool isnan(float x);
bvec2 isnan(vec2 x);
bvec3 isnan(vec3 x);
@@ -298,7 +297,6 @@ bool isinf(float x);
bvec2 isinf(vec2 x);
bvec3 isinf(vec3 x);
bvec4 isinf(vec4 x);
-#endif
/*
* 8.4 - Geometric Functions
diff --git a/src/glsl/builtins/profiles/130.vert b/src/glsl/builtins/profiles/130.vert
index ebd9a508851..df17ede3e80 100644
--- a/src/glsl/builtins/profiles/130.vert
+++ b/src/glsl/builtins/profiles/130.vert
@@ -288,7 +288,6 @@ vec2 smoothstep(float edge0, float edge1, vec2 x);
vec3 smoothstep(float edge0, float edge1, vec3 x);
vec4 smoothstep(float edge0, float edge1, vec4 x);
-#if 0
bool isnan(float x);
bvec2 isnan(vec2 x);
bvec3 isnan(vec3 x);
@@ -298,7 +297,6 @@ bool isinf(float x);
bvec2 isinf(vec2 x);
bvec3 isinf(vec3 x);
bvec4 isinf(vec4 x);
-#endif
/*
* 8.4 - Geometric Functions