1.4 KiB
1.4 KiB
Juliet\src\Graphics\D3D12\D3D12Common
Source Files
- Header:
Juliet\src\Graphics\D3D12\D3D12Common.h - Source:
Juliet\src\Graphics\D3D12\D3D12Common.cpp
AI Description
The D3D12StagingDescriptorPool class in the provided C++ component is designed to manage a pool of staging descriptors for Direct3D 12. It uses an arena-based memory allocator to efficiently allocate and deallocate descriptor handles, ensuring that resources are managed efficiently without fragmentation. The pool supports creating new heaps as needed when the existing ones run out of free descriptors. This class is crucial for transferring data between CPU and GPU in a high-performance graphics application using Direct3D 12.
Symbols
Namespace Juliet::D3D12
Classes, Structs & Unions
struct D3D12StagingDescriptorPoolstruct D3D12StagingDescriptor
Namespace Juliet::D3D12::Internal
Functions & Methods
extern D3D12StagingDescriptorPool* CreateStagingDescriptorPool(NonNullPtr<D3D12Driver> driver, D3D12_DESCRIPTOR_HEAP_TYPE type)extern bool AssignStagingDescriptor(NonNullPtr<D3D12Driver> driver, D3D12_DESCRIPTOR_HEAP_TYPE type, D3D12StagingDescriptor& outDescriptor)extern void ReleaseStagingDescriptor(NonNullPtr<D3D12Driver> driver, D3D12StagingDescriptor& cpuDescriptor)extern void DestroyStagingDescriptorPool(NonNullPtr<D3D12StagingDescriptorPool> pool)