From 0b808453407f8feef8574cae99afd90771712185 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Wed, 24 Aug 2022 13:09:07 -0400 Subject: Use enums with backing types in Slang API (#2375) * #include an absolute path didn't work - because paths were taken to always be relative. * Use enum types and specify backing rather than use typedefs so as to get enum type safety. * Add version of TextureFlavor that uses internal types. Co-authored-by: Yong He --- tools/slang-reflection-test/slang-reflection-test-main.cpp | 7 ++++--- tools/slang-test/slangc-tool.cpp | 3 ++- tools/test-server/test-server-main.cpp | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'tools') diff --git a/tools/slang-reflection-test/slang-reflection-test-main.cpp b/tools/slang-reflection-test/slang-reflection-test-main.cpp index 34fef404e..2aabf9ca2 100644 --- a/tools/slang-reflection-test/slang-reflection-test-main.cpp +++ b/tools/slang-reflection-test/slang-reflection-test-main.cpp @@ -318,7 +318,7 @@ static void emitReflectionVarBindingInfoJSON( for(uint32_t cc = 0; cc < categoryCount; ++cc ) { - auto category = var->getCategoryByIndex(cc); + auto category = SlangParameterCategory(var->getCategoryByIndex(cc)); auto index = var->getOffset(category); auto space = var->getBindingSpace(category); auto count = typeLayout->getSize(category); @@ -676,7 +676,7 @@ static void emitReflectionTypeInfoJSON( comma(writer); emitReflectionScalarTypeInfoJSON( writer, - type->getScalarType()); + SlangScalarType(type->getScalarType())); break; case slang::TypeReflection::Kind::Vector: @@ -1364,7 +1364,8 @@ SLANG_TEST_TOOL_API SlangResult innerMain(Slang::StdWriters* stdWriters, SlangSe SlangCompileRequest* request = spCreateCompileRequest(session); for (int i = 0; i < SLANG_WRITER_CHANNEL_COUNT_OF; ++i) { - spSetWriter(request, SlangWriterChannel(i), stdWriters->getWriter(i)); + const auto channel = SlangWriterChannel(i); + spSetWriter(request, channel, stdWriters->getWriter(channel)); } char const* appName = "slang-reflection-test"; diff --git a/tools/slang-test/slangc-tool.cpp b/tools/slang-test/slangc-tool.cpp index e538cde09..a62ea6975 100644 --- a/tools/slang-test/slangc-tool.cpp +++ b/tools/slang-test/slangc-tool.cpp @@ -38,7 +38,8 @@ SlangResult SlangCTool::innerMain(StdWriters* stdWriters, slang::IGlobalSession* // Do any app specific configuration for (int i = 0; i < SLANG_WRITER_CHANNEL_COUNT_OF; ++i) { - compileRequest->setWriter(SlangWriterChannel(i), stdWriters->getWriter(i)); + const auto channel = SlangWriterChannel(i); + compileRequest->setWriter(channel, stdWriters->getWriter(channel)); } compileRequest->setDiagnosticCallback(&_diagnosticCallback, nullptr); diff --git a/tools/test-server/test-server-main.cpp b/tools/test-server/test-server-main.cpp index b4eead664..77951d3d3 100644 --- a/tools/test-server/test-server-main.cpp +++ b/tools/test-server/test-server-main.cpp @@ -119,7 +119,8 @@ SlangResult innerMain(StdWriters* stdWriters, slang::IGlobalSession* sharedSessi // Do any app specific configuration for (int i = 0; i < SLANG_WRITER_CHANNEL_COUNT_OF; ++i) { - compileRequest->setWriter(SlangWriterChannel(i), stdWriters->getWriter(i)); + const auto channel = SlangWriterChannel(i); + compileRequest->setWriter(channel, stdWriters->getWriter(channel)); } compileRequest->setDiagnosticCallback(&_diagnosticCallback, stdWriters->getWriter(SLANG_WRITER_CHANNEL_STD_ERROR)); -- cgit v1.2.3