From adaea0e993fd8db351b5dad92802e47ed6d0ec77 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 17 Aug 2022 23:08:34 -0700 Subject: 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 --- tests/language-feature/bit-cast/struct-bit-cast.slang | 6 +++--- tests/language-feature/constants/static-const-in-struct.slang | 4 ++-- tests/language-feature/enums/enum-equality.slang | 4 ++-- tests/language-feature/enums/nested-enum.slang | 4 ++-- tests/language-feature/extensions/interface-extension.slang | 4 ++-- tests/language-feature/generics/struct-generic-value-param.slang | 4 ++-- tests/language-feature/inheritance/derived-struct-init-list.slang | 4 ++-- .../inheritance/struct-inherit-interface-requirement.slang | 4 ++-- tests/language-feature/inheritance/struct-inheritance-import.slang | 2 +- tests/language-feature/inheritance/struct-inheritance.slang | 4 ++-- .../initializer-lists/default-init-16bit-types.slang | 4 ++-- tests/language-feature/interfaces/interface-conjunction.slang | 4 ++-- tests/language-feature/namespaces/multiple-namespace.slang | 4 ++-- tests/language-feature/namespaces/simple-namespace.slang | 4 ++-- tests/language-feature/namespaces/using-namespace.slang | 4 ++-- tests/language-feature/properties/property-decl.slang | 4 ++-- .../language-feature/shader-params/entry-point-uniform-params.slang | 4 ++-- .../shader-params/interface-shader-param-ordinary.slang | 2 +- tests/language-feature/swizzles/matrix-swizzles.slang | 6 +++--- .../types/opaque/inout-param-opaque-type-in-struct.slang | 4 ++-- tests/language-feature/types/opaque/inout-param-opaque-type.slang | 4 ++-- .../types/opaque/out-param-opaque-type-in-struct.slang | 4 ++-- tests/language-feature/types/opaque/out-param-opaque-type.slang | 4 ++-- .../types/opaque/return-opaque-type-in-struct.slang | 4 ++-- tests/language-feature/types/opaque/return-opaque-type.slang | 4 ++-- 25 files changed, 50 insertions(+), 50 deletions(-) (limited to 'tests/language-feature') 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(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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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; -- cgit v1.2.3