summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2008-07-02 12:42:12 -0600
committerBrian Paul <brian.paul@tungstengraphics.com>2008-07-02 12:42:12 -0600
commit8a353c4020f68c31b9d6d42346912c49ecb16e74 (patch)
treee6a6eaf4dcc48c62341d3c838fbea5ec9fedb204
parent8261c40bb9b689d05e80e1423eb8d9f13b49b2b8 (diff)
mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctors
cherry-picked from master
-rw-r--r--src/mesa/shader/slang/library/slang_common_builtin.gc2
-rw-r--r--src/mesa/shader/slang/library/slang_core.gc38
2 files changed, 39 insertions, 1 deletions
diff --git a/src/mesa/shader/slang/library/slang_common_builtin.gc b/src/mesa/shader/slang/library/slang_common_builtin.gc
index 26080cf26ca..356f5f9d8e9 100644
--- a/src/mesa/shader/slang/library/slang_common_builtin.gc
+++ b/src/mesa/shader/slang/library/slang_common_builtin.gc
@@ -1559,7 +1559,7 @@ bool any(const bvec4 v)
//// all
-bool all (const vec2 v)
+bool all (const bvec2 v)
{
float prod;
__asm vec4_multiply prod.x, v.x, v.y;
diff --git a/src/mesa/shader/slang/library/slang_core.gc b/src/mesa/shader/slang/library/slang_core.gc
index 4639660ba1e..cd7aaa418e7 100644
--- a/src/mesa/shader/slang/library/slang_core.gc
+++ b/src/mesa/shader/slang/library/slang_core.gc
@@ -350,6 +350,19 @@ bvec2 __constructor(const int i)
__asm vec4_seq __retVal.xy, i.xx, zero;
}
+bvec2 __constructor(const vec2 v)
+{
+ const vec2 zero = vec2(0.0, 0.0);
+ __asm vec4_seq __retVal.xy, v, zero;
+}
+
+bvec2 __constructor(const ivec2 v)
+{
+ const ivec2 zero = ivec2(0, 0);
+ __asm vec4_seq __retVal.xy, v, zero;
+}
+
+
//// bvec3 constructors
@@ -377,6 +390,19 @@ bvec3 __constructor(const int i)
__asm vec4_seq __retVal.xyz, i.xxx, zero;
}
+bvec3 __constructor(const vec3 v)
+{
+ const vec3 zero = vec3(0.0, 0.0, 0.0);
+ __asm vec4_seq __retVal.xyz, v, zero;
+}
+
+bvec3 __constructor(const ivec3 v)
+{
+ const ivec3 zero = ivec3(0, 0, 0);
+ __asm vec4_seq __retVal.xyz, v, zero;
+}
+
+
//// bvec4 constructors
@@ -405,6 +431,18 @@ bvec4 __constructor(const int i)
__asm vec4_seq __retVal, i.xxxx, zero;
}
+bvec4 __constructor(const vec4 v)
+{
+ const vec4 zero = vec4(0.0, 0.0, 0.0, 0.0);
+ __asm vec4_seq __retVal, v, zero;
+}
+
+bvec4 __constructor(const ivec4 v)
+{
+ const ivec4 zero = ivec4(0, 0, 0, 0);
+ __asm vec4_seq __retVal, v, zero;
+}
+
//// mat2 constructors