Files
Juliet/Romeo/docs/Juliet_src_Graphics_D3D12_D3D12Common.md
T

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 D3D12StagingDescriptorPool
  • struct 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)