# Juliet\src\Graphics\D3D12\D3D12Common ## Source Files - Header: `Juliet\src\Graphics\D3D12\D3D12Common.h` - Source: `Juliet\src\Graphics\D3D12\D3D12Common.cpp` ## AI Description The `Juliet::D3D12` module manages DirectStorage 12 descriptor pools and CPU-side handle indexing. It provides thread-safe mechanisms for allocating, assigning, and releasing resource handles across different heap types (RTV, DSV, SRV) to optimize GPU memory access patterns within the Juliet graphics engine. ## Symbols ### Namespace `Juliet::D3D12` #### Classes, Structs & Unions - `struct D3D12StagingDescriptorPool` - `struct D3D12StagingDescriptor` ### Namespace `Juliet::D3D12::Internal` #### Functions & Methods - `extern D3D12StagingDescriptorPool* CreateStagingDescriptorPool(NonNullPtr driver, D3D12_DESCRIPTOR_HEAP_TYPE type)` - `extern bool AssignStagingDescriptor(NonNullPtr driver, D3D12_DESCRIPTOR_HEAP_TYPE type, D3D12StagingDescriptor& outDescriptor)` - `extern void ReleaseStagingDescriptor(NonNullPtr driver, D3D12StagingDescriptor& cpuDescriptor)` - `extern void DestroyStagingDescriptorPool(NonNullPtr pool)`