diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2021-09-10 16:31:26 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-10 13:31:26 -0700 |
| commit | 27ce5eb0de9f792f3e433bcb239c07d79371cf45 (patch) | |
| tree | bb85155ceafd280a3931432141fc1cc1dae20959 /tools/slang-test/slang-test-main.cpp | |
| parent | 28adf8917e53953dbfebd746410a427a55eed814 (diff) | |
First Slang LLVM integration (#1934)
* #include an absolute path didn't work - because paths were taken to always be relative.
* First integration with 'slang-llvm'.
* Fix project.
* Fix test output.
* First pass assert support.
* Add inline impls for min and max.
* Add abs inline abs impl for llvm.
* Make abs not use ternary op
* Fix typo in slang-llvm.h
* Sundary fixes to make remaining tests using llvm backend pass.
Diffstat (limited to 'tools/slang-test/slang-test-main.cpp')
| -rw-r--r-- | tools/slang-test/slang-test-main.cpp | 46 |
1 files changed, 20 insertions, 26 deletions
diff --git a/tools/slang-test/slang-test-main.cpp b/tools/slang-test/slang-test-main.cpp index f477faf57..18ac05477 100644 --- a/tools/slang-test/slang-test-main.cpp +++ b/tools/slang-test/slang-test-main.cpp @@ -3430,46 +3430,40 @@ SlangResult innerMain(int argc, char** argv) // An un-categorized test will always belong to the `full` category categorySet.defaultCategory = fullTestCategory; - TestCategory* fxcCategory = nullptr; - TestCategory* dxcCategory = nullptr; - TestCategory* glslangCategory = nullptr; - TestCategory* nvrtcCategory = nullptr; + // All following values are initialized to '0', so null. + TestCategory* passThroughCategories[SLANG_PASS_THROUGH_COUNT_OF] = { nullptr }; // Work out what backends/pass-thrus are available { SlangSession* session = context.getSession(); + StdWriters::getOut().print("Supported backends:"); + for (int i = 0; i < SLANG_PASS_THROUGH_COUNT_OF; ++i) { - SlangPassThrough passThru = SlangPassThrough(i); + const SlangPassThrough passThru = SlangPassThrough(i); + if (passThru == SLANG_PASS_THROUGH_NONE) + { + continue; + } if (SLANG_SUCCEEDED(spSessionCheckPassThroughSupport(session, passThru))) { context.availableBackendFlags |= PassThroughFlags(1) << int(i); + + StringBuilder buf; + + auto name = TypeTextUtil::getPassThroughName(passThru); + + buf << " " << name; + + SLANG_ASSERT(passThroughCategories[i] == nullptr); + passThroughCategories[i] = categorySet.add(buf.getBuffer() + 1, fullTestCategory); + + StdWriters::getOut().write(buf.getBuffer(), buf.getLength()); } } - StdWriters::getOut().print("Supported backends:"); - if (context.availableBackendFlags & PassThroughFlag::Fxc) - { - StdWriters::getOut().print(" fxc"); - fxcCategory = categorySet.add("fxc", fullTestCategory); - } - if (context.availableBackendFlags & PassThroughFlag::Glslang) - { - StdWriters::getOut().print(" glslang"); - glslangCategory = categorySet.add("glslang", fullTestCategory); - } - if (context.availableBackendFlags & PassThroughFlag::Dxc) - { - StdWriters::getOut().print(" dxc"); - dxcCategory = categorySet.add("dxc", fullTestCategory); - } - if (context.availableBackendFlags & PassThroughFlag::NVRTC) - { - StdWriters::getOut().print(" nvrtc"); - nvrtcCategory = categorySet.add("nvrtc", fullTestCategory); - } StdWriters::getOut().print("\n"); } |
