summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-03-24 20:17:46 -0700
committerGitHub <noreply@github.com>2023-03-24 20:17:46 -0700
commit666af0962b6ab41489a3a3287db83f77c2f6461a (patch)
tree81a1247188ac03f1e8132e58ec31ae0f28c8c530 /tests
parent7292edbd3eba3da7e8490ad19169a7d18283057a (diff)
Switch to short circuiting semantics for scalar `?:` operator. (#2733)
Diffstat (limited to 'tests')
-rw-r--r--tests/autodiff/select.slang4
-rw-r--r--tests/cross-compile/vector-comparison.slang2
-rw-r--r--tests/cross-compile/vector-comparison.slang.glsl7
3 files changed, 7 insertions, 6 deletions
diff --git a/tests/autodiff/select.slang b/tests/autodiff/select.slang
index 261c170db..20abab977 100644
--- a/tests/autodiff/select.slang
+++ b/tests/autodiff/select.slang
@@ -10,7 +10,7 @@ typedef float.Differential dfloat;
[BackwardDifferentiable]
float f(float x, float y)
{
- return x > 0.5 ? x : y;
+ return x > 0.0 ? sqrt(x)*sqrt(x) : y;
}
[numthreads(1, 1, 1)]
@@ -27,7 +27,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
}
{
- dpfloat dpa = dpfloat(0.3, 1.0);
+ dpfloat dpa = dpfloat(-0.3, 1.0);
dpfloat dpb = dpfloat(0.3, 1.0);
__bwd_diff(f)(dpa, dpb, 1.0);
diff --git a/tests/cross-compile/vector-comparison.slang b/tests/cross-compile/vector-comparison.slang
index d1fdcfd4a..f363eb40c 100644
--- a/tests/cross-compile/vector-comparison.slang
+++ b/tests/cross-compile/vector-comparison.slang
@@ -1,6 +1,6 @@
// vector-comparison.slang
-//TEST:CROSS_COMPILE:-target spirv-assembly -entry main -stage fragment
+//TEST:CROSS_COMPILE:-target spirv-assembly -entry main -stage fragment -Wno-use-of-non-short-circuiting-operator
// This test ensures that we cross-compile vector comparison operators
// correctly to GLSL
diff --git a/tests/cross-compile/vector-comparison.slang.glsl b/tests/cross-compile/vector-comparison.slang.glsl
index 2497055a0..3e6f7b9c2 100644
--- a/tests/cross-compile/vector-comparison.slang.glsl
+++ b/tests/cross-compile/vector-comparison.slang.glsl
@@ -1,8 +1,6 @@
-//TEST_IGNORE_FILE
#version 450
layout(row_major) uniform;
layout(row_major) buffer;
-
struct Param_0
{
vec4 a_0;
@@ -19,6 +17,9 @@ out vec4 _S2;
void main()
{
- _S2 = mix(vec4(3.0), vec4(2.0), (equal(params_0._data.a_0,params_0._data.b_0))) + mix(vec4(3.0), vec4(2.0), (lessThan(params_0._data.a_0,params_0._data.b_0))) + mix(vec4(3.0), vec4(2.0), (greaterThan(params_0._data.a_0,params_0._data.b_0))) + mix(vec4(3.0), vec4(2.0), (lessThanEqual(params_0._data.a_0,params_0._data.b_0))) + mix(vec4(3.0), vec4(2.0), (greaterThanEqual(params_0._data.a_0,params_0._data.b_0))) + mix(vec4(3.0), vec4(2.0), (notEqual(params_0._data.a_0,params_0._data.b_0)));
+
+ const vec4 _S3 = vec4(2.0);
+ const vec4 _S4 = vec4(3.0);
+ _S2 = mix(_S4, _S3, (equal(params_0._data.a_0,params_0._data.b_0))) + mix(_S4, _S3, (lessThan(params_0._data.a_0,params_0._data.b_0))) + mix(_S4, _S3, (greaterThan(params_0._data.a_0,params_0._data.b_0))) + mix(_S4, _S3, (lessThanEqual(params_0._data.a_0,params_0._data.b_0))) + mix(_S4, _S3, (greaterThanEqual(params_0._data.a_0,params_0._data.b_0))) + mix(_S4, _S3, (notEqual(params_0._data.a_0,params_0._data.b_0)));
return;
}