diff options
| author | Theresa Foley <tfoleyNV@users.noreply.github.com> | 2021-11-10 10:48:44 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-10 10:48:44 -0800 |
| commit | 95e82acc0b32c81a9c6ac39708d18a423d8c7b1e (patch) | |
| tree | 068ad53eafd6d4b15734af0ce51e219b1a51d1e2 /build | |
| parent | 4d4cd569ad7fcc88693c18f848603f18894e24be (diff) | |
Fix a bug with CUDA entry-point params (#2007)
Recent work that added support for translating DXR-style ray tracing shaders to work with OptiX seems to have accidentally applied its transformations even when compute shaders are translated for CUDA. As a result, compute entry points with `uniform` parameters at entry-point scope would be miscompiled to use OptiX calls that are not available for non-OptiX compiles.
This change fixes the relevant pass so that it correctly opts-out on compute entry points, and also unifies some pieces of code that were being shared between a few different IR passes but that had gotten copy-pasted for the OptiX case.
The fix has been confirmed by running relevant CUDA tests locally, but CUDA is still disabled in the default CI builds, so this change is not yet actively being tested to avoid further regression.
Diffstat (limited to 'build')
| -rw-r--r-- | build/visual-studio/slang/slang.vcxproj | 2 | ||||
| -rw-r--r-- | build/visual-studio/slang/slang.vcxproj.filters | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/build/visual-studio/slang/slang.vcxproj b/build/visual-studio/slang/slang.vcxproj index 6a7a3e54f..11a592307 100644 --- a/build/visual-studio/slang/slang.vcxproj +++ b/build/visual-studio/slang/slang.vcxproj @@ -349,6 +349,7 @@ IF EXIST ..\..\..\external\slang-binaries\bin\windows-aarch64\slang-glslang.dll\ <ClInclude Include="..\..\..\source\slang\slang-ir-constexpr.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-dce.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-dominators.h" />
+ <ClInclude Include="..\..\..\source\slang\slang-ir-entry-point-pass.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-entry-point-raw-ptr-params.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-entry-point-uniforms.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-explicit-global-context.h" />
@@ -480,6 +481,7 @@ IF EXIST ..\..\..\external\slang-binaries\bin\windows-aarch64\slang-glslang.dll\ <ClCompile Include="..\..\..\source\slang\slang-ir-dce.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-deduplicate.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-dominators.cpp" />
+ <ClCompile Include="..\..\..\source\slang\slang-ir-entry-point-pass.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-entry-point-raw-ptr-params.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-entry-point-uniforms.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-explicit-global-context.cpp" />
diff --git a/build/visual-studio/slang/slang.vcxproj.filters b/build/visual-studio/slang/slang.vcxproj.filters index ce37b9471..caea98ea9 100644 --- a/build/visual-studio/slang/slang.vcxproj.filters +++ b/build/visual-studio/slang/slang.vcxproj.filters @@ -144,6 +144,9 @@ <ClInclude Include="..\..\..\source\slang\slang-ir-dominators.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="..\..\..\source\slang\slang-ir-entry-point-pass.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
<ClInclude Include="..\..\..\source\slang\slang-ir-entry-point-raw-ptr-params.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -533,6 +536,9 @@ <ClCompile Include="..\..\..\source\slang\slang-ir-dominators.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\source\slang\slang-ir-entry-point-pass.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
<ClCompile Include="..\..\..\source\slang\slang-ir-entry-point-raw-ptr-params.cpp">
<Filter>Source Files</Filter>
</ClCompile>
|
