feat: implement descriptor heap with thread-safe allocation

D3D12 Resources:
- Add descriptor_handle struct with CPU/GPU handles
- Add descriptor_heap class for descriptor management
- Implement allocate() and free() methods
- Add mutex for thread-safe access
- Support all D3D12 descriptor heap types

D3D12 Core:
- Add device() function to expose main device
- Add release() template function for COM objects

Documentation:
- Add changelog for descriptor heap implementation
- Update D3D12 Wiki with descriptor heap section
- Mark descriptor heap task as completed
This commit is contained in:
SpecialX
2026-03-30 14:03:16 +08:00
parent f1584ec3c6
commit 54916b0ac6
10 changed files with 495 additions and 13 deletions

View File

@@ -29,6 +29,7 @@
<ClInclude Include="Graphics\Direct3D12\D3D12Core.h" />
<ClInclude Include="Graphics\Direct3D12\D3D12Interface.h" />
<ClInclude Include="Graphics\GraphicsPlatformInterface.h" />
<ClInclude Include="Graphics\Direct3D12\D3D12Resources.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Components\Entity.cpp" />
@@ -44,5 +45,9 @@
<ClCompile Include="Graphics\Renderer.cpp" />
<ClCompile Include="Graphics\Direct3D12\D3D12Core.cpp" />
<ClCompile Include="Graphics\Direct3D12\D3D12Interface.cpp" />
<ClCompile Include="Graphics\Direct3D12\D3D12Resource.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Graphics\Direct3D12\D3D12Resources" />
</ItemGroup>
</Project>