Перечисление D3D12_DESCRIPTOR_RANGE_FLAGS (d3d12.h)

Указывает волатильность обоих дескрипторов и данных, на которые они ссылаются в описании корневой сигнатуры 1.1, что может обеспечить оптимизацию некоторых драйверов.

Синтаксис

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
} ;

Константы

 
D3D12_DESCRIPTOR_RANGE_FLAG_NONE
Значение: 0
Поведение по умолчанию. Дескрипторы являются статическими, и для данных по умолчанию выполняются предположения (для SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE и для UAV: DATA_VOLATILE).
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
Значение: 0x1
Если это единственный набор флагов, то дескрипторы являются переменными и по умолчанию делают предположения о данных (для SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE, а для UAV: DATA_VOLATILE).

Если этот флаг сочетается с DATA_VOLATILE, то дескрипторы и данные являются переменными, что эквивалентно корневой сигнатуре версии 1.0.

Если этот флаг сочетается с DATA_STATIC_WHILE_SET_AT_EXECUTE, то дескрипторы являются переменными. Это по-прежнему не позволяет им изменяться во время выполнения списка команд, поэтому допустимо объединить дополнительное объявление о том, что данные являются статическими при задании с помощью корневой таблицы дескрипторов во время выполнения. Базовые дескрипторы фактически статически дольше, чем данные обещают быть статическими.
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
Предоставляет те же преимущества, что и статические дескрипторы (см . D3D12_DESCRIPTOR_RANGE_FLAG_NONE), за исключением того, что драйверу не разрешено повышать уровень буферов до корневых дескрипторов в качестве оптимизации, так как они должны поддерживать проверки границ, а у корневых дескрипторов их нет.

Комментарии

Это перечисление используется структурой D3D12_DESCRIPTOR_RANGE1 .

Чтобы указать волатильность только для данных, на которые ссылаются дескрипторы, обратитесь к D3D12_ROOT_DESCRIPTOR_FLAGS.

Требования

   
Верхняя часть d3d12.h

См. также раздел

Основные перечисления

Корневая подпись версии 1.1