diff options
| author | Yong He <yonghe@outlook.com> | 2023-03-24 20:17:46 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-24 20:17:46 -0700 |
| commit | 666af0962b6ab41489a3a3287db83f77c2f6461a (patch) | |
| tree | 81a1247188ac03f1e8132e58ec31ae0f28c8c530 /tests | |
| parent | 7292edbd3eba3da7e8490ad19169a7d18283057a (diff) | |
Switch to short circuiting semantics for scalar `?:` operator. (#2733)
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/autodiff/select.slang | 4 | ||||
| -rw-r--r-- | tests/cross-compile/vector-comparison.slang | 2 | ||||
| -rw-r--r-- | tests/cross-compile/vector-comparison.slang.glsl | 7 |
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; } |
