Addded Romeo that generates some doc. WIP.
This commit is contained in:
@@ -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)`
|
||||
|
||||
Reference in New Issue
Block a user