A descriptor heap is a collection of contiguous allocations of descriptors, one allocation for every descriptor.
In this section
|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.
||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.