forked from Misaki/GhostEngine
Major architectural update to graphics/material/shader system: - Introduced strongly-typed key structs (Key64/Key128) for passes, variants, and pipelines; removed legacy key types. - Implemented robust hashing and key generation utilities for efficient variant and pipeline lookup/caching. - Shader compiler now compiles/caches all keyword variants using new key system; includes handled as lists. - Switched to push constant root signature for per-draw data; updated HLSL and C# codegen accordingly. - Refactored Material, Shader, and Pass data structures for cache efficiency and variant support. - Pipeline library and PSO management now use 128-bit keys and variant-specific caching. - Replaced WorldNode with SceneNode in editor/scene graph; introduced ComponentManager for archetype/query management. - Migrated math utilities to Misaki.HighPerformance.Mathematics; updated editor controls. - Updated all HLSL and codegen for new buffer/push constant layouts and macros. - Misc: project reference cleanup, D3D12 Work Graph support, doc updates, and code modernization.
93 lines
3.9 KiB
XML
93 lines
3.9 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<OutputType>WinExe</OutputType>
|
|
<TargetFramework>net10.0-windows10.0.22621.0</TargetFramework>
|
|
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
|
<RootNamespace>Ghost.Graphics.Test</RootNamespace>
|
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
|
<Platforms>x86;x64;ARM64</Platforms>
|
|
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
|
|
<PublishProfile>win-$(Platform).pubxml</PublishProfile>
|
|
<UseWinUI>true</UseWinUI>
|
|
<EnableMsixTooling>true</EnableMsixTooling>
|
|
<Nullable>enable</Nullable>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<None Remove="Controls\DebugConsole.xaml" />
|
|
<None Remove="Windows\DebugOutputWindow.xaml" />
|
|
<None Remove="Windows\WorkGraphTestWindow.xaml" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Page Remove="UnitTestApp.xaml" />
|
|
<ApplicationDefinition Include="UnitTestApp.xaml" />
|
|
<ProjectCapability Include="TestContainer" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="Assets\SplashScreen.scale-200.png" />
|
|
<Content Include="Assets\LockScreenLogo.scale-200.png" />
|
|
<Content Include="Assets\Square150x150Logo.scale-200.png" />
|
|
<Content Include="Assets\Square44x44Logo.scale-200.png" />
|
|
<Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
|
<Content Include="Assets\StoreLogo.png" />
|
|
<Content Include="Assets\Wide310x150Logo.scale-200.png" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Manifest Include="$(ApplicationManifest)" />
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging
|
|
Tools extension to be activated for this project even if the Windows App SDK Nuget
|
|
package has not yet been restored.
|
|
-->
|
|
<ItemGroup Condition="'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
|
|
<ProjectCapability Include="Msix" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="Microsoft.TestPlatform.TestHost" Version="18.0.1" />
|
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.7175" />
|
|
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.8.251106002" />
|
|
<PackageReference Include="MSTest.TestAdapter" Version="4.0.2" />
|
|
<PackageReference Include="MSTest.TestFramework" Version="4.0.2" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Ghost.Engine\Ghost.Engine.csproj" />
|
|
<ProjectReference Include="..\Ghost.Test.Core\Ghost.Test.Core.csproj" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Update="Windows\WorkGraphTestWindow.xaml">
|
|
<Generator>MSBuild:Compile</Generator>
|
|
</Page>
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
Defining the "HasPackageAndPublishMenuAddedByProject" property here allows the Solution
|
|
Explorer "Package and Publish" context menu entry to be enabled for this project even if
|
|
the Windows App SDK Nuget package has not yet been restored.
|
|
-->
|
|
<PropertyGroup Condition="'$(DisableHasPackageAndPublishMenuAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
|
|
<HasPackageAndPublishMenu>true</HasPackageAndPublishMenu>
|
|
</PropertyGroup>
|
|
|
|
<!-- Publish Properties -->
|
|
<PropertyGroup>
|
|
<PublishReadyToRun Condition="'$(Configuration)' == 'Debug'">False</PublishReadyToRun>
|
|
<PublishReadyToRun Condition="'$(Configuration)' != 'Debug'">True</PublishReadyToRun>
|
|
<SupportedOSPlatformVersion>10.0.20348.0</SupportedOSPlatformVersion>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
|
|
<DebugType>embedded</DebugType>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
<DebugType>embedded</DebugType>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
|
<DebugType>embedded</DebugType>
|
|
</PropertyGroup>
|
|
</Project>
|