summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs/bool-init.slang2
-rw-r--r--tests/bugs/bool-op.slang16
-rw-r--r--tests/bugs/generic-constant-fold.slang4
-rw-r--r--tests/bugs/generic-default-matrix.slang4
-rw-r--r--tests/bugs/generic-default-value.slang4
-rw-r--r--tests/bugs/generic-uint-value-param.slang24
-rw-r--r--tests/bugs/generic-uint-value-param.slang.expected.txt5
-rw-r--r--tests/bugs/gh-1990.slang2
-rw-r--r--tests/bugs/gh-487.slang2
-rw-r--r--tests/bugs/gh-841.slang2
-rw-r--r--tests/bugs/gh-841.slang.glsl2
-rw-r--r--tests/bugs/gl-33.slang2
-rw-r--r--tests/bugs/meta-2.slang2
-rw-r--r--tests/bugs/mutating/mutating-generic-method.slang2
-rw-r--r--tests/bugs/nested-existential-dyndispatch.slang2
-rw-r--r--tests/bugs/operator-overload.slang2
-rw-r--r--tests/bugs/ssa-loop.slang4
-rw-r--r--tests/bugs/static-method.slang2
-rw-r--r--tests/bugs/texture2d-ms.hlsl2
-rw-r--r--tests/bugs/vec-compare.slang2
-rw-r--r--tests/bugs/vk-structured-buffer-load.hlsl4
-rw-r--r--tests/compute/array-existential-parameter.slang2
-rw-r--r--tests/compute/array-param.slang4
-rw-r--r--tests/compute/assoctype-lookup.slang4
-rw-r--r--tests/compute/assoctype-nested.slang4
-rw-r--r--tests/compute/bound-check-zero-index.slang2
-rw-r--r--tests/compute/buffer-layout.slang4
-rw-r--r--tests/compute/buffer-type-splitting.slang8
-rw-r--r--tests/compute/byte-address-buffer.slang6
-rw-r--r--tests/compute/cast-zero-to-struct.slang2
-rw-r--r--tests/compute/constexpr.slang2
-rw-r--r--tests/compute/dynamic-dispatch-13.slang2
-rw-r--r--tests/compute/dynamic-dispatch-14.slang2
-rw-r--r--tests/compute/dynamic-dispatch-bindless-texture.slang4
-rw-r--r--tests/compute/entry-point-uniform-params.slang2
-rw-r--r--tests/compute/enum.slang6
-rw-r--r--tests/compute/frem.slang4
-rw-r--r--tests/compute/half-calc.slang4
-rw-r--r--tests/compute/half-rw-texture-convert.slang2
-rw-r--r--tests/compute/half-rw-texture-convert2.slang2
-rw-r--r--tests/compute/half-structured-buffer.slang2
-rw-r--r--tests/compute/half-vector-calc.slang10
-rw-r--r--tests/compute/interface-local.slang2
-rw-r--r--tests/compute/interface-param.slang4
-rw-r--r--tests/compute/interface-shader-param-in-struct.slang2
-rw-r--r--tests/compute/interface-shader-param.slang2
-rw-r--r--tests/compute/interface-static-method.slang2
-rw-r--r--tests/compute/matrix-layout-structured-buffer.slang4
-rw-r--r--tests/compute/matrix-layout.hlsl4
-rw-r--r--tests/compute/modern-syntax.slang4
-rw-r--r--tests/compute/multiple-continue-sites.slang2
-rw-r--r--tests/compute/mutating-and-inout.slang2
-rw-r--r--tests/compute/mutating-methods.slang2
-rw-r--r--tests/compute/pack-any-value-16bit.slang4
-rw-r--r--tests/compute/rw-texture-simple.slang2
-rw-r--r--tests/compute/scope-operator.slang2
-rw-r--r--tests/compute/semantic.slang2
-rw-r--r--tests/compute/static-const-array.slang2
-rw-r--r--tests/compute/static-const-matrix-array.slang2
-rw-r--r--tests/compute/static-const-vector-array.slang2
-rw-r--r--tests/compute/struct-make.slang4
-rw-r--r--tests/compute/structured-buffer-of-matrices.slang2
-rw-r--r--tests/compute/texture-get-dimensions.slang2
-rw-r--r--tests/compute/texture-simple.slang2
-rw-r--r--tests/compute/unbounded-array-of-array-syntax.slang2
-rw-r--r--tests/compute/vector-scalar-compare.slang4
-rw-r--r--tests/cross-compile/array-of-buffers.slang2
-rw-r--r--tests/cross-compile/get-dimensions.slang6
-rw-r--r--tests/cross-compile/image-load.slang2
-rw-r--r--tests/cross-compile/simple-cross-compile.slang2
-rw-r--r--tests/diagnostics/attribute-error.slang.expected3
-rw-r--r--tests/diagnostics/bool-to-float.slang13
-rw-r--r--tests/diagnostics/bool-to-float.slang.expected8
-rw-r--r--tests/diagnostics/constexpr-error.slang6
-rw-r--r--tests/diagnostics/constexpr-error.slang.expected11
-rw-r--r--tests/diagnostics/enum-implicit-conversion.slang.expected9
-rw-r--r--tests/diagnostics/generic-invalid-type-specialization.slang.expected3
-rw-r--r--tests/diagnostics/local-line.slang10
-rw-r--r--tests/doc/doc.slang10
-rw-r--r--tests/downstream/dxc-x-arg.slang2
-rw-r--r--tests/experimental/liveness/liveness-2.slang2
-rw-r--r--tests/experimental/liveness/liveness-3.slang4
-rw-r--r--tests/experimental/liveness/liveness-3.slang.expected2
-rw-r--r--tests/experimental/liveness/liveness-4.slang2
-rw-r--r--tests/experimental/liveness/liveness-5.slang2
-rw-r--r--tests/experimental/liveness/liveness-6.slang2
-rw-r--r--tests/experimental/liveness/liveness-7.slang4
-rw-r--r--tests/experimental/liveness/liveness-7.slang.expected2
-rw-r--r--tests/experimental/liveness/liveness.slang6
-rw-r--r--tests/experimental/liveness/liveness.slang.expected2
-rw-r--r--tests/hlsl-intrinsic/active-mask/switch.slang4
-rw-r--r--tests/hlsl-intrinsic/bit-cast/bit-cast-16-bit.slang10
-rw-r--r--tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit-vector.slang2
-rw-r--r--tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit.slang2
-rw-r--r--tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang2
-rw-r--r--tests/hlsl-intrinsic/literal-int64.slang2
-rw-r--r--tests/hlsl-intrinsic/scalar-int64.slang2
-rw-r--r--tests/hlsl-intrinsic/scalar-uint.slang2
-rw-r--r--tests/hlsl-intrinsic/scalar-uint64.slang2
-rw-r--r--tests/hlsl-intrinsic/wave-active-count-bits.slang2
-rw-r--r--tests/hlsl-intrinsic/wave-get-lane-index.slang8
-rw-r--r--tests/hlsl-intrinsic/wave-mask/wave-get-active.slang4
-rw-r--r--tests/hlsl-intrinsic/wave-mask/wave-get-converged.slang4
-rw-r--r--tests/hlsl-intrinsic/wave-mask/wave-matrix.slang2
-rw-r--r--tests/hlsl-intrinsic/wave-mask/wave-vector.slang6
-rw-r--r--tests/hlsl-intrinsic/wave-mask/wave.slang2
-rw-r--r--tests/hlsl-intrinsic/wave-matrix.slang2
-rw-r--r--tests/hlsl-intrinsic/wave-prefix-count-bits.slang2
-rw-r--r--tests/hlsl-intrinsic/wave-vector.slang6
-rw-r--r--tests/hlsl/simple/rw-texture.hlsl6
-rw-r--r--tests/ir/scalar-truncate.slang2
-rw-r--r--tests/language-feature/bit-cast/struct-bit-cast.slang6
-rw-r--r--tests/language-feature/constants/static-const-in-struct.slang4
-rw-r--r--tests/language-feature/enums/enum-equality.slang4
-rw-r--r--tests/language-feature/enums/nested-enum.slang4
-rw-r--r--tests/language-feature/extensions/interface-extension.slang4
-rw-r--r--tests/language-feature/generics/struct-generic-value-param.slang4
-rw-r--r--tests/language-feature/inheritance/derived-struct-init-list.slang4
-rw-r--r--tests/language-feature/inheritance/struct-inherit-interface-requirement.slang4
-rw-r--r--tests/language-feature/inheritance/struct-inheritance-import.slang2
-rw-r--r--tests/language-feature/inheritance/struct-inheritance.slang4
-rw-r--r--tests/language-feature/initializer-lists/default-init-16bit-types.slang4
-rw-r--r--tests/language-feature/interfaces/interface-conjunction.slang4
-rw-r--r--tests/language-feature/namespaces/multiple-namespace.slang4
-rw-r--r--tests/language-feature/namespaces/simple-namespace.slang4
-rw-r--r--tests/language-feature/namespaces/using-namespace.slang4
-rw-r--r--tests/language-feature/properties/property-decl.slang4
-rw-r--r--tests/language-feature/shader-params/entry-point-uniform-params.slang4
-rw-r--r--tests/language-feature/shader-params/interface-shader-param-ordinary.slang2
-rw-r--r--tests/language-feature/swizzles/matrix-swizzles.slang6
-rw-r--r--tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang4
-rw-r--r--tests/language-feature/types/opaque/inout-param-opaque-type.slang4
-rw-r--r--tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang4
-rw-r--r--tests/language-feature/types/opaque/out-param-opaque-type.slang4
-rw-r--r--tests/language-feature/types/opaque/return-opaque-type-in-struct.slang4
-rw-r--r--tests/language-feature/types/opaque/return-opaque-type.slang4
-rw-r--r--tests/nv-extensions/nv-ray-tracing-motion-blur.slang4
-rw-r--r--tests/optimization/func-resource-result/func-resource-result-complex.slang4
-rw-r--r--tests/optimization/func-resource-result/func-resource-result-simple.slang4
-rw-r--r--tests/pipeline/compute/compute-system-values.slang8
-rw-r--r--tests/pipeline/rasterization/fragment-shader-interlock.slang4
-rw-r--r--tests/pipeline/ray-tracing/trace-ray-inline.slang4
-rw-r--r--tests/reflection/unbounded-arrays.hlsl2
-rw-r--r--tests/slang-extension/atomic-float-byte-address-buffer-cross.slang4
-rw-r--r--tests/slang-extension/atomic-float-byte-address-buffer.slang4
-rw-r--r--tests/slang-extension/atomic-int64-byte-address-buffer.slang4
-rw-r--r--tests/slang-extension/atomic-min-max-u64-byte-address-buffer.slang6
-rw-r--r--tests/slang-extension/cas-int64-byte-address-buffer.slang4
-rw-r--r--tests/slang-extension/exchange-int64-byte-address-buffer.slang2
-rw-r--r--tests/type/texture-sampler/texture-sampler-2d.slang2
-rw-r--r--tests/vkray/anyhit.slang2
-rw-r--r--tests/vkray/anyhit.slang.glsl2
152 files changed, 324 insertions, 256 deletions
diff --git a/tests/bugs/bool-init.slang b/tests/bugs/bool-init.slang
index 51fa852f9..b073a52cc 100644
--- a/tests/bugs/bool-init.slang
+++ b/tests/bugs/bool-init.slang
@@ -16,7 +16,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
Thing thing = {};
int index = int(dispatchThreadID.x);
- if (index % 3)
+ if (index % 3 != 0)
{
thing.a = (index & 1) != 0;
}
diff --git a/tests/bugs/bool-op.slang b/tests/bugs/bool-op.slang
index 4d4b43221..911e23aa0 100644
--- a/tests/bugs/bool-op.slang
+++ b/tests/bugs/bool-op.slang
@@ -15,7 +15,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
uint uv = tid;
int iv = int(tid);
- bool2 bv2 = { tid & 1, tid > 10 };
+ bool2 bv2 = { (tid & 1) != 0, tid > 10 };
float2 f2 = { float(tid), float(tid + 1) };
@@ -32,20 +32,20 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
r |= 0x0002;
}
- if (iv)
+ if (iv != 0)
{
r|= 0x0004;
}
- if (!iv)
+ if (!bool(iv))
{
r|= 0x0008;
- }
-
- if (uv)
+ }
+
+ if (uv != 0)
{
r |= 0x0010;
}
- if (!uv)
+ if (!bool(uv))
{
r |= 0x0020;
}
@@ -59,7 +59,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
r |= 0x0080;
}
- if (any(!f2))
+ if (any(!bool2(f2)))
{
r |= 0x0100;
}
diff --git a/tests/bugs/generic-constant-fold.slang b/tests/bugs/generic-constant-fold.slang
index 35aa2a042..b3de9cb07 100644
--- a/tests/bugs/generic-constant-fold.slang
+++ b/tests/bugs/generic-constant-fold.slang
@@ -29,8 +29,8 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
SomeStruct<true> a;
SomeStruct<false> b;
- SomeStruct<1> c;
- SomeStruct<0> d;
+ SomeStruct<bool(1)> c;
+ SomeStruct<bool(0)> d;
AnotherStruct<true> e;
AnotherStruct<false> f;
diff --git a/tests/bugs/generic-default-matrix.slang b/tests/bugs/generic-default-matrix.slang
index 47fbe520e..a559f59b1 100644
--- a/tests/bugs/generic-default-matrix.slang
+++ b/tests/bugs/generic-default-matrix.slang
@@ -11,10 +11,10 @@ struct Another<let W : int, let H : int>
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
Another<2, 4> a = {};
- outputBuffer[index] = index + a.values[0].x;
+ outputBuffer[index] = index + int(a.values[0].x);
}
diff --git a/tests/bugs/generic-default-value.slang b/tests/bugs/generic-default-value.slang
index b3805e317..32dc07cdc 100644
--- a/tests/bugs/generic-default-value.slang
+++ b/tests/bugs/generic-default-value.slang
@@ -14,10 +14,10 @@ struct Check<T>
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
Check<float> v = {};
- outputBuffer[index] = index + v.v;
+ outputBuffer[index] = index + int(v.v);
}
diff --git a/tests/bugs/generic-uint-value-param.slang b/tests/bugs/generic-uint-value-param.slang
new file mode 100644
index 000000000..4d4059732
--- /dev/null
+++ b/tests/bugs/generic-uint-value-param.slang
@@ -0,0 +1,24 @@
+// generic-uint-value-param.slang
+
+//DIAGNOSTIC_TEST:SIMPLE:
+
+// Regression test to confirm that type checker
+// doesn't report warnings for these constant coercions.
+
+struct BoolG<let v : bool>
+{ }
+
+struct Test<let v : uint>
+{
+ int arr[v];
+}
+
+static const uint uv = 5;
+
+void t()
+{
+ BoolG<true> gt;
+ BoolG<bool(1)> gt2;
+ BoolG<1 != 2> gt3;
+ Test<uv> v;
+} \ No newline at end of file
diff --git a/tests/bugs/generic-uint-value-param.slang.expected.txt b/tests/bugs/generic-uint-value-param.slang.expected.txt
new file mode 100644
index 000000000..4c32e2510
--- /dev/null
+++ b/tests/bugs/generic-uint-value-param.slang.expected.txt
@@ -0,0 +1,5 @@
+result code = 0
+standard error = {
+}
+standard output = {
+}
diff --git a/tests/bugs/gh-1990.slang b/tests/bugs/gh-1990.slang
index 758caf1a9..4baceee1f 100644
--- a/tests/bugs/gh-1990.slang
+++ b/tests/bugs/gh-1990.slang
@@ -59,5 +59,5 @@ void test<R : IInterface>(R r, int id)
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
Impl impl;
- test(impl, dispatchThreadID.x);
+ test(impl, int(dispatchThreadID.x));
}
diff --git a/tests/bugs/gh-487.slang b/tests/bugs/gh-487.slang
index e425dabe2..f59a1ef7b 100644
--- a/tests/bugs/gh-487.slang
+++ b/tests/bugs/gh-487.slang
@@ -23,7 +23,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
uint tid = dispatchThreadID.x;
- int inVal = tid;
+ int inVal = int(tid);
int outVal = test(inVal);
gBuffer[tid] = outVal;
diff --git a/tests/bugs/gh-841.slang b/tests/bugs/gh-841.slang
index becf741c1..44d8348e5 100644
--- a/tests/bugs/gh-841.slang
+++ b/tests/bugs/gh-841.slang
@@ -13,7 +13,7 @@ struct RasterVertex
float4 main(RasterVertex v) : SV_Target
{
float4 result = v.c;
- if(v.u & 1)
+ if((v.u & 1) != 0)
result += 1.0;
return result;
}
diff --git a/tests/bugs/gh-841.slang.glsl b/tests/bugs/gh-841.slang.glsl
index da23c33f1..dd949521b 100644
--- a/tests/bugs/gh-841.slang.glsl
+++ b/tests/bugs/gh-841.slang.glsl
@@ -22,7 +22,7 @@ void main()
vec4 result_0 = _S4.c_0;
vec4 result_1;
- if(bool(_S4.u_0 & uint(1)))
+ if((_S4.u_0 & uint(1))!=0)
{
result_1 = result_0 + 1.0;
}
diff --git a/tests/bugs/gl-33.slang b/tests/bugs/gl-33.slang
index 3050115e5..255d47636 100644
--- a/tests/bugs/gl-33.slang
+++ b/tests/bugs/gl-33.slang
@@ -21,7 +21,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
uint tid = dispatchThreadID.x;
- int val = tid;
+ int val = int(tid);
val = test(val);
gBuffer[tid] = val;
diff --git a/tests/bugs/meta-2.slang b/tests/bugs/meta-2.slang
index 6dd5541c4..d6b800e4c 100644
--- a/tests/bugs/meta-2.slang
+++ b/tests/bugs/meta-2.slang
@@ -11,7 +11,7 @@ struct GetValue<let N : int>
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
outputBuffer[index] = GetValue<10>::Value;
}
diff --git a/tests/bugs/mutating/mutating-generic-method.slang b/tests/bugs/mutating/mutating-generic-method.slang
index 625e70101..58fe6f344 100644
--- a/tests/bugs/mutating/mutating-generic-method.slang
+++ b/tests/bugs/mutating/mutating-generic-method.slang
@@ -42,7 +42,7 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int tid = dispatchThreadID.x;
int val = test(tid);
diff --git a/tests/bugs/nested-existential-dyndispatch.slang b/tests/bugs/nested-existential-dyndispatch.slang
index b6689b54d..69eac42c9 100644
--- a/tests/bugs/nested-existential-dyndispatch.slang
+++ b/tests/bugs/nested-existential-dyndispatch.slang
@@ -40,7 +40,7 @@ struct AnyVal
}
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID: SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID: SV_DispatchThreadID)
{
int index = dispatchThreadID.x;
diff --git a/tests/bugs/operator-overload.slang b/tests/bugs/operator-overload.slang
index b70b9b987..cc0306dd3 100644
--- a/tests/bugs/operator-overload.slang
+++ b/tests/bugs/operator-overload.slang
@@ -16,7 +16,7 @@ Vec2d operator+(Vec2d a, Vec2d b)
}
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int index = dispatchThreadID.x;
diff --git a/tests/bugs/ssa-loop.slang b/tests/bugs/ssa-loop.slang
index 4f15f8bed..21cf6e7f5 100644
--- a/tests/bugs/ssa-loop.slang
+++ b/tests/bugs/ssa-loop.slang
@@ -22,9 +22,9 @@ int test(int val)
RWStructuredBuffer<int> gOutputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inputVal = tid;
int outputVal = test(inputVal);
gOutputBuffer[tid] = outputVal;
diff --git a/tests/bugs/static-method.slang b/tests/bugs/static-method.slang
index 4f2d363f2..98e4a3273 100644
--- a/tests/bugs/static-method.slang
+++ b/tests/bugs/static-method.slang
@@ -25,7 +25,7 @@ int test(int t)
}
[numthreads(4)]
-void computeMain(uint3 tid : SV_DispatchThreadID)
+void computeMain(int3 tid : SV_DispatchThreadID)
{
int val = tid.x;
val = test(val);
diff --git a/tests/bugs/texture2d-ms.hlsl b/tests/bugs/texture2d-ms.hlsl
index 8a898b299..1d8293937 100644
--- a/tests/bugs/texture2d-ms.hlsl
+++ b/tests/bugs/texture2d-ms.hlsl
@@ -6,5 +6,5 @@ Texture2DMS tex : register(t1);
[numthreads(4, 4, 1)]
void main(uint3 groupId : SV_GroupID)
{
- tex.Load(groupId.xy, 0);
+ tex.Load(int2(groupId.xy), 0);
}
diff --git a/tests/bugs/vec-compare.slang b/tests/bugs/vec-compare.slang
index 184e57a49..59ef06d02 100644
--- a/tests/bugs/vec-compare.slang
+++ b/tests/bugs/vec-compare.slang
@@ -6,7 +6,7 @@
RWStructuredBuffer<int> outputBuffer;
[numthreads(4,4,1)]
-void computeMain(uint2 pixelIndex : SV_DispatchThreadID)
+void computeMain(int2 pixelIndex : SV_DispatchThreadID)
{
// We will test floats, uints, and int vectors
diff --git a/tests/bugs/vk-structured-buffer-load.hlsl b/tests/bugs/vk-structured-buffer-load.hlsl
index ce862c0c8..d9e54d925 100644
--- a/tests/bugs/vk-structured-buffer-load.hlsl
+++ b/tests/bugs/vk-structured-buffer-load.hlsl
@@ -20,13 +20,13 @@ void HitMain(inout RayHitInfoPacked RayData, BuiltInTriangleIntersectionAttribut
{
float HitT = RayTCurrent();
RayData.PackedHitInfoA.x = HitT;
- uint offs = 0;
+ int offs = 0;
uint use_rcp = USE_RCP;
float offsfloat = gParamBlock.sbuf.Load(offs);
use_rcp |= HitT > 0.0;
- if (use_rcp)
+ if (use_rcp != 0)
RayData.PackedHitInfoA.y = rcp(offsfloat);
else if ((use_rcp > 0) & (offsfloat == 0.0))
RayData.PackedHitInfoA.y = rsqrt(offsfloat + 1.0);
diff --git a/tests/compute/array-existential-parameter.slang b/tests/compute/array-existential-parameter.slang
index 2775c2add..813c5a40b 100644
--- a/tests/compute/array-existential-parameter.slang
+++ b/tests/compute/array-existential-parameter.slang
@@ -28,7 +28,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
let tid = dispatchThreadID.x;
- let inputVal : int = tid;
+ let inputVal : int = int(tid);
let outputVal = gCb.values[0].run(inputVal) + gCb2.values[0].run(inputVal);
gOutputBuffer[tid] = outputVal;
diff --git a/tests/compute/array-param.slang b/tests/compute/array-param.slang
index 3545dd75f..1ef913a8f 100644
--- a/tests/compute/array-param.slang
+++ b/tests/compute/array-param.slang
@@ -17,9 +17,9 @@ void writeArray(inout float3 a[4])
}
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
float3 b[4];
writeArray(b);
- outputBuffer[dispatchThreadID.x] = b[0].x;
+ outputBuffer[dispatchThreadID.x] = int(b[0].x);
} \ No newline at end of file
diff --git a/tests/compute/assoctype-lookup.slang b/tests/compute/assoctype-lookup.slang
index e94c5471e..348391e21 100644
--- a/tests/compute/assoctype-lookup.slang
+++ b/tests/compute/assoctype-lookup.slang
@@ -42,7 +42,7 @@ int test(int val)
{
OutputType rs;
rs.field.boneIds = 256;
- return rs.field.boneIds;
+ return int(rs.field.boneIds);
}
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=gOutputBuffer
@@ -52,7 +52,7 @@ RWStructuredBuffer<int> gOutputBuffer;
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
uint tid = dispatchThreadID.x;
- int inputVal = tid;
+ int inputVal = int(tid);
int outputVal = test(inputVal);
gOutputBuffer[tid] = outputVal;
} \ No newline at end of file
diff --git a/tests/compute/assoctype-nested.slang b/tests/compute/assoctype-nested.slang
index 7bb251a26..a4a994e10 100644
--- a/tests/compute/assoctype-nested.slang
+++ b/tests/compute/assoctype-nested.slang
@@ -53,9 +53,9 @@ int test(int val)
RWStructuredBuffer<int> gOutputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inputVal = tid;
int outputVal = test(inputVal);
gOutputBuffer[tid] = outputVal;
diff --git a/tests/compute/bound-check-zero-index.slang b/tests/compute/bound-check-zero-index.slang
index e8244886e..61cb2e52e 100644
--- a/tests/compute/bound-check-zero-index.slang
+++ b/tests/compute/bound-check-zero-index.slang
@@ -25,7 +25,7 @@ RWStructuredBuffer<int> outputBuffer;
RWStructuredBuffer<int> outputBuffer2;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int tid = dispatchThreadID.x;
diff --git a/tests/compute/buffer-layout.slang b/tests/compute/buffer-layout.slang
index 5caacff31..8c71904c6 100644
--- a/tests/compute/buffer-layout.slang
+++ b/tests/compute/buffer-layout.slang
@@ -121,9 +121,9 @@ int test(int val)
[numthreads(4, 1, 1)]
void computeMain(
- uint3 dispatchThreadID : SV_DispatchThreadID)
+ int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
diff --git a/tests/compute/buffer-type-splitting.slang b/tests/compute/buffer-type-splitting.slang
index d9fee4254..0ccad15de 100644
--- a/tests/compute/buffer-type-splitting.slang
+++ b/tests/compute/buffer-type-splitting.slang
@@ -17,15 +17,15 @@ struct S
S s[2];
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint i = dispatchThreadID.x;
+ int i = dispatchThreadID.x;
- int val =
+ int val = int(
s[0].a.Load(i * 4)
+ s[1].a.Load(i * 4)*16
+ s[0].b.Load(i * 4)*256
- + s[1].b.Load(i * 4)*4096;
+ + s[1].b.Load(i * 4)*4096);
outputBuffer[i] = val;
} \ No newline at end of file
diff --git a/tests/compute/byte-address-buffer.slang b/tests/compute/byte-address-buffer.slang
index 462002edf..9bba63a1f 100644
--- a/tests/compute/byte-address-buffer.slang
+++ b/tests/compute/byte-address-buffer.slang
@@ -20,12 +20,12 @@ void test(int val)
{
uint tmp = val;
- tmp = inputBuffer.Load(tmp * 4);
+ tmp = inputBuffer.Load(int(tmp * 4));
- uint2 pair = inputBuffer.Load2(tmp * 4);
+ uint2 pair = inputBuffer.Load2(int(tmp * 4));
tmp = (pair.x + pair.y) & 0xF;
- uint4 quad = inputBuffer.Load4(tmp * 4);
+ uint4 quad = inputBuffer.Load4(int(tmp * 4));
tmp = (quad.x + quad.y + quad.z + quad.w) & 0xF;
outputBuffer.Store(val * 4, tmp);
diff --git a/tests/compute/cast-zero-to-struct.slang b/tests/compute/cast-zero-to-struct.slang
index 383662420..13bd4bf68 100644
--- a/tests/compute/cast-zero-to-struct.slang
+++ b/tests/compute/cast-zero-to-struct.slang
@@ -29,7 +29,7 @@ int test(int val)
RWStructuredBuffer<int> gOutputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 tid : SV_DispatchThreadID)
+void computeMain(int3 tid : SV_DispatchThreadID)
{
int inVal = tid.x;
int outVal = test(inVal);
diff --git a/tests/compute/constexpr.slang b/tests/compute/constexpr.slang
index 0d46d81a5..cf308e7d5 100644
--- a/tests/compute/constexpr.slang
+++ b/tests/compute/constexpr.slang
@@ -100,7 +100,7 @@ FragmentStageOutput fragmentMain(FragmentStageInput input)
output.fragment.color = float4(color, 1.0);
float4 val = float4(color, 1.0);
- val = val - 16*tex.Sample(samp, uv, ab);
+ val = val - 16*tex.Sample(samp, uv, int2(ab));
outputBuffer[0] = 1;
diff --git a/tests/compute/dynamic-dispatch-13.slang b/tests/compute/dynamic-dispatch-13.slang
index d44029c23..f9ad9683b 100644
--- a/tests/compute/dynamic-dispatch-13.slang
+++ b/tests/compute/dynamic-dispatch-13.slang
@@ -22,7 +22,7 @@ RWStructuredBuffer<IInterface> gCb;
RWStructuredBuffer<IInterface> gCb1;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
let tid = dispatchThreadID.x;
diff --git a/tests/compute/dynamic-dispatch-14.slang b/tests/compute/dynamic-dispatch-14.slang
index 7abb302f0..e605132c6 100644
--- a/tests/compute/dynamic-dispatch-14.slang
+++ b/tests/compute/dynamic-dispatch-14.slang
@@ -33,7 +33,7 @@ RWStructuredBuffer<IInterface> gCb;
RWStructuredBuffer<IInterface> gCb1;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
let tid = dispatchThreadID.x;
diff --git a/tests/compute/dynamic-dispatch-bindless-texture.slang b/tests/compute/dynamic-dispatch-bindless-texture.slang
index 8a9d0c128..4611fbd48 100644
--- a/tests/compute/dynamic-dispatch-bindless-texture.slang
+++ b/tests/compute/dynamic-dispatch-bindless-texture.slang
@@ -14,7 +14,7 @@ RWStructuredBuffer<uint> gOutputBuffer;
StructuredBuffer<IInterface> gCb;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
let tid = dispatchThreadID.x;
@@ -22,7 +22,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
IInterface v0 = gCb.Load(0);
SamplerState sampler;
let outputVal = v0.run();
- gOutputBuffer[tid] = trunc(outputVal);
+ gOutputBuffer[tid] = uint(trunc(outputVal));
}
//TEST_INPUT: globalExistentialType __Dynamic
diff --git a/tests/compute/entry-point-uniform-params.slang b/tests/compute/entry-point-uniform-params.slang
index f97874696..d150c4241 100644
--- a/tests/compute/entry-point-uniform-params.slang
+++ b/tests/compute/entry-point-uniform-params.slang
@@ -43,7 +43,7 @@ void computeMain(
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
uniform RWStructuredBuffer<int> outputBuffer,
- uint3 dispatchThreadID : SV_DispatchThreadID)
+ int3 dispatchThreadID : SV_DispatchThreadID)
{
int tid = dispatchThreadID.x;
diff --git a/tests/compute/enum.slang b/tests/compute/enum.slang
index cae18404e..fe35f438c 100644
--- a/tests/compute/enum.slang
+++ b/tests/compute/enum.slang
@@ -24,7 +24,7 @@ int test(int val)
if(c == Color.Red)
{
- if(val & 1)
+ if((val & 1) != 0)
{
c = Color.Blue;
}
@@ -56,9 +56,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int val = int(tid);
val = test(val);
diff --git a/tests/compute/frem.slang b/tests/compute/frem.slang
index 75207a8d0..7890b9c9a 100644
--- a/tests/compute/frem.slang
+++ b/tests/compute/frem.slang
@@ -20,9 +20,9 @@ int test(int inVal)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/compute/half-calc.slang b/tests/compute/half-calc.slang
index 0f321ef98..bdb815eb2 100644
--- a/tests/compute/half-calc.slang
+++ b/tests/compute/half-calc.slang
@@ -22,9 +22,9 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
//half offset = v2.x + v2.y;
- half offset = 0.0f;
+ half offset = half(0.0f);
- half v = tid;
+ half v = half(tid);
v *= half(3.0f);
v += half(1.0f);
v += offset;
diff --git a/tests/compute/half-rw-texture-convert.slang b/tests/compute/half-rw-texture-convert.slang
index f3d8eedb5..1d98dd770 100644
--- a/tests/compute/half-rw-texture-convert.slang
+++ b/tests/compute/half-rw-texture-convert.slang
@@ -27,7 +27,7 @@ RWTexture2D<float4> rwt2D_4;
RWStructuredBuffer<float> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = dispatchThreadID.x;
diff --git a/tests/compute/half-rw-texture-convert2.slang b/tests/compute/half-rw-texture-convert2.slang
index 1937b4c8e..8b9a329bc 100644
--- a/tests/compute/half-rw-texture-convert2.slang
+++ b/tests/compute/half-rw-texture-convert2.slang
@@ -24,7 +24,7 @@ RWTexture2D<float4> rwt2D_4;
RWStructuredBuffer<float> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = dispatchThreadID.x;
diff --git a/tests/compute/half-structured-buffer.slang b/tests/compute/half-structured-buffer.slang
index e701bb0fa..973e84e7b 100644
--- a/tests/compute/half-structured-buffer.slang
+++ b/tests/compute/half-structured-buffer.slang
@@ -25,7 +25,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
Thing thing;
thing.pos = tid;
- thing.color = half4(base, base + 1.0f, base + 2.0f, base + 3.0f);
+ thing.color = half4(float4(base, base + 1.0f, base + 2.0f, base + 3.0f));
thing.radius = v;
outputBuffer[tid] = thing;
diff --git a/tests/compute/half-vector-calc.slang b/tests/compute/half-vector-calc.slang
index b145e27ec..6a888e263 100644
--- a/tests/compute/half-vector-calc.slang
+++ b/tests/compute/half-vector-calc.slang
@@ -8,16 +8,16 @@
RWStructuredBuffer<float> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int x = tid.x;
half2 v3 = half2(float(x));
- half2 v0 = half2(x * 2.0f, x * 0.5f);
- half3 v1 = half3(x * 2.0f, x * 0.5f, x - 1.0f);
- half4 v2 = half4(x + 1, x - 1, x + 2 , x - 2);
+ half2 v0 = half2(float2(x * 2.0f, x * 0.5f));
+ half3 v1 = half3(half(x * 2.0f), half(x * 0.5f), half(x - 1.0f));
+ half4 v2 = half4(half(x + 1), half(x - 1), half(x + 2) , half(x - 2));
v1 += v0.yxy;
v1 += v2.wzy;
diff --git a/tests/compute/interface-local.slang b/tests/compute/interface-local.slang
index 714a72cca..4c6e78cc2 100644
--- a/tests/compute/interface-local.slang
+++ b/tests/compute/interface-local.slang
@@ -44,7 +44,7 @@ RWStructuredBuffer<int> gOutputBuffer;
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
uint tid = dispatchThreadID.x;
- int inputVal = tid;
+ int inputVal = int(tid);
int outputVal = test(inputVal);
gOutputBuffer[tid] = outputVal;
} \ No newline at end of file
diff --git a/tests/compute/interface-param.slang b/tests/compute/interface-param.slang
index 3f557d8de..7d9307522 100644
--- a/tests/compute/interface-param.slang
+++ b/tests/compute/interface-param.slang
@@ -36,9 +36,9 @@ int test(int val)
RWStructuredBuffer<int> gOutputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inputVal = tid;
int outputVal = test(inputVal);
gOutputBuffer[tid] = outputVal;
diff --git a/tests/compute/interface-shader-param-in-struct.slang b/tests/compute/interface-shader-param-in-struct.slang
index 5080e4d57..1a4b12280 100644
--- a/tests/compute/interface-shader-param-in-struct.slang
+++ b/tests/compute/interface-shader-param-in-struct.slang
@@ -70,7 +70,7 @@ void computeMain(
//TEST_INPUT: entryPointExistentialType MyModifier
uniform Stuff stuff,
- uint3 dispatchThreadID : SV_DispatchThreadID)
+ int3 dispatchThreadID : SV_DispatchThreadID)
{
let tid = dispatchThreadID.x;
diff --git a/tests/compute/interface-shader-param.slang b/tests/compute/interface-shader-param.slang
index e7c6ceb6a..a43b6f695 100644
--- a/tests/compute/interface-shader-param.slang
+++ b/tests/compute/interface-shader-param.slang
@@ -92,7 +92,7 @@ uniform IRandomNumberGenerationStrategy gStrategy;
void computeMain(
//TEST_INPUT:set modifier = new MyModifier{}
uniform IModifier modifier,
- uint3 dispatchThreadID : SV_DispatchThreadID)
+ int3 dispatchThreadID : SV_DispatchThreadID)
{
let tid = dispatchThreadID.x;
diff --git a/tests/compute/interface-static-method.slang b/tests/compute/interface-static-method.slang
index d526f7c47..05224bdea 100644
--- a/tests/compute/interface-static-method.slang
+++ b/tests/compute/interface-static-method.slang
@@ -50,7 +50,7 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int tid = dispatchThreadID.x;
outputBuffer[tid] = test(tid);
diff --git a/tests/compute/matrix-layout-structured-buffer.slang b/tests/compute/matrix-layout-structured-buffer.slang
index bdc2e1ced..6893a5df9 100644
--- a/tests/compute/matrix-layout-structured-buffer.slang
+++ b/tests/compute/matrix-layout-structured-buffer.slang
@@ -30,9 +30,9 @@ int test(int val)
RWStructuredBuffer<int> buffer;
[numthreads(12, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int val = tid;
val = test(val);
diff --git a/tests/compute/matrix-layout.hlsl b/tests/compute/matrix-layout.hlsl
index c655d06c7..571003a10 100644
--- a/tests/compute/matrix-layout.hlsl
+++ b/tests/compute/matrix-layout.hlsl
@@ -64,9 +64,9 @@ int test(int val)
RWStructuredBuffer<int> buffer;
[numthreads(12, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int val = tid;
val = test(val);
diff --git a/tests/compute/modern-syntax.slang b/tests/compute/modern-syntax.slang
index e1a9ad146..d6bdcd3bd 100644
--- a/tests/compute/modern-syntax.slang
+++ b/tests/compute/modern-syntax.slang
@@ -19,9 +19,9 @@ func test(val: MyInt) -> MyInt
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int val = test(tid);
outputBuffer[tid] = val;
} \ No newline at end of file
diff --git a/tests/compute/multiple-continue-sites.slang b/tests/compute/multiple-continue-sites.slang
index 0776bfbdb..cf5033c9e 100644
--- a/tests/compute/multiple-continue-sites.slang
+++ b/tests/compute/multiple-continue-sites.slang
@@ -13,7 +13,7 @@
int test(int inVal)
{
int ii = inVal;
- for(;!(ii & 0x20); ii += 0x10)
+ for(;!bool(ii & 0x20); ii += 0x10)
{
if(ii == 2)
{
diff --git a/tests/compute/mutating-and-inout.slang b/tests/compute/mutating-and-inout.slang
index a92be2025..37cc30870 100644
--- a/tests/compute/mutating-and-inout.slang
+++ b/tests/compute/mutating-and-inout.slang
@@ -41,7 +41,7 @@ int test(int val)
}
[numthreads(4, 1, 1)]
-void computeMain(uint3 tid : SV_DispatchThreadID)
+void computeMain(int3 tid : SV_DispatchThreadID)
{
int val = tid.x;
val = test(val);
diff --git a/tests/compute/mutating-methods.slang b/tests/compute/mutating-methods.slang
index 73be4b604..6f561e9a6 100644
--- a/tests/compute/mutating-methods.slang
+++ b/tests/compute/mutating-methods.slang
@@ -45,7 +45,7 @@ int test(int x)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int tid = dispatchThreadID.x;
outputBuffer[tid] = test(tid);
diff --git a/tests/compute/pack-any-value-16bit.slang b/tests/compute/pack-any-value-16bit.slang
index 1a7c96a16..07ad0590e 100644
--- a/tests/compute/pack-any-value-16bit.slang
+++ b/tests/compute/pack-any-value-16bit.slang
@@ -52,8 +52,8 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
v.v0 = 1;
v.f0 = 2;
v.v1 = 3;
- v.v2 = 4;
- v.v3 = 5;
+ v.v2 = half(4);
+ v.v3 = half(5);
v.v4 = 6;
IInterface dynamicObj1 = createDynamicObject<IInterface, Val>(11, v);;
gOutputBuffer[1] = dynamicObj1.run();
diff --git a/tests/compute/rw-texture-simple.slang b/tests/compute/rw-texture-simple.slang
index 268337956..5113dc807 100644
--- a/tests/compute/rw-texture-simple.slang
+++ b/tests/compute/rw-texture-simple.slang
@@ -19,7 +19,7 @@ RWTexture3D<float> rwt3D;
RWStructuredBuffer<float> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = dispatchThreadID.x;
diff --git a/tests/compute/scope-operator.slang b/tests/compute/scope-operator.slang
index 9b5b3f229..0622adc4a 100644
--- a/tests/compute/scope-operator.slang
+++ b/tests/compute/scope-operator.slang
@@ -38,7 +38,7 @@ int test(int val)
if(c == Color::Red)
{
- if(val & 1)
+ if((val & 1) != 0)
{
c = Color::Blue;
}
diff --git a/tests/compute/semantic.slang b/tests/compute/semantic.slang
index 49e9ff948..c0411f572 100644
--- a/tests/compute/semantic.slang
+++ b/tests/compute/semantic.slang
@@ -9,5 +9,5 @@ RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID, uint3 groupID : SV_GroupID, uint3 groupThreadID : SV_GroupThreadId)
{
- outputBuffer[dispatchThreadID.x] = (dispatchThreadID.x << 8) | (groupID.x << 4) | (groupThreadID.x);
+ outputBuffer[dispatchThreadID.x] = int((dispatchThreadID.x << 8) | (groupID.x << 4) | (groupThreadID.x));
} \ No newline at end of file
diff --git a/tests/compute/static-const-array.slang b/tests/compute/static-const-array.slang
index 2afa1f39e..f18f7cb15 100644
--- a/tests/compute/static-const-array.slang
+++ b/tests/compute/static-const-array.slang
@@ -15,7 +15,7 @@ int test(int val)
}
[numthreads(4, 1, 1)]
-void computeMain(uint3 tid : SV_DispatchThreadID)
+void computeMain(int3 tid : SV_DispatchThreadID)
{
int inVal = tid.x;
int outVal = test(inVal);
diff --git a/tests/compute/static-const-matrix-array.slang b/tests/compute/static-const-matrix-array.slang
index 9a468b6ed..afe2468f2 100644
--- a/tests/compute/static-const-matrix-array.slang
+++ b/tests/compute/static-const-matrix-array.slang
@@ -28,7 +28,7 @@ float test(int inVal, int index)
}
[numthreads(8, 1, 1)]
-void computeMain(uint3 tid : SV_DispatchThreadID)
+void computeMain(int3 tid : SV_DispatchThreadID)
{
int inVal = tid.x;
float outVal = test(inVal, inVal & 1);
diff --git a/tests/compute/static-const-vector-array.slang b/tests/compute/static-const-vector-array.slang
index edfe24028..e3611bcde 100644
--- a/tests/compute/static-const-vector-array.slang
+++ b/tests/compute/static-const-vector-array.slang
@@ -25,7 +25,7 @@ float test(int val)
}
[numthreads(8, 1, 1)]
-void computeMain(uint3 tid : SV_DispatchThreadID)
+void computeMain(int3 tid : SV_DispatchThreadID)
{
int inVal = tid.x;
float outVal = test(inVal);
diff --git a/tests/compute/struct-make.slang b/tests/compute/struct-make.slang
index f42d76876..6cc3c48e5 100644
--- a/tests/compute/struct-make.slang
+++ b/tests/compute/struct-make.slang
@@ -20,9 +20,9 @@ struct Thing
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
Thing thing = Thing::make(tid);
diff --git a/tests/compute/structured-buffer-of-matrices.slang b/tests/compute/structured-buffer-of-matrices.slang
index b76061310..faa312fc2 100644
--- a/tests/compute/structured-buffer-of-matrices.slang
+++ b/tests/compute/structured-buffer-of-matrices.slang
@@ -33,7 +33,7 @@ int test(int val)
}
[numthreads(4, 1, 1)]
-void computeMain(uint3 tid : SV_DispatchThreadID)
+void computeMain(int3 tid : SV_DispatchThreadID)
{
int value = tid.x;
value = test(value);
diff --git a/tests/compute/texture-get-dimensions.slang b/tests/compute/texture-get-dimensions.slang
index 91911f18a..526e9feb1 100644
--- a/tests/compute/texture-get-dimensions.slang
+++ b/tests/compute/texture-get-dimensions.slang
@@ -30,7 +30,7 @@ SamplerState samplerState;
RWStructuredBuffer<float> outputBuffer;
[numthreads(8, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = dispatchThreadID.x;
diff --git a/tests/compute/texture-simple.slang b/tests/compute/texture-simple.slang
index f9acfe3f0..efa83edfb 100644
--- a/tests/compute/texture-simple.slang
+++ b/tests/compute/texture-simple.slang
@@ -32,7 +32,7 @@ SamplerState samplerState;
RWStructuredBuffer<float> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = dispatchThreadID.x;
float u = idx * (1.0f / 4);
diff --git a/tests/compute/unbounded-array-of-array-syntax.slang b/tests/compute/unbounded-array-of-array-syntax.slang
index 887b95d07..bba8605f2 100644
--- a/tests/compute/unbounded-array-of-array-syntax.slang
+++ b/tests/compute/unbounded-array-of-array-syntax.slang
@@ -29,7 +29,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
if (innerIndex >= bufferCount)
{
- innerIndex = bufferCount - 1;
+ innerIndex = int(bufferCount - 1);
}
outputBuffer[index] = buffer[innerIndex];
} \ No newline at end of file
diff --git a/tests/compute/vector-scalar-compare.slang b/tests/compute/vector-scalar-compare.slang
index cd1088062..dab993a4c 100644
--- a/tests/compute/vector-scalar-compare.slang
+++ b/tests/compute/vector-scalar-compare.slang
@@ -7,9 +7,9 @@
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 4, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint2 threadInGroup = dispatchThreadID.xy;
+ int2 threadInGroup = dispatchThreadID.xy;
int r = 0;
if(all((threadInGroup & 1) == 0))
diff --git a/tests/cross-compile/array-of-buffers.slang b/tests/cross-compile/array-of-buffers.slang
index de87e6d9d..31738ccfc 100644
--- a/tests/cross-compile/array-of-buffers.slang
+++ b/tests/cross-compile/array-of-buffers.slang
@@ -27,6 +27,6 @@ float4 main() : SV_Target
return cb [index] .f
+ sb1[index][index].f
+ sb2[index][index]
- + float4(bb[index].Load(index*4));
+ + float4(bb[index].Load(int(index*4)));
}
diff --git a/tests/cross-compile/get-dimensions.slang b/tests/cross-compile/get-dimensions.slang
index 13874a6e2..65c2a1a70 100644
--- a/tests/cross-compile/get-dimensions.slang
+++ b/tests/cross-compile/get-dimensions.slang
@@ -35,7 +35,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
if (index == 0)
{
buffer0.GetDimensions(count, stride);
- last = buffer0.Load(count - 1);
+ last = buffer0.Load(int(count - 1));
}
else if (index == 1)
{
@@ -45,13 +45,13 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
else if (index == 2)
{
buffer2.GetDimensions(count, stride);
- last = int(buffer2.Load(count -1));
+ last = int(buffer2.Load(int(count - 1)));
}
else
{
buffer3.GetDimensions(count, stride);
- last = buffer3.Load(count - 1).a;
+ last = buffer3.Load(int(count - 1)).a;
}
outputBuffer[index * 2] = int(count);
diff --git a/tests/cross-compile/image-load.slang b/tests/cross-compile/image-load.slang
index 7f125bd5a..dc80288e6 100644
--- a/tests/cross-compile/image-load.slang
+++ b/tests/cross-compile/image-load.slang
@@ -15,5 +15,5 @@ ParameterBlock<Params> gParams;
void main(uint3 tid : SV_DispatchThreadID)
{
- float f = gParams.tex.Load(int3(tid.xy, tid.z));
+ float f = gParams.tex.Load(int3(int2(tid.xy), int(tid.z)));
}
diff --git a/tests/cross-compile/simple-cross-compile.slang b/tests/cross-compile/simple-cross-compile.slang
index e5fe9d3cc..b85d5cb53 100644
--- a/tests/cross-compile/simple-cross-compile.slang
+++ b/tests/cross-compile/simple-cross-compile.slang
@@ -19,7 +19,7 @@ int test(int val)
if(c == Color.Red)
{
- if(val & 1)
+ if((val & 1) != 0)
{
c = Color.Blue;
}
diff --git a/tests/diagnostics/attribute-error.slang.expected b/tests/diagnostics/attribute-error.slang.expected
index 386d08422..cde43142d 100644
--- a/tests/diagnostics/attribute-error.slang.expected
+++ b/tests/diagnostics/attribute-error.slang.expected
@@ -6,6 +6,9 @@ tests/diagnostics/attribute-error.slang(19): error 30019: expected an expression
tests/diagnostics/attribute-error.slang(22): error 31002: attribute 'MyStruct' is not valid here
[MyStruct(0, 10.0)] // attribute does not apply to this construct
^~~~~~~~
+tests/diagnostics/attribute-error.slang(24): warning 30081: implicit conversion from 'float' to 'int' is not recommended
+ [DefaultValue(2.0)] // attribute arg type mismatch
+ ^~~
tests/diagnostics/attribute-error.slang(24): error 39999: expression does not evaluate to a compile-time constant
[DefaultValue(2.0)] // attribute arg type mismatch
^~~
diff --git a/tests/diagnostics/bool-to-float.slang b/tests/diagnostics/bool-to-float.slang
new file mode 100644
index 000000000..087cf86b3
--- /dev/null
+++ b/tests/diagnostics/bool-to-float.slang
@@ -0,0 +1,13 @@
+// bool-to-float.slang
+
+// Diagnostic messages related to converting bool to float
+
+//DIAGNOSTIC_TEST:SIMPLE:
+
+struct Test
+{
+ void test()
+ {
+ float f = true;
+ }
+}
diff --git a/tests/diagnostics/bool-to-float.slang.expected b/tests/diagnostics/bool-to-float.slang.expected
new file mode 100644
index 000000000..e1d851163
--- /dev/null
+++ b/tests/diagnostics/bool-to-float.slang.expected
@@ -0,0 +1,8 @@
+result code = 0
+standard error = {
+tests/diagnostics/bool-to-float.slang(11): warning 30081: implicit conversion from 'bool' to 'float' is not recommended
+ float f = true;
+ ^~~~
+}
+standard output = {
+}
diff --git a/tests/diagnostics/constexpr-error.slang b/tests/diagnostics/constexpr-error.slang
index f0de9280d..a5b98264b 100644
--- a/tests/diagnostics/constexpr-error.slang
+++ b/tests/diagnostics/constexpr-error.slang
@@ -21,7 +21,7 @@ float4 main() : SV_Target
float4 result = 0.0f;
// Okay, immediate constant
- result += t.Sample(s, uv, uint2(0,0));
+ result += t.Sample(s, uv, int2(0,0));
// Error: data passed through cbuffer isn't compile-time constant
result += t.Sample(s, uv, offset);
@@ -32,13 +32,13 @@ float4 main() : SV_Target
{
ii = 1;
}
- result += t.Sample(s, uv, uint2(ii));
+ result += t.Sample(s, uv, int2(ii));
// Error: data computed in loop isn't compile-time constant
// (and loop isn't unroll-able)
for(uint jj = 0; jj < uv.y; jj++)
{
- result += t.Sample(s, uv, uint2(jj));
+ result += t.Sample(s, uv, int2(jj));
}
return result;
diff --git a/tests/diagnostics/constexpr-error.slang.expected b/tests/diagnostics/constexpr-error.slang.expected
index 4dea62ca1..a744fcafd 100644
--- a/tests/diagnostics/constexpr-error.slang.expected
+++ b/tests/diagnostics/constexpr-error.slang.expected
@@ -1,14 +1,17 @@
result code = -1
standard error = {
+tests/diagnostics/constexpr-error.slang(27): warning 30081: implicit conversion from 'vector<uint,2>' to 'vector<int,2>' is not recommended
+ result += t.Sample(s, uv, offset);
+ ^~~~~~
tests/diagnostics/constexpr-error.slang(27): error 40006: expected a compile-time constant
result += t.Sample(s, uv, offset);
^~~~~~
tests/diagnostics/constexpr-error.slang(35): error 40006: expected a compile-time constant
- result += t.Sample(s, uv, uint2(ii));
- ^
+ result += t.Sample(s, uv, int2(ii));
+ ^
tests/diagnostics/constexpr-error.slang(41): error 40006: expected a compile-time constant
- result += t.Sample(s, uv, uint2(jj));
- ^
+ result += t.Sample(s, uv, int2(jj));
+ ^
}
standard output = {
}
diff --git a/tests/diagnostics/enum-implicit-conversion.slang.expected b/tests/diagnostics/enum-implicit-conversion.slang.expected
index 61164bbaa..4efdc9c75 100644
--- a/tests/diagnostics/enum-implicit-conversion.slang.expected
+++ b/tests/diagnostics/enum-implicit-conversion.slang.expected
@@ -1,5 +1,11 @@
result code = -1
standard error = {
+tests/diagnostics/enum-implicit-conversion.slang(18): warning 30081: implicit conversion from 'uint' to 'int' is not recommended
+int foo(uint x) { return x * 256 * 16; }
+ ^
+tests/diagnostics/enum-implicit-conversion.slang(22): warning 30081: implicit conversion from 'uint' to 'int' is not recommended
+int bar(uint x) { return x * 256 * 256 * 16; }
+ ^
tests/diagnostics/enum-implicit-conversion.slang(27): error 30019: expected an expression of type 'Color', got 'int'
Color c = val;
^~~
@@ -17,6 +23,9 @@ tests/diagnostics/enum-implicit-conversion.slang(42): error 39999: ambiguous cal
^
tests/diagnostics/enum-implicit-conversion.slang(18): note 39999: candidate: func foo(uint) -> int
tests/diagnostics/enum-implicit-conversion.slang(17): note 39999: candidate: func foo(int) -> int
+tests/diagnostics/enum-implicit-conversion.slang(47): warning 30081: implicit conversion from 'uint' to 'int' is not recommended
+ return x + y + z;
+ ^
}
standard output = {
}
diff --git a/tests/diagnostics/generic-invalid-type-specialization.slang.expected b/tests/diagnostics/generic-invalid-type-specialization.slang.expected
index 3c323ef46..0fc68f6b6 100644
--- a/tests/diagnostics/generic-invalid-type-specialization.slang.expected
+++ b/tests/diagnostics/generic-invalid-type-specialization.slang.expected
@@ -1,5 +1,8 @@
result code = -1
standard error = {
+tests/diagnostics/generic-invalid-type-specialization.slang(14): warning 30081: implicit conversion from 'uint' to 'int' is not recommended
+ int index = dispatchThreadID.x;
+ ^
tests/diagnostics/generic-invalid-type-specialization.slang(17): error 30060: expected a type, got a 'int'
Check<2 + 2> v;
^
diff --git a/tests/diagnostics/local-line.slang b/tests/diagnostics/local-line.slang
index 1cdeba7e4..973c234c0 100644
--- a/tests/diagnostics/local-line.slang
+++ b/tests/diagnostics/local-line.slang
@@ -22,21 +22,21 @@ int doThing(int a, int b)
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int a = dispatchThreadID.x;
- int b = dispatchThreadID.y;
- int c = dispatchThreadID.z;
+ int a = int(dispatchThreadID.x);
+ int b = int(dispatchThreadID.y);
+ int c = int(dispatchThreadID.z);
int d = a + b * c;
int e = d + c / 2;
for (int i = 0; i < b; ++i)
{
- if (e > 10 && i & 2)
+ if (e > 10 && (i & 2) != 0)
{
a += b; b -= c; c += c; d = d + e + a; e = a;
}
else
{
- a = e; b = c + c; d += d + __SyntaxError(); e = doThing(e, dispatchThreadID.x);
+ a = e; b = c + c; d += d + __SyntaxError(); e = doThing(e, int(dispatchThreadID.x));
}
}
diff --git a/tests/doc/doc.slang b/tests/doc/doc.slang
index 1e04171a0..e75768b9e 100644
--- a/tests/doc/doc.slang
+++ b/tests/doc/doc.slang
@@ -140,21 +140,21 @@ int doThing(int a, ///< a parameter
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int a = dispatchThreadID.x;
- int b = dispatchThreadID.y;
- int c = dispatchThreadID.z;
+ int a = int(dispatchThreadID.x);
+ int b = int(dispatchThreadID.y);
+ int c = int(dispatchThreadID.z);
int d = a + b * c;
int e = d + c / 2;
for (int i = 0; i < b; ++i)
{
- if (e > 10 && i & 2)
+ if (e > 10 && (i & 2) != 0)
{
a += b; b -= c; c += c; d = d + e + a; e = a;
}
else
{
- a = e; b = c + c; d += d + __SyntaxError(); e = doThing(e, dispatchThreadID.x);
+ a = e; b = c + c; d += d + __SyntaxError(); e = doThing(e, int(dispatchThreadID.x));
}
}
diff --git a/tests/downstream/dxc-x-arg.slang b/tests/downstream/dxc-x-arg.slang
index 93b24a7ad..9925e2b60 100644
--- a/tests/downstream/dxc-x-arg.slang
+++ b/tests/downstream/dxc-x-arg.slang
@@ -12,7 +12,7 @@
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
outputBuffer[dispatchThreadID.x] = dispatchThreadID.x;
} \ No newline at end of file
diff --git a/tests/experimental/liveness/liveness-2.slang b/tests/experimental/liveness/liveness-2.slang
index 9d4ab275d..06382971f 100644
--- a/tests/experimental/liveness/liveness-2.slang
+++ b/tests/experimental/liveness/liveness-2.slang
@@ -21,7 +21,7 @@ int calcThing(int offset)
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
outputBuffer[index] = calcThing(index);
}
diff --git a/tests/experimental/liveness/liveness-3.slang b/tests/experimental/liveness/liveness-3.slang
index 1d289aa68..a0c5c8604 100644
--- a/tests/experimental/liveness/liveness-3.slang
+++ b/tests/experimental/liveness/liveness-3.slang
@@ -20,7 +20,7 @@ int calcThing(int offset)
another[i & 1] += modRange;
- if (i % 3)
+ if (i % 3 != 0)
{
offset += 1;
}
@@ -43,7 +43,7 @@ int calcThing(int offset)
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
outputBuffer[index] = calcThing(index);
}
diff --git a/tests/experimental/liveness/liveness-3.slang.expected b/tests/experimental/liveness/liveness-3.slang.expected
index 614fd1387..58f562d86 100644
--- a/tests/experimental/liveness/liveness-3.slang.expected
+++ b/tests/experimental/liveness/liveness-3.slang.expected
@@ -72,7 +72,7 @@ int calcThing_0(int offset_0)
another_0[i_0 & 1] = another_0[i_0 & 1] + modRange_0;
int _S6 = i_0 % 3;
int _S7;
- if(bool(_S6))
+ if(_S6 != 0)
{
int _S8 = _S5;
livenessEnd_0(_S5, 0);
diff --git a/tests/experimental/liveness/liveness-4.slang b/tests/experimental/liveness/liveness-4.slang
index d18d127f6..a835f3a4e 100644
--- a/tests/experimental/liveness/liveness-4.slang
+++ b/tests/experimental/liveness/liveness-4.slang
@@ -29,7 +29,7 @@ int calcThing(int offset)
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
outputBuffer[index] = calcThing(index);
}
diff --git a/tests/experimental/liveness/liveness-5.slang b/tests/experimental/liveness/liveness-5.slang
index 52370d61b..98fa6ff6f 100644
--- a/tests/experimental/liveness/liveness-5.slang
+++ b/tests/experimental/liveness/liveness-5.slang
@@ -36,7 +36,7 @@ int calcThing(int offset)
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
outputBuffer[index] = calcThing(index);
}
diff --git a/tests/experimental/liveness/liveness-6.slang b/tests/experimental/liveness/liveness-6.slang
index 890b06fe5..d124efd35 100644
--- a/tests/experimental/liveness/liveness-6.slang
+++ b/tests/experimental/liveness/liveness-6.slang
@@ -41,7 +41,7 @@ int calcThing(int offset)
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
outputBuffer[index] = calcThing(index);
}
diff --git a/tests/experimental/liveness/liveness-7.slang b/tests/experimental/liveness/liveness-7.slang
index 0324f90b9..5d8ed48cc 100644
--- a/tests/experimental/liveness/liveness-7.slang
+++ b/tests/experimental/liveness/liveness-7.slang
@@ -12,7 +12,7 @@ int calcThing(int offset)
for (int k = 0; k < 20; ++k)
{
- if ((k + offset) & 1)
+ if (((k + offset) & 1) != 0)
{
return arr[0];
}
@@ -26,7 +26,7 @@ int calcThing(int offset)
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
outputBuffer[index] = calcThing(index);
}
diff --git a/tests/experimental/liveness/liveness-7.slang.expected b/tests/experimental/liveness/liveness-7.slang.expected
index 5b0c5b58a..52eafa5d1 100644
--- a/tests/experimental/liveness/liveness-7.slang.expected
+++ b/tests/experimental/liveness/liveness-7.slang.expected
@@ -35,7 +35,7 @@ int calcThing_0(int offset_0)
{
int _S3 = _S2;
livenessEnd_0(_S2, 0);
- if(bool(0 + _S3 & 1))
+ if((0 + _S3 & 1) != 0)
{
int _S4[2] = arr_0;
livenessEnd_1(arr_0, 0);
diff --git a/tests/experimental/liveness/liveness.slang b/tests/experimental/liveness/liveness.slang
index cf3d37a8f..a84cf268a 100644
--- a/tests/experimental/liveness/liveness.slang
+++ b/tests/experimental/liveness/liveness.slang
@@ -28,7 +28,7 @@ int someSlowFunc(int a)
{
v = ((v >> 1) | (v << 31)) * i;
}
- return v;
+ return int(v);
}
int somethingElse(inout SomeStruct s)
@@ -45,7 +45,7 @@ int doThing(SomeStruct s)
[numthreads(4, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int index = dispatchThreadID.x;
+ int index = int(dispatchThreadID.x);
int res = index;
@@ -57,7 +57,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
SomeStruct t = makeSomeStruct();
SomeStruct u = {};
- if (v & 0x100)
+ if ((v & 0x100) != 0)
{
s.x = anotherBuffer[v & 3];
t.x = anotherBuffer[v & 3];
diff --git a/tests/experimental/liveness/liveness.slang.expected b/tests/experimental/liveness/liveness.slang.expected
index c74206573..0a39f0225 100644
--- a/tests/experimental/liveness/liveness.slang.expected
+++ b/tests/experimental/liveness/liveness.slang.expected
@@ -114,7 +114,7 @@ void main()
const int _S9[100] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
SomeStruct_0 u_0 = { 0, 0, _S9 };
SomeStruct_0 u_1;
- if(bool(v_1 & 256))
+ if((v_1 & 256) != 0)
{
s_3.x_0 = ((anotherBuffer_0)._data[(uint(v_1 & 3))]);
t_0.x_0 = ((anotherBuffer_0)._data[(uint(v_1 & 3))]);
diff --git a/tests/hlsl-intrinsic/active-mask/switch.slang b/tests/hlsl-intrinsic/active-mask/switch.slang
index 47d279f20..280388c68 100644
--- a/tests/hlsl-intrinsic/active-mask/switch.slang
+++ b/tests/hlsl-intrinsic/active-mask/switch.slang
@@ -18,7 +18,7 @@ RWStructuredBuffer<int> buffer;
#define THREAD_COUNT 4
#define LOC_COUNT 5
-#define WRITE(LOC) buffer[tid + (LOC)*THREAD_COUNT] = 0xA0000000 | (tid << 24) | (LOC << 8) | WaveGetActiveMask()
+#define WRITE(LOC) buffer[tid + (LOC)*THREAD_COUNT] = 0xA0000000 | (tid << 24) | (LOC << 8) | int(WaveGetActiveMask())
//TEST_INPUT:cbuffer(data=[0 1]):name C
cbuffer C
@@ -51,7 +51,7 @@ void test(int tid)
}
[numthreads(THREAD_COUNT, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
test(dispatchThreadID.x);
} \ No newline at end of file
diff --git a/tests/hlsl-intrinsic/bit-cast/bit-cast-16-bit.slang b/tests/hlsl-intrinsic/bit-cast/bit-cast-16-bit.slang
index adeb83a67..660ba7ef8 100644
--- a/tests/hlsl-intrinsic/bit-cast/bit-cast-16-bit.slang
+++ b/tests/hlsl-intrinsic/bit-cast/bit-cast-16-bit.slang
@@ -7,9 +7,9 @@
//TEST_INPUT:ubuffer(data=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16], stride=4):name inputBuffer
RWStructuredBuffer<int> inputBuffer;
-int16_t readI(inout int index) { return inputBuffer[(index++) & 0xF]; }
-uint16_t readU(inout int index) { return inputBuffer[(index++) & 0xF]; }
-float16_t readF(inout int index) { return float(inputBuffer[(index++) & 0xF]); }
+int16_t readI(inout int index) { return int16_t(inputBuffer[(index++) & 0xF]); }
+uint16_t readU(inout int index) { return int16_t(inputBuffer[(index++) & 0xF]); }
+float16_t readF(inout int index) { return float16_t(float(inputBuffer[(index++) & 0xF])); }
//TEST_INPUT:ubuffer(data=[0 0 0 0 0 0 0 0 0 0 0 0], stride=4):out,name outputBuffer
RWStructuredBuffer<int> outputBuffer;
@@ -19,7 +19,7 @@ void write(int initial, inout int index, uint value)
let tmp = index++;
if((tmp & 3) == initial)
{
- outputBuffer[tmp & 0xF] = value;
+ outputBuffer[tmp & 0xF] = int(value);
}
}
@@ -98,7 +98,7 @@ void test(int initial)
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
test(dispatchThreadID.x);
}
diff --git a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit-vector.slang b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit-vector.slang
index 047637afb..8daae458e 100644
--- a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit-vector.slang
+++ b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit-vector.slang
@@ -48,7 +48,7 @@ int test(int val)
}
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int tid = dispatchThreadID.x;
outputBuffer[tid] = test(tid);
diff --git a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit.slang b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit.slang
index 2985b8902..03e5909db 100644
--- a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit.slang
+++ b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-16bit.slang
@@ -49,7 +49,7 @@ int test(int val)
}
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int tid = dispatchThreadID.x;
outputBuffer[tid] = test(tid);
diff --git a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang
index 6f987749f..6db93b5a3 100644
--- a/tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang
+++ b/tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang
@@ -44,7 +44,7 @@ int test(int val)
}
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int tid = dispatchThreadID.x;
outputBuffer[tid] = test(tid);
diff --git a/tests/hlsl-intrinsic/literal-int64.slang b/tests/hlsl-intrinsic/literal-int64.slang
index 226a12155..977c85a9f 100644
--- a/tests/hlsl-intrinsic/literal-int64.slang
+++ b/tests/hlsl-intrinsic/literal-int64.slang
@@ -18,7 +18,7 @@ RWStructuredBuffer<uint64_t> outputBuffer;
[numthreads(7, 1, 1)]
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
- int idx = int64_t(dispatchThreadID.x);
+ int idx = int(int64_t(dispatchThreadID.x));
uint64_t v = 0;
diff --git a/tests/hlsl-intrinsic/scalar-int64.slang b/tests/hlsl-intrinsic/scalar-int64.slang
index 68f3c4da9..f4518f198 100644
--- a/tests/hlsl-intrinsic/scalar-int64.slang
+++ b/tests/hlsl-intrinsic/scalar-int64.slang
@@ -37,5 +37,5 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
int64_t v = (ti * 0x400010035435435ll) / 3ll + 7ll - 9ll;
- outputBuffer[idx] = int(v) ^ int(((v >> 32) & 0xffffffff));
+ outputBuffer[uint(idx)] = int(v) ^ int(((v >> 32) & 0xffffffff));
} \ No newline at end of file
diff --git a/tests/hlsl-intrinsic/scalar-uint.slang b/tests/hlsl-intrinsic/scalar-uint.slang
index 2e35c782e..ed4bd419f 100644
--- a/tests/hlsl-intrinsic/scalar-uint.slang
+++ b/tests/hlsl-intrinsic/scalar-uint.slang
@@ -22,5 +22,5 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
ti += countbits(idx * 13);
- outputBuffer[idx] = ti;
+ outputBuffer[idx] = int(ti);
} \ No newline at end of file
diff --git a/tests/hlsl-intrinsic/scalar-uint64.slang b/tests/hlsl-intrinsic/scalar-uint64.slang
index 089a756fa..f75dd8acc 100644
--- a/tests/hlsl-intrinsic/scalar-uint64.slang
+++ b/tests/hlsl-intrinsic/scalar-uint64.slang
@@ -22,7 +22,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
ti += min(idx, 1ull);
ti += clamp(idx * 10, 11, 23);
- ti += countbits(idx * 13);
+ ti += countbits(uint(idx * 13));
// Math
ti = ti - idx;
diff --git a/tests/hlsl-intrinsic/wave-active-count-bits.slang b/tests/hlsl-intrinsic/wave-active-count-bits.slang
index 45fdd7e02..105b95a6f 100644
--- a/tests/hlsl-intrinsic/wave-active-count-bits.slang
+++ b/tests/hlsl-intrinsic/wave-active-count-bits.slang
@@ -13,5 +13,5 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = int(dispatchThreadID.x);
- outputBuffer[idx] = WaveActiveCountBits(idx & 5);
+ outputBuffer[idx] = int(WaveActiveCountBits(bool(idx & 5)));
} \ No newline at end of file
diff --git a/tests/hlsl-intrinsic/wave-get-lane-index.slang b/tests/hlsl-intrinsic/wave-get-lane-index.slang
index e4beb7ce0..fb09022c2 100644
--- a/tests/hlsl-intrinsic/wave-get-lane-index.slang
+++ b/tests/hlsl-intrinsic/wave-get-lane-index.slang
@@ -9,12 +9,12 @@
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = dispatchThreadID.x;
- int laneId = WaveGetLaneIndex();
+ uint laneId = WaveGetLaneIndex();
// The laneCount will be dependent on target hardware. It seems a count of 1 is valid in spec.
// For now we'll just check it's not 0.
- int laneCount = WaveGetLaneCount();
- outputBuffer[idx] = ((laneCount > 0) ? 0x100 : 0) + laneId;
+ uint laneCount = WaveGetLaneCount();
+ outputBuffer[idx] = int(((laneCount > 0) ? 0x100 : 0) + laneId);
} \ No newline at end of file
diff --git a/tests/hlsl-intrinsic/wave-mask/wave-get-active.slang b/tests/hlsl-intrinsic/wave-mask/wave-get-active.slang
index d19436191..c05c7baa1 100644
--- a/tests/hlsl-intrinsic/wave-mask/wave-get-active.slang
+++ b/tests/hlsl-intrinsic/wave-mask/wave-get-active.slang
@@ -17,6 +17,6 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
uint4 multi = WaveGetActiveMulti();
// Should be 0xf, because numthreads is 4, 1, 1
- outputBuffer[idx * 2 + 0] = mask;
- outputBuffer[idx * 2 + 1] = multi.x;
+ outputBuffer[idx * 2 + 0] = int(mask);
+ outputBuffer[idx * 2 + 1] = int(multi.x);
} \ No newline at end of file
diff --git a/tests/hlsl-intrinsic/wave-mask/wave-get-converged.slang b/tests/hlsl-intrinsic/wave-mask/wave-get-converged.slang
index 1a7a46cea..d201f3e76 100644
--- a/tests/hlsl-intrinsic/wave-mask/wave-get-converged.slang
+++ b/tests/hlsl-intrinsic/wave-mask/wave-get-converged.slang
@@ -14,6 +14,6 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
int idx = int(dispatchThreadID.x);
// Should be 0xf, because numthreads is 4, 1, 1
- outputBuffer[idx * 2 + 0] = WaveGetConvergedMask();
- outputBuffer[idx * 2 + 1] = WaveGetConvergedMulti().x;
+ outputBuffer[idx * 2 + 0] = int(WaveGetConvergedMask());
+ outputBuffer[idx * 2 + 1] = int(WaveGetConvergedMulti().x);
} \ No newline at end of file
diff --git a/tests/hlsl-intrinsic/wave-mask/wave-matrix.slang b/tests/hlsl-intrinsic/wave-mask/wave-matrix.slang
index 650671608..f333a59fb 100644
--- a/tests/hlsl-intrinsic/wave-mask/wave-matrix.slang
+++ b/tests/hlsl-intrinsic/wave-mask/wave-matrix.slang
@@ -32,7 +32,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
matrix<uint, 2, 2> r4 = WaveMaskBitAnd(mask, uv0);
matrix<uint, 2, 2> r5 = r2 + r3 + r4;
- matrix<int, 2, 2> r6 = matrix<int, 2, 2>(r5[0][0], r5[0][1], r5[1][0], r5[1][1]);
+ matrix<int, 2, 2> r6 = matrix<int, 2, 2>(int(r5[0][0]), int(r5[0][1]), int(r5[1][0]), int(r5[1][1]));
matrix<int, 2, 2> r = r0 + matrix<int, 2, 2>(r1) + r6;
diff --git a/tests/hlsl-intrinsic/wave-mask/wave-vector.slang b/tests/hlsl-intrinsic/wave-mask/wave-vector.slang
index 0585bae53..b1f44f4fb 100644
--- a/tests/hlsl-intrinsic/wave-mask/wave-vector.slang
+++ b/tests/hlsl-intrinsic/wave-mask/wave-vector.slang
@@ -22,9 +22,9 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
int2 r0 = WaveMaskSum(mask, v0);
float2 r1 = WaveMaskSum(mask, v1);
- int2 r2 = WaveMaskBitXor(mask, uv0);
- int2 r3 = WaveMaskBitOr(mask, uv0);
- int2 r4 = WaveMaskBitAnd(mask, uv0);
+ int2 r2 = int2(WaveMaskBitXor(mask, uv0));
+ int2 r3 = int2(WaveMaskBitOr(mask, uv0));
+ int2 r4 = int2(WaveMaskBitAnd(mask, uv0));
int2 r = r0 + int2(r1) + r2 + r3 + r4;
diff --git a/tests/hlsl-intrinsic/wave-mask/wave.slang b/tests/hlsl-intrinsic/wave-mask/wave.slang
index 4e2534cb6..70860483f 100644
--- a/tests/hlsl-intrinsic/wave-mask/wave.slang
+++ b/tests/hlsl-intrinsic/wave-mask/wave.slang
@@ -57,7 +57,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
WaveMask waveMask = ~WaveMask(0);
int index = int(dispatchThreadID.x);
- const int waveLaneId = WaveGetLaneIndex();
+ const int waveLaneId = int(WaveGetLaneIndex());
const int value = inputBuffer[index];
const int elementCount = 9;
diff --git a/tests/hlsl-intrinsic/wave-matrix.slang b/tests/hlsl-intrinsic/wave-matrix.slang
index da6665eb6..c4fe635be 100644
--- a/tests/hlsl-intrinsic/wave-matrix.slang
+++ b/tests/hlsl-intrinsic/wave-matrix.slang
@@ -30,7 +30,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
matrix<uint, 2, 2> r4 = WaveActiveBitAnd(uv0);
matrix<uint, 2, 2> r5 = r2 + r3 + r4;
- matrix<int, 2, 2> r6 = matrix<int, 2, 2>(r5[0][0], r5[0][1], r5[1][0], r5[1][1]);
+ matrix<int, 2, 2> r6 = matrix<int, 2, 2>(int(r5[0][0]), int(r5[0][1]), int(r5[1][0]), int(r5[1][1]));
matrix<int, 2, 2> r = r0 + matrix<int, 2, 2>(r1) + r6;
diff --git a/tests/hlsl-intrinsic/wave-prefix-count-bits.slang b/tests/hlsl-intrinsic/wave-prefix-count-bits.slang
index b0e2464de..e16a8428b 100644
--- a/tests/hlsl-intrinsic/wave-prefix-count-bits.slang
+++ b/tests/hlsl-intrinsic/wave-prefix-count-bits.slang
@@ -13,5 +13,5 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = int(dispatchThreadID.x);
- outputBuffer[idx] = WavePrefixCountBits(idx & 5);
+ outputBuffer[idx] = int(WavePrefixCountBits(bool(idx & 5)));
} \ No newline at end of file
diff --git a/tests/hlsl-intrinsic/wave-vector.slang b/tests/hlsl-intrinsic/wave-vector.slang
index cc39c7767..7721c93f0 100644
--- a/tests/hlsl-intrinsic/wave-vector.slang
+++ b/tests/hlsl-intrinsic/wave-vector.slang
@@ -20,9 +20,9 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
int2 r0 = WaveActiveSum(v0);
float2 r1 = WaveActiveSum(v1);
- int2 r2 = WaveActiveBitXor(uv0);
- int2 r3 = WaveActiveBitOr(uv0);
- int2 r4 = WaveActiveBitAnd(uv0);
+ int2 r2 = int2(WaveActiveBitXor(uv0));
+ int2 r3 = int2(WaveActiveBitOr(uv0));
+ int2 r4 = int2(WaveActiveBitAnd(uv0));
int2 r = r0 + int2(r1) + r2 + r3 + r4;
diff --git a/tests/hlsl/simple/rw-texture.hlsl b/tests/hlsl/simple/rw-texture.hlsl
index de8e82777..114d9e126 100644
--- a/tests/hlsl/simple/rw-texture.hlsl
+++ b/tests/hlsl/simple/rw-texture.hlsl
@@ -38,7 +38,7 @@ RWTexture3D<float4> t3 R(u3);
float4 main() : SV_Target
{
- return t2.Load(CBUFFER_REF(C,u2))
- + t2a.Load(CBUFFER_REF(C,u3))
- + t3.Load(CBUFFER_REF(C,u3));
+ return t2.Load(int2(CBUFFER_REF(C,u2)))
+ + t2a.Load(int3(CBUFFER_REF(C,u3)))
+ + t3.Load(int3(CBUFFER_REF(C,u3)));
}
diff --git a/tests/ir/scalar-truncate.slang b/tests/ir/scalar-truncate.slang
index 9d9d33261..ca1c5243c 100644
--- a/tests/ir/scalar-truncate.slang
+++ b/tests/ir/scalar-truncate.slang
@@ -9,7 +9,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
{
int16_t a = 30000; // 0x00007530 -> 0x7530 (30000) in 16-bit.
- int16_t b = -200000; // 0xfffcf2c0 -> Truncated to 0xf2c0 (-3392) in 16-bit.
+ int16_t b = int16_t(-200000); // 0xfffcf2c0 -> Truncated to 0xf2c0 (-3392) in 16-bit.
outputBuffer[0] = asuint((int)a);
outputBuffer[1] = asuint((int)b);
}
diff --git a/tests/language-feature/bit-cast/struct-bit-cast.slang b/tests/language-feature/bit-cast/struct-bit-cast.slang
index 9c4a039c0..5398f36c9 100644
--- a/tests/language-feature/bit-cast/struct-bit-cast.slang
+++ b/tests/language-feature/bit-cast/struct-bit-cast.slang
@@ -32,7 +32,7 @@ int test0(int val)
b.i.s = asuint(1.25);
b.t = asuint(0.25);
Foo f = bit_cast<Foo, Bar>(b);
- return f.a + (int)f.b + int(float(f.fvec.x / f.fvec.y)); // val + 2 + 5
+ return int(f.a) + (int)f.b + int(float(f.fvec.x / f.fvec.y)); // val + 2 + 5
}
struct Smaller
@@ -59,9 +59,9 @@ int test1()
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test0(inVal) + test1();
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/constants/static-const-in-struct.slang b/tests/language-feature/constants/static-const-in-struct.slang
index bee8c936b..5d4ce6802 100644
--- a/tests/language-feature/constants/static-const-in-struct.slang
+++ b/tests/language-feature/constants/static-const-in-struct.slang
@@ -50,9 +50,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/enums/enum-equality.slang b/tests/language-feature/enums/enum-equality.slang
index d3a2aa4fd..278b26a65 100644
--- a/tests/language-feature/enums/enum-equality.slang
+++ b/tests/language-feature/enums/enum-equality.slang
@@ -31,9 +31,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/enums/nested-enum.slang b/tests/language-feature/enums/nested-enum.slang
index ecc854440..5b45abae7 100644
--- a/tests/language-feature/enums/nested-enum.slang
+++ b/tests/language-feature/enums/nested-enum.slang
@@ -66,7 +66,7 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int value = (Outer::someValue) + 1 + Outer::getHeuristicResult();
Outer::Channel anotherValue = (Outer::Channel) +1;
@@ -77,7 +77,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
// Check can see this is a cast
value += (Outer::SomeType)(value);
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal) + value * 2 + int(anotherValue) * 4;
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/extensions/interface-extension.slang b/tests/language-feature/extensions/interface-extension.slang
index e8c0552c0..1d84ba844 100644
--- a/tests/language-feature/extensions/interface-extension.slang
+++ b/tests/language-feature/extensions/interface-extension.slang
@@ -41,9 +41,9 @@ int test(int value)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/generics/struct-generic-value-param.slang b/tests/language-feature/generics/struct-generic-value-param.slang
index 435e374d8..7b3b847d5 100644
--- a/tests/language-feature/generics/struct-generic-value-param.slang
+++ b/tests/language-feature/generics/struct-generic-value-param.slang
@@ -54,9 +54,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/inheritance/derived-struct-init-list.slang b/tests/language-feature/inheritance/derived-struct-init-list.slang
index edcb685e6..978fea904 100644
--- a/tests/language-feature/inheritance/derived-struct-init-list.slang
+++ b/tests/language-feature/inheritance/derived-struct-init-list.slang
@@ -33,9 +33,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/inheritance/struct-inherit-interface-requirement.slang b/tests/language-feature/inheritance/struct-inherit-interface-requirement.slang
index 968a78cb6..fbf3405ff 100644
--- a/tests/language-feature/inheritance/struct-inherit-interface-requirement.slang
+++ b/tests/language-feature/inheritance/struct-inherit-interface-requirement.slang
@@ -60,9 +60,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/inheritance/struct-inheritance-import.slang b/tests/language-feature/inheritance/struct-inheritance-import.slang
index 0ea49957e..218d4d09d 100644
--- a/tests/language-feature/inheritance/struct-inheritance-import.slang
+++ b/tests/language-feature/inheritance/struct-inheritance-import.slang
@@ -22,7 +22,7 @@ RWStructuredBuffer<int> outputBuffer;
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
uint tid = dispatchThreadID.x;
- int inVal = tid;
+ int inVal = int(tid);
int outVal = test(inVal);
outputBuffer[tid] = outVal;
}
diff --git a/tests/language-feature/inheritance/struct-inheritance.slang b/tests/language-feature/inheritance/struct-inheritance.slang
index 34ce55344..e50b1268b 100644
--- a/tests/language-feature/inheritance/struct-inheritance.slang
+++ b/tests/language-feature/inheritance/struct-inheritance.slang
@@ -49,9 +49,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/initializer-lists/default-init-16bit-types.slang b/tests/language-feature/initializer-lists/default-init-16bit-types.slang
index 09da165f9..9620534e2 100644
--- a/tests/language-feature/initializer-lists/default-init-16bit-types.slang
+++ b/tests/language-feature/initializer-lists/default-init-16bit-types.slang
@@ -26,9 +26,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/interfaces/interface-conjunction.slang b/tests/language-feature/interfaces/interface-conjunction.slang
index b5ec708a5..dbb573431 100644
--- a/tests/language-feature/interfaces/interface-conjunction.slang
+++ b/tests/language-feature/interfaces/interface-conjunction.slang
@@ -40,9 +40,9 @@ int test(int value)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/namespaces/multiple-namespace.slang b/tests/language-feature/namespaces/multiple-namespace.slang
index a687d5e79..f8ad2eda0 100644
--- a/tests/language-feature/namespaces/multiple-namespace.slang
+++ b/tests/language-feature/namespaces/multiple-namespace.slang
@@ -47,9 +47,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/namespaces/simple-namespace.slang b/tests/language-feature/namespaces/simple-namespace.slang
index e964cfca9..2066d2b7c 100644
--- a/tests/language-feature/namespaces/simple-namespace.slang
+++ b/tests/language-feature/namespaces/simple-namespace.slang
@@ -56,9 +56,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/namespaces/using-namespace.slang b/tests/language-feature/namespaces/using-namespace.slang
index 3c40b4ba3..d55816570 100644
--- a/tests/language-feature/namespaces/using-namespace.slang
+++ b/tests/language-feature/namespaces/using-namespace.slang
@@ -37,9 +37,9 @@ int test(int value)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/properties/property-decl.slang b/tests/language-feature/properties/property-decl.slang
index 94ab39d00..ac0cee666 100644
--- a/tests/language-feature/properties/property-decl.slang
+++ b/tests/language-feature/properties/property-decl.slang
@@ -38,9 +38,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/shader-params/entry-point-uniform-params.slang b/tests/language-feature/shader-params/entry-point-uniform-params.slang
index 5b0279bb5..7053dd316 100644
--- a/tests/language-feature/shader-params/entry-point-uniform-params.slang
+++ b/tests/language-feature/shader-params/entry-point-uniform-params.slang
@@ -29,9 +29,9 @@ void computeMain(
//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name=outputBuffer
uniform RWStructuredBuffer<int> outputBuffer,
- uint3 dispatchThreadID : SV_DispatchThreadID)
+ int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal, d.a, d.b);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/shader-params/interface-shader-param-ordinary.slang b/tests/language-feature/shader-params/interface-shader-param-ordinary.slang
index 8d475254f..5ce346956 100644
--- a/tests/language-feature/shader-params/interface-shader-param-ordinary.slang
+++ b/tests/language-feature/shader-params/interface-shader-param-ordinary.slang
@@ -31,7 +31,7 @@ int test(int val)
[numthreads(4, 1, 1)]
void computeMain(
- uint3 dispatchThreadID : SV_DispatchThreadID)
+ int3 dispatchThreadID : SV_DispatchThreadID)
{
let tid = dispatchThreadID.x;
diff --git a/tests/language-feature/swizzles/matrix-swizzles.slang b/tests/language-feature/swizzles/matrix-swizzles.slang
index 3f8fece74..fb9f9238f 100644
--- a/tests/language-feature/swizzles/matrix-swizzles.slang
+++ b/tests/language-feature/swizzles/matrix-swizzles.slang
@@ -17,7 +17,7 @@ int test(int val)
tempVector2 = worldMatrix._12_21;
// return tempMatrix[0][0] + tempMatrix[0][1] = val + 0 + val + 1
- return tempVector1.x + tempVector2.x;
+ return int(tempVector1.x + tempVector2.x);
}
@@ -25,9 +25,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang b/tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang
index ea94e6ffa..c328d4c44 100644
--- a/tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang
+++ b/tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang
@@ -46,9 +46,9 @@ int test(int val)
RWStructuredBuffer<int> gOutput;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
gOutput[tid] = outVal;
diff --git a/tests/language-feature/types/opaque/inout-param-opaque-type.slang b/tests/language-feature/types/opaque/inout-param-opaque-type.slang
index 682f89fd0..83c20d040 100644
--- a/tests/language-feature/types/opaque/inout-param-opaque-type.slang
+++ b/tests/language-feature/types/opaque/inout-param-opaque-type.slang
@@ -33,9 +33,9 @@ int test(int val)
RWStructuredBuffer<int> gOutput;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
gOutput[tid] = outVal;
diff --git a/tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang b/tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang
index a6c645c01..60f9a95f5 100644
--- a/tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang
+++ b/tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang
@@ -30,9 +30,9 @@ int test(int val)
RWStructuredBuffer<int> gOutput;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
gOutput[tid] = outVal;
diff --git a/tests/language-feature/types/opaque/out-param-opaque-type.slang b/tests/language-feature/types/opaque/out-param-opaque-type.slang
index 3ac7c0d6f..03f105da2 100644
--- a/tests/language-feature/types/opaque/out-param-opaque-type.slang
+++ b/tests/language-feature/types/opaque/out-param-opaque-type.slang
@@ -24,9 +24,9 @@ int test(int val)
RWStructuredBuffer<int> gOutput;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
gOutput[tid] = outVal;
diff --git a/tests/language-feature/types/opaque/return-opaque-type-in-struct.slang b/tests/language-feature/types/opaque/return-opaque-type-in-struct.slang
index 2687af1c3..4da6b3b30 100644
--- a/tests/language-feature/types/opaque/return-opaque-type-in-struct.slang
+++ b/tests/language-feature/types/opaque/return-opaque-type-in-struct.slang
@@ -29,9 +29,9 @@ int test(int val)
RWStructuredBuffer<int> gOutput;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
gOutput[tid] = outVal;
diff --git a/tests/language-feature/types/opaque/return-opaque-type.slang b/tests/language-feature/types/opaque/return-opaque-type.slang
index 83d4376ba..e14ff8616 100644
--- a/tests/language-feature/types/opaque/return-opaque-type.slang
+++ b/tests/language-feature/types/opaque/return-opaque-type.slang
@@ -23,9 +23,9 @@ int test(int val)
RWStructuredBuffer<int> gOutput;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
gOutput[tid] = outVal;
diff --git a/tests/nv-extensions/nv-ray-tracing-motion-blur.slang b/tests/nv-extensions/nv-ray-tracing-motion-blur.slang
index 2c31da99a..6c3a7e8c1 100644
--- a/tests/nv-extensions/nv-ray-tracing-motion-blur.slang
+++ b/tests/nv-extensions/nv-ray-tracing-motion-blur.slang
@@ -37,8 +37,8 @@ struct ReflectionRay
void main()
{
- int2 launchID = DispatchRaysIndex().xy;
- int2 launchSize = DispatchRaysDimensions().xy;
+ int2 launchID = int2(DispatchRaysIndex().xy);
+ int2 launchSize = int2(DispatchRaysDimensions().xy);
float2 inUV = float2(
(float(launchID.x) + 0.5f) / float(launchSize.x),
diff --git a/tests/optimization/func-resource-result/func-resource-result-complex.slang b/tests/optimization/func-resource-result/func-resource-result-complex.slang
index a5585ff4c..a08874142 100644
--- a/tests/optimization/func-resource-result/func-resource-result-complex.slang
+++ b/tests/optimization/func-resource-result/func-resource-result-complex.slang
@@ -36,9 +36,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/optimization/func-resource-result/func-resource-result-simple.slang b/tests/optimization/func-resource-result/func-resource-result-simple.slang
index 52b382135..7d82a2c68 100644
--- a/tests/optimization/func-resource-result/func-resource-result-simple.slang
+++ b/tests/optimization/func-resource-result/func-resource-result-simple.slang
@@ -22,9 +22,9 @@ int test(int val)
RWStructuredBuffer<int> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int inVal = tid;
int outVal = test(inVal);
outputBuffer[tid] = outVal;
diff --git a/tests/pipeline/compute/compute-system-values.slang b/tests/pipeline/compute/compute-system-values.slang
index c63ca7f6b..a71bc0651 100644
--- a/tests/pipeline/compute/compute-system-values.slang
+++ b/tests/pipeline/compute/compute-system-values.slang
@@ -19,10 +19,10 @@ void computeMain(
value = value*16 + groupIndex;
value = value*16 + groupID.x;
value = value*16 + groupID.y;
- value = value*16 + groupThreadID.x;
- value = value*16 + groupThreadID.y;
- value = value*16 + dispatchThreadID.x;
- value = value*16 + dispatchThreadID.y;
+ value = value*16 + int(groupThreadID.x);
+ value = value*16 + int(groupThreadID.y);
+ value = value*16 + int(dispatchThreadID.x);
+ value = value*16 + int(dispatchThreadID.y);
outputBuffer[tid] = value;
} \ No newline at end of file
diff --git a/tests/pipeline/rasterization/fragment-shader-interlock.slang b/tests/pipeline/rasterization/fragment-shader-interlock.slang
index 66597a9a8..7215629a2 100644
--- a/tests/pipeline/rasterization/fragment-shader-interlock.slang
+++ b/tests/pipeline/rasterization/fragment-shader-interlock.slang
@@ -13,8 +13,8 @@ void main(
{
beginInvocationInterlock();
- result = texture[coords.xy];
- texture[coords.xy] = result + coords;
+ result = texture[uint2(coords.xy)];
+ texture[uint2(coords.xy)] = result + coords;
endInvocationInterlock();
}
diff --git a/tests/pipeline/ray-tracing/trace-ray-inline.slang b/tests/pipeline/ray-tracing/trace-ray-inline.slang
index 6bbc776c5..d44500e18 100644
--- a/tests/pipeline/ray-tracing/trace-ray-inline.slang
+++ b/tests/pipeline/ray-tracing/trace-ray-inline.slang
@@ -132,7 +132,7 @@ void main(uint3 tid : SV_DispatchThreadID)
{
query.CommitProceduralPrimitiveHit(tHit);
committedProceduralAttrs = candidateProceduralAttrs;
- if(shouldStopAtFirstHit)
+ if(shouldStopAtFirstHit != 0)
query.Abort();
}
}
@@ -144,7 +144,7 @@ void main(uint3 tid : SV_DispatchThreadID)
if(myTriangleAnyHit(payload))
{
query.CommitNonOpaqueTriangleHit();
- if(shouldStopAtFirstHit)
+ if(shouldStopAtFirstHit != 0)
query.Abort();
}
}
diff --git a/tests/reflection/unbounded-arrays.hlsl b/tests/reflection/unbounded-arrays.hlsl
index 603bb6071..8f91919d4 100644
--- a/tests/reflection/unbounded-arrays.hlsl
+++ b/tests/reflection/unbounded-arrays.hlsl
@@ -137,7 +137,7 @@
[numthreads(4,1,1)]
void main(uint3 tid : SV_DispatchThreadID)
{
- int idx = tid.x;
+ int idx = int(tid.x);
float4 tmp = data[idx];
SamplerState s = aa[idx];
diff --git a/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang b/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang
index 584dcada1..ffa6d5b94 100644
--- a/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang
+++ b/tests/slang-extension/atomic-float-byte-address-buffer-cross.slang
@@ -14,7 +14,7 @@ RWStructuredBuffer<float> anotherBuffer;
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
uint tid = dispatchThreadID.x;
- int idx = (tid & 3) ^ (tid >> 2);
+ int idx = int((tid & 3) ^ (tid >> 2));
const float delta = anotherBuffer[idx & 3];
@@ -22,6 +22,6 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
outputBuffer.InterlockedAddF32((idx << 2), 1.0f, previousValue);
// The sum of values in anotherBuffer should also be added
- int anotherIdx = tid >> 2;
+ int anotherIdx = int(tid >> 2);
outputBuffer.InterlockedAddF32(anotherIdx << 2, delta);
} \ No newline at end of file
diff --git a/tests/slang-extension/atomic-float-byte-address-buffer.slang b/tests/slang-extension/atomic-float-byte-address-buffer.slang
index 519cb668d..48e209431 100644
--- a/tests/slang-extension/atomic-float-byte-address-buffer.slang
+++ b/tests/slang-extension/atomic-float-byte-address-buffer.slang
@@ -25,7 +25,7 @@ RWStructuredBuffer<float> anotherBuffer;
void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
uint tid = dispatchThreadID.x;
- int idx = (tid & 3) ^ (tid >> 2);
+ int idx = int((tid & 3) ^ (tid >> 2));
//const float delta = anotherBuffer[idx & 3];
@@ -41,6 +41,6 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
if (tid < 4)
{
- outputBuffer[tid] = asfloat(workBuffer.Load(tid << 2));
+ outputBuffer[tid] = asfloat(workBuffer.Load(int(tid << 2)));
}
} \ No newline at end of file
diff --git a/tests/slang-extension/atomic-int64-byte-address-buffer.slang b/tests/slang-extension/atomic-int64-byte-address-buffer.slang
index b5e52ea58..9a7ae3b61 100644
--- a/tests/slang-extension/atomic-int64-byte-address-buffer.slang
+++ b/tests/slang-extension/atomic-int64-byte-address-buffer.slang
@@ -18,9 +18,9 @@ RWStructuredBuffer<int> nvapiBuffer;
RWByteAddressBuffer outputBuffer;
[numthreads(16, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int idx = (tid & 3) ^ (tid >> 2);
int64_t previousValue = 0;
diff --git a/tests/slang-extension/atomic-min-max-u64-byte-address-buffer.slang b/tests/slang-extension/atomic-min-max-u64-byte-address-buffer.slang
index 862dd4ad1..4ab67df8e 100644
--- a/tests/slang-extension/atomic-min-max-u64-byte-address-buffer.slang
+++ b/tests/slang-extension/atomic-min-max-u64-byte-address-buffer.slang
@@ -23,9 +23,9 @@ RWByteAddressBuffer outputBuffer;
RWStructuredBuffer<uint> inputBuffer;
[numthreads(16, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
// Produces a different result on CUDA?
@@ -38,7 +38,7 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = (tid & 3) ^ (tid >> 2);
- if (idx & 1)
+ if (bool(idx & 1))
{
outputBuffer.InterlockedMaxU64((idx << 3), value);
}
diff --git a/tests/slang-extension/cas-int64-byte-address-buffer.slang b/tests/slang-extension/cas-int64-byte-address-buffer.slang
index 2712cbbe3..873f6ab4b 100644
--- a/tests/slang-extension/cas-int64-byte-address-buffer.slang
+++ b/tests/slang-extension/cas-int64-byte-address-buffer.slang
@@ -18,9 +18,9 @@ RWStructuredBuffer<int> nvapiBuffer;
RWByteAddressBuffer outputBuffer;
[numthreads(16, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
- uint tid = dispatchThreadID.x;
+ int tid = dispatchThreadID.x;
int idx = (tid & 3) ^ (tid >> 2);
// Try directly reading
diff --git a/tests/slang-extension/exchange-int64-byte-address-buffer.slang b/tests/slang-extension/exchange-int64-byte-address-buffer.slang
index a15a487d1..84654ab80 100644
--- a/tests/slang-extension/exchange-int64-byte-address-buffer.slang
+++ b/tests/slang-extension/exchange-int64-byte-address-buffer.slang
@@ -20,7 +20,7 @@ RWByteAddressBuffer outputBuffer;
// With only 4 threads there is no contention - which makes for a simple test
// but doesn't actually test for the exchange atomicity
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = dispatchThreadID.x;
diff --git a/tests/type/texture-sampler/texture-sampler-2d.slang b/tests/type/texture-sampler/texture-sampler-2d.slang
index 146fd0fd8..db4e82c23 100644
--- a/tests/type/texture-sampler/texture-sampler-2d.slang
+++ b/tests/type/texture-sampler/texture-sampler-2d.slang
@@ -7,7 +7,7 @@ Sampler2D<float> t2D;
RWStructuredBuffer<float> outputBuffer;
[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
+void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int idx = dispatchThreadID.x;
float u = idx * (1.0f / 4);
diff --git a/tests/vkray/anyhit.slang b/tests/vkray/anyhit.slang
index 1c216b683..515c66f14 100644
--- a/tests/vkray/anyhit.slang
+++ b/tests/vkray/anyhit.slang
@@ -30,7 +30,7 @@ void main(
SphereHitAttributes attributes,
in out ShadowRay ioPayload)
{
- if(gParams.mode)
+ if(gParams.mode != 0)
{
float val = gParams.alphaMap.SampleLevel(
gParams.sampler,
diff --git a/tests/vkray/anyhit.slang.glsl b/tests/vkray/anyhit.slang.glsl
index 6205d7a9b..eb39299c5 100644
--- a/tests/vkray/anyhit.slang.glsl
+++ b/tests/vkray/anyhit.slang.glsl
@@ -42,7 +42,7 @@ rayPayloadInEXT ShadowRay_0 _S3;
void main()
{
- if(bool(gParams_0._data.mode_0))
+ if(gParams_0._data.mode_0 != 0)
{
float val_0 = textureLod(
sampler2D(gParams_alphaMap_0, gParams_sampler_0),