Skip to content

Commit 18786dd

Browse files
committed
fix: ship our spirv-cross.dll over Silk's bundled one (fixes stride3d#3289)
Silk.NET.SPIRV.Cross.Native's older build won the native file conflict in games, rejecting SpotLightData[] cbuffer packing (spot shadow crash on D3D).
1 parent 71f2427 commit 18786dd

4 files changed

Lines changed: 17 additions & 1 deletion

File tree

build/deps/spirv-cross/Stride.Dependencies.SpirvCross.nuspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
</metadata>
1111
<files>
1212
<file src="win-x64/spirv-cross.dll" target="runtimes/win-x64/native/" />
13+
<file src="buildTransitive/Stride.Dependencies.SpirvCross.targets" target="buildTransitive/" />
1314
<!-- Add more platforms as needed:
1415
<file src="linux-x64/libspirv-cross.so" target="runtimes/linux-x64/native/" />
1516
<file src="osx-arm64/libspirv-cross.dylib" target="runtimes/osx-arm64/native/" />
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<Project>
2+
<!-- This package replaces Silk.NET.SPIRV.Cross.Native's spirv-cross.dll with the Stride fork
3+
build (stride3d/SPIRV-Cross). Both packages ship runtimes/win-x64/native/spirv-cross.dll,
4+
and native file conflict resolution between them is not deterministic (neither DLL has a
5+
version resource). Strip Silk's native assets so the fork DLL is the only one deployed. -->
6+
<Target Name="_StrideDepsSpirvCrossStripSilkNative" AfterTargets="ResolvePackageAssets">
7+
<ItemGroup>
8+
<RuntimeCopyLocalItems Remove="@(RuntimeCopyLocalItems)" Condition="'%(RuntimeCopyLocalItems.NuGetPackageId)' == 'Silk.NET.SPIRV.Cross.Native'" />
9+
<NativeCopyLocalItems Remove="@(NativeCopyLocalItems)" Condition="'%(NativeCopyLocalItems.NuGetPackageId)' == 'Silk.NET.SPIRV.Cross.Native'" />
10+
<RuntimeTargetsCopyLocalItems Remove="@(RuntimeTargetsCopyLocalItems)" Condition="'%(RuntimeTargetsCopyLocalItems.NuGetPackageId)' == 'Silk.NET.SPIRV.Cross.Native'" />
11+
</ItemGroup>
12+
</Target>
13+
</Project>

sources/Directory.Packages.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
<PackageVersion Include="Xunit.SkippableFact" Version="1.5.23" />
124124
<PackageVersion Include="xunit.v3" Version="3.2.1" />
125125
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
126-
<PackageVersion Include="Stride.Dependencies.SpirvCross" Version="2026.4.26" />
126+
<PackageVersion Include="Stride.Dependencies.SpirvCross" Version="2026.7.26" />
127127
<PackageVersion Include="Stride.Dependencies.SPIRVTools" Version="2026.6.3" />
128128
<PackageVersion Include="Stride.Dependencies.Lavapipe" Version="2026.5.30" />
129129
<PackageVersion Include="Stride.Dependencies.LLVM.Windows" Version="2026.6.11" />

sources/shaders/Stride.Shaders.Tests/Stride.Shaders.Tests.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
<PackageReference Include="Silk.NET.Direct3D11" />
3434
<PackageReference Include="Silk.NET.Direct3D.Compilers" />
3535
<PackageReference Include="Silk.NET.SPIRV.Cross" />
36+
<!-- Native spirv-cross.dll comes from Stride.Dependencies.SpirvCross (via Stride.Shaders.Compilers), not Silk -->
37+
<PackageReference Include="Silk.NET.SPIRV.Cross.Native" ExcludeAssets="all" PrivateAssets="all" />
3638
<PackageReference Include="SixLabors.ImageSharp" />
3739
<PackageReference Include="xunit.runner.visualstudio" />
3840
<PackageReference Include="xunit.v3" />

0 commit comments

Comments
 (0)