Skip to content

Latest commit

 

History

History
97 lines (70 loc) · 4.78 KB

ne-d3d12-d3d12_descriptor_range_flags.md

File metadata and controls

97 lines (70 loc) · 4.78 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NE:d3d12.D3D12_DESCRIPTOR_RANGE_FLAGS
D3D12_DESCRIPTOR_RANGE_FLAGS (d3d12.h)
Specifies the volatility of both descriptors and the data they reference in a Root Signature 1.1 description, which can enable some driver optimizations.
D3D12_DESCRIPTOR_RANGE_FLAGS
D3D12_DESCRIPTOR_RANGE_FLAGS enumeration
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
D3D12_DESCRIPTOR_RANGE_FLAG_NONE
d3d12/D3D12_DESCRIPTOR_RANGE_FLAGS
d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_NONE
direct3d12.d3d12_descriptor_range_flags
direct3d12\d3d12_descriptor_range_flags.htm
direct3d12
B22DBE80-A0BE-40F9-ADC2-5AFB35DDDDE8
12/05/2018
D3D12_DESCRIPTOR_RANGE_FLAGS, D3D12_DESCRIPTOR_RANGE_FLAGS enumeration, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE, D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE, D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE, D3D12_DESCRIPTOR_RANGE_FLAG_NONE, d3d12/D3D12_DESCRIPTOR_RANGE_FLAGS, d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC, d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE, d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE, d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE, d3d12/D3D12_DESCRIPTOR_RANGE_FLAG_NONE, direct3d12.d3d12_descriptor_range_flags
d3d12.h
Windows
Windows
D3D12_DESCRIPTOR_RANGE_FLAGS
19H1
D3D12_DESCRIPTOR_RANGE_FLAGS
d3d12/D3D12_DESCRIPTOR_RANGE_FLAGS
c++
APIRef
kbSyntax
HeaderDef
d3d12.h
D3D12_DESCRIPTOR_RANGE_FLAGS

D3D12_DESCRIPTOR_RANGE_FLAGS enumeration

-description

Specifies the volatility of both descriptors and the data they reference in a Root Signature 1.1 description, which can enable some driver optimizations.

-enum-fields

-field D3D12_DESCRIPTOR_RANGE_FLAG_NONE:0

Default behavior. Descriptors are static, and default assumptions are made for data (for SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE, and for UAV: DATA_VOLATILE).

-field D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE:0x1

If this is the only flag set, then descriptors are volatile and default assumptions are made about data (for SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE, and for UAV: DATA_VOLATILE).

If this flag is combined with DATA_VOLATILE, then both descriptors and data are volatile, which is equivalent to Root Signature Version 1.0.

If this flag is combined with DATA_STATIC_WHILE_SET_AT_EXECUTE, then descriptors are volatile. This still doesn’t allow them to change during command list execution so it is valid to combine the additional declaration that data is static while set via root descriptor table during execution – the underlying descriptors are effectively static for longer than the data is being promised to be static.

-field D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE:0x2

Descriptors are static and the data is volatile.

-field D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE:0x4

Descriptors are static and data is static while set at execute.

-field D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC:0x8

Both descriptors and data are static. This maximizes the potential for driver optimization.

-field D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS:0x10000

Provides the same benefits as static descriptors (see D3D12_DESCRIPTOR_RANGE_FLAG_NONE), except that the driver is not allowed to promote buffers to root descriptors as an optimization, because they must maintain bounds checks and root descriptors do not have those.

-remarks

This enum is used by the D3D12_DESCRIPTOR_RANGE1 structure.

To specify the volatility of just the data referenced by descriptors, refer to D3D12_ROOT_DESCRIPTOR_FLAGS.

-see-also

Core Enumerations

Root Signature Version 1.1