D3D12_DESCRIPTOR_RANGE_FLAGS-Enumeration (d3d12.h)
Gibt die Volatilität der Deskriptoren und der Daten an, auf die sie in einer Root Signature 1.1-Beschreibung verweisen, wodurch einige Treiberoptimierungen aktiviert werden können.
Syntax
typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS {
D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000
} ;
Konstanten
D3D12_DESCRIPTOR_RANGE_FLAG_NONE Wert: 0 Standardverhalten. Deskriptoren sind statisch, und Standardannahmen werden für Daten erstellt (für SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE und für UAV: DATA_VOLATILE). |
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE Wert: 0x1 Wenn dies das einzige festgelegte Flag ist, sind Deskriptoren flüchtig, und es werden Standardannahmen zu Daten getroffen (für SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE und für UAV: DATA_VOLATILE). Wenn dieses Flag mit DATA_VOLATILE kombiniert wird, sind sowohl Deskriptoren als auch Daten flüchtig, was der Stammsignaturversion 1.0 entspricht. Wenn dieses Flag mit DATA_STATIC_WHILE_SET_AT_EXECUTE kombiniert wird, sind Deskriptoren volatil. Dadurch können sie sich während der Ausführung der Befehlsliste weiterhin nicht ändern, sodass es gültig ist, die zusätzliche Deklaration zu kombinieren, dass Die Daten während der Ausführung über die Stammdeskriptortabelle festgelegt sind. Die zugrunde liegenden Deskriptoren sind effektiv statisch, länger, als die Daten als statisch zugesagt werden. |
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE Wert: 0x2 Deskriptoren sind statisch, und die Daten sind volatil. |
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE Wert: 0x4 Deskriptoren sind statisch und Daten sind statisch, während sie beim Ausführen festgelegt sind. |
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC Wert: 0x8 Sowohl Deskriptoren als auch Daten sind statisch. Dadurch wird das Potenzial für die Treiberoptimierung maximiert. |
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS Wert: 0x10000 Bietet die gleichen Vorteile wie statische Deskriptoren (siehe D3D12_DESCRIPTOR_RANGE_FLAG_NONE), mit der Ausnahme, dass der Treiber Puffer nicht zu Stammdeskriptoren als Optimierung heraufstufen darf, da er Begrenzungsüberprüfungen beibehalten muss und Stammdeskriptoren nicht über diese verfügen. |
Hinweise
Diese Enumeration wird von der D3D12_DESCRIPTOR_RANGE1-Struktur verwendet.
Informationen zur Angabe der Volatilität nur der Daten, auf die von Deskriptoren verwiesen wird, finden Sie unter D3D12_ROOT_DESCRIPTOR_FLAGS.
Anforderungen
Kopfzeile | d3d12.h |