diff options
| author | Yong He <yonghe@outlook.com> | 2022-08-17 23:08:34 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-17 23:08:34 -0700 |
| commit | adaea0e993fd8db351b5dad92802e47ed6d0ec77 (patch) | |
| tree | dfad5201677b0202b0b890cbae066b5b2f3f033b /tests/slang-extension | |
| parent | d65c6183c0d8b365aa182c3d9026ba85522531f2 (diff) | |
Warning on lossy implicit casts. (#2367)
* Warning on bool to float conversion.
* Fix test cases.
* Improve.
* LanguageServer: don't show constant value for non constant variables.
* Fix tests.
* Fix warnings in tests.
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/slang-extension')
6 files changed, 12 insertions, 12 deletions
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; |
