summaryrefslogtreecommitdiffstats
path: root/tools/render-test/render-test-main.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-03-25 14:08:21 -0400
committerGitHub <noreply@github.com>2020-03-25 14:08:21 -0400
commit28a0ca96a1ad2a3f0e09cc97b866f3b6338a09fa (patch)
tree271232cf6aa1917c23298d3dc1dc995ef65832f9 /tools/render-test/render-test-main.cpp
parent889132e7e3c79ae364fa3882646861e5b14df503 (diff)
Better diagnostics on failure on CUDA. (#1288)
* Better diagnostics on failure on CUDA. * Catch exceptions in render-test * * Added ability to disable reporting on CUDA failures * Stopped using exception for reporting (just write to StdWriter::out() * Removed CUDAResult type * Don't set arch type on nvrtc to see if fixes CI issues. * Try compute_30 on CUDA. * Added ability to IGNORE_ a test DIsabled rw-texture-simple and texture-get-dimensions * Disable tests that require CUDA SM7.0 Use DISABLE_ prefix to disable tests. * Disable signalUnexpectedError doing printf.
Diffstat (limited to 'tools/render-test/render-test-main.cpp')
-rw-r--r--tools/render-test/render-test-main.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/tools/render-test/render-test-main.cpp b/tools/render-test/render-test-main.cpp
index 4f5d1e9bb..ab041b5bc 100644
--- a/tools/render-test/render-test-main.cpp
+++ b/tools/render-test/render-test-main.cpp
@@ -406,7 +406,7 @@ Result RenderTestApp::update(Window* window)
} // namespace renderer_test
-SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSession* session, int argcIn, const char*const* argvIn)
+static SlangResult _innerMain(Slang::StdWriters* stdWriters, SlangSession* session, int argcIn, const char*const* argvIn)
{
using namespace renderer_test;
using namespace Slang;
@@ -694,6 +694,29 @@ SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSe
}
}
+SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSession* session, int argcIn, const char*const* argvIn)
+{
+ using namespace Slang;
+
+ SlangResult res = SLANG_FAIL;
+ try
+ {
+ res = _innerMain(stdWriters, session, argcIn, argvIn);
+ }
+ catch (const Slang::Exception& exception)
+ {
+ stdWriters->getOut().put(exception.Message.getUnownedSlice());
+ return SLANG_FAIL;
+ }
+ catch (...)
+ {
+ stdWriters->getOut().put(UnownedStringSlice::fromLiteral("Unhandled exception"));
+ return SLANG_FAIL;
+ }
+
+ return res;
+}
+
int main(int argc, char** argv)
{
using namespace Slang;