diff options
| author | Tim Foley <tfoleyNV@users.noreply.github.com> | 2018-02-02 08:49:04 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-02 08:49:04 -0800 |
| commit | 0360f81b9741ece65768a65731bd23455a3b7a96 (patch) | |
| tree | eab15cf6737cf091bf94d073e82c7b233f958e57 /tests/compute | |
| parent | b034398ab12d3cc3a5fc04174688cb707404791d (diff) | |
Remove support for the -no-checking flag (#392)
* Remove support for the -no-checking flag
Fixes #381
Fixes #383
Work on #382
- No longer expose flag through API (`SLANG_COMPILE_FLAG_NO_CHECKING`) and command-line (`-no-checking`) options
- Remove all logic in `check.cpp` that was withholding diagnostics (including errors) when the no-checking mode was enabled
- Remove `HiddenImplicitCastExpr`, which was only created to support no-checking mode (it represented an implicit cast that our checking through was needed, but couldn't emit because it might be wrong)
- Remove logic for storing function bodies as raw token lists when checking is turned off. I'm leaving in the `UnparsedStmt` AST node in case we ever need/want to lazily parse and check function bodies down the line.
- Remove a few of the code-generation paths we had to contend with, but keep the comment about them in place.
- Remove GLSL-based tests that can't meaningfully work with the new approach.
- Fix other tests that used a GLSL baseline so that their GLSL compiles with `-pass-through glslang` instead of invoking `slang` with the `-no-checking` flag.
- Remove tests that were explicitly added to test the "rewriter + IR" path, since that is no longer supported.
There is more cleanup that can be done here, now that we know that AST-based rewrite and IR will never co-exist, but it is probably easier to deal with that as part of removing the AST-based rewrite path.
We've lost some test coverage here, but actually not too much if we consider that we are dropping GLSL input anyway.
* Fixup: test runner was mis-counting ignored tests
* Fixup: turn on dumping on test failure under Travis
* Fixup: enable extensions in Linux build of glslang
Diffstat (limited to 'tests/compute')
| -rw-r--r-- | tests/compute/rewriter-array-type.hlsl | 35 | ||||
| -rw-r--r-- | tests/compute/rewriter-array-type.hlsl.expected.txt | 4 | ||||
| -rw-r--r-- | tests/compute/rewriter-parameter-block-complex.hlsl | 2 | ||||
| -rw-r--r-- | tests/compute/rewriter-parameter-block-complex.hlsl.1.expected.txt | 4 | ||||
| -rw-r--r-- | tests/compute/rewriter-parameter-block-complex.hlsl.2.expected.txt | 4 | ||||
| -rw-r--r-- | tests/compute/rewriter-parameter-block.hlsl | 2 | ||||
| -rw-r--r-- | tests/compute/rewriter-parameter-block.hlsl.1.expected.txt | 4 | ||||
| -rw-r--r-- | tests/compute/rewriter-parameter-block.hlsl.2.expected.txt | 4 | ||||
| -rw-r--r-- | tests/compute/rewriter-types.hlsl | 34 | ||||
| -rw-r--r-- | tests/compute/rewriter-types.hlsl.expected.txt | 4 | ||||
| -rw-r--r-- | tests/compute/rewriter-types.slang | 17 | ||||
| -rw-r--r-- | tests/compute/rewriter-use-ir-type.hlsl | 24 | ||||
| -rw-r--r-- | tests/compute/rewriter-use-ir-type.hlsl.expected.txt | 4 | ||||
| -rw-r--r-- | tests/compute/rewriter-use-ir-type.slang | 6 | ||||
| -rw-r--r-- | tests/compute/rewriter.hlsl | 19 | ||||
| -rw-r--r-- | tests/compute/rewriter.hlsl.expected.txt | 4 | ||||
| -rw-r--r-- | tests/compute/rewriter.slang | 30 |
17 files changed, 0 insertions, 201 deletions
diff --git a/tests/compute/rewriter-array-type.hlsl b/tests/compute/rewriter-array-type.hlsl deleted file mode 100644 index 38a2abc1e..000000000 --- a/tests/compute/rewriter-array-type.hlsl +++ /dev/null @@ -1,35 +0,0 @@ -//TEST(compute):HLSL_COMPUTE:-xslang -no-checking -xslang -use-ir - -//TEST_INPUT:cbuffer(data=[16 0 0 0 32 0 0 0]):dxbinding(0),glbinding(0) -//TEST_INPUT:cbuffer(data=[256 0 0 0 512 0 0 0 768 0 0 0 1024 0 0 0]):dxbinding(1),glbinding(1) -//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):dxbinding(0),glbinding(0),out -//TEST_INPUT:ubuffer(data=[90 91 92 93], stride=4):dxbinding(1),glbinding(1) -//TEST_INPUT:ubuffer(data=[0 1 2 3], stride=4):dxbinding(2),glbinding(2) - -// Test the case of user code with that uses the "rewriter" mode -// (`-no-checking` flag) and that uses a type declared in -// imported code (that will compile via IR). Also test -// the case where such a type requires legalization. - -import rewriter_types; - -RWStructuredBuffer<int> outputBuffer : register(u0); - -cbuffer C -{ - MyHelper myHelpers[2]; -} - -cbuffer D -{ - Other others[2]; -} - -[numthreads(4, 1, 1)] -void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) -{ - uint tid = dispatchThreadID.x; - int inVal = tid; - int outVal = test(inVal, myHelpers[1], others[tid]); - outputBuffer[tid] = outVal; -}
\ No newline at end of file diff --git a/tests/compute/rewriter-array-type.hlsl.expected.txt b/tests/compute/rewriter-array-type.hlsl.expected.txt deleted file mode 100644 index 9bde1c082..000000000 --- a/tests/compute/rewriter-array-type.hlsl.expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -120 -222 -324 -426 diff --git a/tests/compute/rewriter-parameter-block-complex.hlsl b/tests/compute/rewriter-parameter-block-complex.hlsl index 18a37a6ef..a1fb4cd19 100644 --- a/tests/compute/rewriter-parameter-block-complex.hlsl +++ b/tests/compute/rewriter-parameter-block-complex.hlsl @@ -1,6 +1,4 @@ -//TEST(compute):HLSL_COMPUTE:-xslang -no-checking //TEST(compute):COMPARE_COMPUTE:-xslang -use-ir -//TEST(compute):HLSL_COMPUTE:-xslang -no-checking -xslang -use-ir //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):dxbinding(0),glbinding(0),out diff --git a/tests/compute/rewriter-parameter-block-complex.hlsl.1.expected.txt b/tests/compute/rewriter-parameter-block-complex.hlsl.1.expected.txt deleted file mode 100644 index 883f72716..000000000 --- a/tests/compute/rewriter-parameter-block-complex.hlsl.1.expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -1110 -1121 -1132 -1143 diff --git a/tests/compute/rewriter-parameter-block-complex.hlsl.2.expected.txt b/tests/compute/rewriter-parameter-block-complex.hlsl.2.expected.txt deleted file mode 100644 index 883f72716..000000000 --- a/tests/compute/rewriter-parameter-block-complex.hlsl.2.expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -1110 -1121 -1132 -1143 diff --git a/tests/compute/rewriter-parameter-block.hlsl b/tests/compute/rewriter-parameter-block.hlsl index 0a6f5d52e..ebf1e6994 100644 --- a/tests/compute/rewriter-parameter-block.hlsl +++ b/tests/compute/rewriter-parameter-block.hlsl @@ -1,6 +1,4 @@ -//TEST(compute):HLSL_COMPUTE:-xslang -no-checking //TEST(compute):COMPARE_COMPUTE:-xslang -use-ir -//TEST(compute):HLSL_COMPUTE:-xslang -no-checking -xslang -use-ir //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):dxbinding(0),glbinding(0),out diff --git a/tests/compute/rewriter-parameter-block.hlsl.1.expected.txt b/tests/compute/rewriter-parameter-block.hlsl.1.expected.txt deleted file mode 100644 index 479b9e0da..000000000 --- a/tests/compute/rewriter-parameter-block.hlsl.1.expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -11110 -11121 -11132 -11143 diff --git a/tests/compute/rewriter-parameter-block.hlsl.2.expected.txt b/tests/compute/rewriter-parameter-block.hlsl.2.expected.txt deleted file mode 100644 index 479b9e0da..000000000 --- a/tests/compute/rewriter-parameter-block.hlsl.2.expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -11110 -11121 -11132 -11143 diff --git a/tests/compute/rewriter-types.hlsl b/tests/compute/rewriter-types.hlsl deleted file mode 100644 index 01da92997..000000000 --- a/tests/compute/rewriter-types.hlsl +++ /dev/null @@ -1,34 +0,0 @@ -//TEST(compute):HLSL_COMPUTE:-xslang -no-checking -xslang -use-ir - -//TEST_INPUT:cbuffer(data=[16]):dxbinding(0),glbinding(0) -//TEST_INPUT:cbuffer(data=[256]):dxbinding(1),glbinding(1) -//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):dxbinding(0),glbinding(0),out -//TEST_INPUT:ubuffer(data=[0 1 2 3], stride=4):dxbinding(1),glbinding(1) - -// Test the case of user code with that uses the "rewriter" mode -// (`-no-checking` flag) and that uses a type declared in -// imported code (that will compile via IR). Also test -// the case where such a type requires legalization. - -import rewriter_types; - -RWStructuredBuffer<int> outputBuffer : register(u0); - -cbuffer C -{ - MyHelper myHelper; -} - -cbuffer D -{ - Other other; -} - -[numthreads(4, 1, 1)] -void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) -{ - uint tid = dispatchThreadID.x; - int inVal = tid; - int outVal = test(inVal, myHelper, other); - outputBuffer[tid] = outVal; -}
\ No newline at end of file diff --git a/tests/compute/rewriter-types.hlsl.expected.txt b/tests/compute/rewriter-types.hlsl.expected.txt deleted file mode 100644 index b68ea4a4f..000000000 --- a/tests/compute/rewriter-types.hlsl.expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -110 -112 -114 -116 diff --git a/tests/compute/rewriter-types.slang b/tests/compute/rewriter-types.slang deleted file mode 100644 index a627b7891..000000000 --- a/tests/compute/rewriter-types.slang +++ /dev/null @@ -1,17 +0,0 @@ -//TEST_IGNORE_FILE: - -struct MyHelper -{ - int val; - RWStructuredBuffer<int> buf; -}; - -struct Other -{ - int val; -}; - -int test(int inVal, MyHelper helper, Other other) -{ - return inVal + helper.val + helper.buf[inVal] + other.val; -} diff --git a/tests/compute/rewriter-use-ir-type.hlsl b/tests/compute/rewriter-use-ir-type.hlsl deleted file mode 100644 index 8d388addf..000000000 --- a/tests/compute/rewriter-use-ir-type.hlsl +++ /dev/null @@ -1,24 +0,0 @@ -//TEST(compute):HLSL_COMPUTE:-xslang -no-checking -xslang -use-ir - -//TEST_INPUT:cbuffer(data=[1 2 3 4 16 32 48 64]):dxbinding(0),glbinding(0) -//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):dxbinding(0),glbinding(0),out - -import rewriter_use_ir_type; - -RWStructuredBuffer<int> outputBuffer : register(u0); - -cbuffer C : register(b0) -{ - Helper helper; -} - -[numthreads(4, 1, 1)] -void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) -{ - uint tid = dispatchThreadID.x; - int inVal = tid; - - int outVal = helper.a[inVal]; - - outputBuffer[tid] = outVal; -}
\ No newline at end of file diff --git a/tests/compute/rewriter-use-ir-type.hlsl.expected.txt b/tests/compute/rewriter-use-ir-type.hlsl.expected.txt deleted file mode 100644 index 94ebaf900..000000000 --- a/tests/compute/rewriter-use-ir-type.hlsl.expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -1 -2 -3 -4 diff --git a/tests/compute/rewriter-use-ir-type.slang b/tests/compute/rewriter-use-ir-type.slang deleted file mode 100644 index 8870f000f..000000000 --- a/tests/compute/rewriter-use-ir-type.slang +++ /dev/null @@ -1,6 +0,0 @@ -//TEST_IGNORE_FILE: - -struct Helper -{ - int4 a; -};
\ No newline at end of file diff --git a/tests/compute/rewriter.hlsl b/tests/compute/rewriter.hlsl deleted file mode 100644 index 35a630c62..000000000 --- a/tests/compute/rewriter.hlsl +++ /dev/null @@ -1,19 +0,0 @@ -//TEST(compute):HLSL_COMPUTE:-xslang -no-checking -xslang -use-ir -//TEST_INPUT:ubuffer(data=[0 1 2 3], stride=4):dxbinding(0),glbinding(0),out - -// Test that we can use Slang libraries that require IR cross-compilation -// (e.g., libraries that use generics) while writing the main code in -// vanilla HLSL/GLSL without checking enabled. - -import rewriter; - -RWStructuredBuffer<int> outputBuffer : register(u0); - -[numthreads(4, 1, 1)] -void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) -{ - uint tid = dispatchThreadID.x; - int inVal = outputBuffer[tid]; - int outVal = test(inVal); - outputBuffer[tid] = outVal; -}
\ No newline at end of file diff --git a/tests/compute/rewriter.hlsl.expected.txt b/tests/compute/rewriter.hlsl.expected.txt deleted file mode 100644 index a0d427709..000000000 --- a/tests/compute/rewriter.hlsl.expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -10 -11 -12 -13 diff --git a/tests/compute/rewriter.slang b/tests/compute/rewriter.slang deleted file mode 100644 index 2895dfaca..000000000 --- a/tests/compute/rewriter.slang +++ /dev/null @@ -1,30 +0,0 @@ -//TEST_IGNORE_FILE: - -// This file is a "library" used by the `rewriter.hlsl` test. -// It intentionally uses Slang features that can't be supported -// by naive source-to-source translation. - -interface IHelper -{ - int help(int inVal); -} - -struct MyHelper : IHelper -{ - int help(int inVal) - { - return 16 + inVal; - } -}; - -__generic<H : IHelper> -int doTest(H helper, int inVal) -{ - return helper.help(inVal); -} - -int test(int inVal) -{ - MyHelper helper; - return doTest<MyHelper>(helper, inVal); -} |
