1.8 KiB
1.8 KiB
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 is designed to manage descriptor heaps in a DirectX 12 graphics environment. It includes functions for creating, destroying, and managing descriptor heaps, including CPU and GPU heaps. The component uses an arena-based memory allocator to efficiently allocate and deallocate descriptors, ensuring that the heap management is both efficient and easy to use. The component also provides functions for acquiring and releasing sampler heaps from a pool, which helps in optimizing resource usage by reusing descriptor heaps.
Symbols
Namespace Juliet::D3D12::Internal
Classes, Structs & Unions
struct D3D12DescriptorHeapstruct D3D12Descriptorstruct 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)