HlslSourceCompatibilityTests now reads shaders/CultMath.hlsl, applies only the documented transformations (drop include guards, drop Texture2D/ SamplerState functions, file-scope static const -> const, f literal suffixes, wrap in a class), and compiles it with Roslyn against CultMath. Any compile error fails the test (probed with an undeclared call). The compiled cultmath_snoise(float3/float2) also matches math.snoise. dxc -T lib_6_3 -HV 2021 rejected the mirror: cultmath_snoise(float2) called the undeclared cultmath_simplex_mod289/permute. Renamed to the declared cultmath_snoise_* helpers. Vector const locals became plain locals (C# const is primitives only), and cultmath_step uses value >= edge like HLSL step and the C# mirror. dxc 1.9.0.5402 now compiles the file cleanly. The Unity package's Shaders copy is synced. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
21 lines
666 B
XML
21 lines
666 B
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
<IsPackable>false</IsPackable>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="5.3.0" />
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
|
|
<PackageReference Include="xunit.v3" Version="3.2.0" />
|
|
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\src\CultMath\CultMath.csproj" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|