Addded Romeo that generates some doc. WIP.

This commit is contained in:
2026-07-18 18:58:29 -04:00
parent 446670bd29
commit 0c583b58da
120 changed files with 6167 additions and 18 deletions
@@ -0,0 +1,30 @@
# Juliet\src\Graphics\D3D12\D3D12DescriptorHeap
## Source Files
- Header: `Juliet\src\Graphics\D3D12\D3D12DescriptorHeap.h`
- Source: `Juliet\src\Graphics\D3D12\D3D12DescriptorHeap.cpp`
## AI Description
This C++ component manages DirectX 12 descriptor heaps for efficient GPU resource binding. It provides structures and functions to create pools of reusable descriptor stacks, handle allocation from free lists or creation via the driver, and release resources back to memory while tracking usage indices. The design includes internal arena management and type-specific initialization flags like shader visibility to optimize performance in gaming contexts within a larger framework architecture.
## Symbols
### Namespace `Juliet::D3D12::Internal`
#### Classes, Structs & Unions
- `struct D3D12DescriptorHeap`
- `struct D3D12Descriptor`
- `struct D3D12DescriptorHeapPool`
#### Functions & Methods
- `extern void CreateDescriptorHeapPool(NonNullPtr<D3D12Driver> driver, D3D12DescriptorHeapPool& heapPool,
D3D12_DESCRIPTOR_HEAP_TYPE type, uint32 count)`
- `extern void DestroyDescriptorHeapPool(D3D12DescriptorHeapPool& pool)`
- `extern D3D12DescriptorHeap* CreateDescriptorHeap(NonNullPtr<D3D12Driver> driver, NonNullPtr<Arena> arena,
D3D12_DESCRIPTOR_HEAP_TYPE type, uint32 count, bool isStaging)`
- `extern void DestroyDescriptorHeap(NonNullPtr<D3D12DescriptorHeap> heap)`
- `extern D3D12DescriptorHeap* AcquireSamplerHeapFromPool(NonNullPtr<D3D12Driver> d3d12Driver)`
- `extern void ReturnSamplerHeapToPool(NonNullPtr<D3D12Driver> d3d12Driver, NonNullPtr<D3D12DescriptorHeap> heap)`
- `extern bool AssignDescriptor(D3D12DescriptorHeap* heap, D3D12Descriptor& outDescriptor)`
- `extern void ReleaseDescriptor(const D3D12Descriptor& descriptor)`