Перечисление 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 |