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