Files
Juliet/Romeo/docs/Juliet_src_Graphics_D3D12_D3D12DescriptorHeap.md
T

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 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)