Share via


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

Weitere Informationen

Kernaufzählungen

Stammsignatur, Version 1.1