LLGL 0.05 Beta
Loading...
Searching...
No Matches
LLGL::ResourceHeapDescriptor Struct Reference

Resource heap descriptor structure. More...

#include <ResourceHeapFlags.h>

Public Member Functions

 ResourceHeapDescriptor ()=default
 ResourceHeapDescriptor (PipelineLayout *pipelineLayout, std::uint32_t numResourceViews=0)
 Initializes the resource heap descriptor with the specified pipeline layout and optional secondary parameters.

Public Attributes

const char * debugName = nullptr
 Optional name for debugging purposes. By default null.
PipelineLayout * pipelineLayout = nullptr
 Reference to the pipeline layout. This must not be null, when a resource heap is created.
std::uint32_t numResourceViews = 0
 Specifies the number of resource views.

Detailed Description

Resource heap descriptor structure.

Remarks
For the render systems of modern graphics APIs (i.e. Vulkan and Direct3D 12), a resource heap is the only way to bind hardware resources to a shader pipeline. The resource heap is a container for one or more resources such as textures, samplers, constant buffers etc.
See also
RenderSystem::CreateResourceHeap

Constructor & Destructor Documentation

◆ ResourceHeapDescriptor() [1/2]

LLGL::ResourceHeapDescriptor::ResourceHeapDescriptor ( )
default

◆ ResourceHeapDescriptor() [2/2]

LLGL::ResourceHeapDescriptor::ResourceHeapDescriptor ( PipelineLayout * pipelineLayout,
std::uint32_t numResourceViews = 0 )
inline

Initializes the resource heap descriptor with the specified pipeline layout and optional secondary parameters.

Member Data Documentation

◆ debugName

const char* LLGL::ResourceHeapDescriptor::debugName = nullptr

Optional name for debugging purposes. By default null.

Remarks
The final name of the native hardware resource is implementation defined.
See also
RenderSystemChild::SetDebugName

◆ numResourceViews

std::uint32_t LLGL::ResourceHeapDescriptor::numResourceViews = 0

Specifies the number of resource views.

Remarks
If the number of resource views is non-zero, it must a multiple of the heap-bindings in the pipeline layout.
If the number of resource views is zero, the number will be determined by the initial resource views and they must not be empty and they must be a multiple of the heap-bindings in the pipeline layout.
See also
PipelineLayoutDescriptor::heapBindings
RenderSystem::CreateResourceHeap

◆ pipelineLayout

PipelineLayout* LLGL::ResourceHeapDescriptor::pipelineLayout = nullptr

Reference to the pipeline layout. This must not be null, when a resource heap is created.


The documentation for this struct was generated from the following file: