Descriptor Heaps
A descriptor heap is a collection of contiguous allocations of descriptors, one allocation for every descriptor.
In this section
Topic | Description |
---|---|
Descriptor Heaps Overview |
Descriptor heaps contain many object types that are not part of a Pipeline State Object (PSO), such as Shader Resource Views (SRVs), Unordered Access Views (UAVs), Constant Buffer Views (CBVs), and Samplers. |
Hardware Tiers |
The levels of hardware from Tier 1 to Tier 3 have increasing resources available to the pipeline. |
Shader Visible Descriptor Heaps |
Shader visible descriptor heaps, are descriptor heaps that can be referenced by shaders through descriptor tables. |
Non Shader Visible Descriptor Heaps |
Some descriptor heaps cannot be referenced by shaders through descriptor tables, but exist either to assist the app in staging the descriptors prior to recording a command list or because no shader-visible heap is required. |
Creating Descriptor Heaps |
To create and configure a descriptor heap, you must select a descriptor heap type, determine how many descriptors it contains, and set flags that indicate whether it is CPU visible and/or shader visible. |
Setting and Populating Descriptor Heaps |
The descriptor heap types that can be set on a command list are those that contain descriptors for which descriptor tables can be used (at most one of each at a time). |
Descriptor Heap Configurability Summary |
The following table summarizes information about Shader and non-Shader visible heap support. |