summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-09-25 09:35:34 -0700
committerTim Foley <tfoley@nvidia.com>2017-09-25 09:35:34 -0700
commit0aa440a22ab18bc4a9077fcf17966ed4949d684b (patch)
treebcc781497b36664cbebe10d91f888be674c82f8b
parent4ea0c261bb73433995951d332b1c0039eb3ee472 (diff)
Fixup: deal with hitting `.obj` size limits for VS
When using the lumped/"unity" build approach for Slang, the resulting `.obj` files run into number-of-sections limits in the VS linker. For now I'm using the `/bigobj` command-line flag to work around this for the `hello` example, just so I can be sure the lumped build still works, but longer term it seems like we need to just drop that approach anyway. The `render-test` application was switched to link against `slang.dll` since there is no reason to have multiple apps use the lumped approach.
-rw-r--r--examples/hello/hello.vcxproj4
-rw-r--r--tools/render-test/render-test.vcxproj5
-rw-r--r--tools/render-test/slang-support.cpp11
3 files changed, 10 insertions, 10 deletions
diff --git a/examples/hello/hello.vcxproj b/examples/hello/hello.vcxproj
index 365d74164..635cf985a 100644
--- a/examples/hello/hello.vcxproj
+++ b/examples/hello/hello.vcxproj
@@ -96,6 +96,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -109,6 +110,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -124,6 +126,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -141,6 +144,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
diff --git a/tools/render-test/render-test.vcxproj b/tools/render-test/render-test.vcxproj
index dfe610681..94af429e8 100644
--- a/tools/render-test/render-test.vcxproj
+++ b/tools/render-test/render-test.vcxproj
@@ -164,6 +164,11 @@
<ClInclude Include="slang-support.h" />
<ClInclude Include="window.h" />
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\source\slang\slang.vcxproj">
+ <Project>{db00da62-0533-4afd-b59f-a67d5b3a0808}</Project>
+ </ProjectReference>
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
diff --git a/tools/render-test/slang-support.cpp b/tools/render-test/slang-support.cpp
index d87f693eb..dbddd9c4f 100644
--- a/tools/render-test/slang-support.cpp
+++ b/tools/render-test/slang-support.cpp
@@ -1,9 +1,8 @@
// slang-support.cpp
-#define SLANG_INCLUDE_IMPLEMENTATION
-
#include "slang-support.h"
+#include <assert.h>
#include <stdio.h>
namespace renderer_test {
@@ -133,11 +132,3 @@ ShaderCompiler* createSlangShaderCompiler(
} // renderer_test
-
-//
-// In order to actually use Slang in our application, we need to link in its
-// implementation. The easiest way to accomplish this is by directly inlcuding
-// the (concatenated) Slang source code into our app.
-//
-
-#include <slang.h>