Перечисление D3D11_BIND_FLAG (d3d11.h)
Определяет, как привязать ресурс к конвейеру.
Синтаксис
typedef enum D3D11_BIND_FLAG {
D3D11_BIND_VERTEX_BUFFER = 0x1L,
D3D11_BIND_INDEX_BUFFER = 0x2L,
D3D11_BIND_CONSTANT_BUFFER = 0x4L,
D3D11_BIND_SHADER_RESOURCE = 0x8L,
D3D11_BIND_STREAM_OUTPUT = 0x10L,
D3D11_BIND_RENDER_TARGET = 0x20L,
D3D11_BIND_DEPTH_STENCIL = 0x40L,
D3D11_BIND_UNORDERED_ACCESS = 0x80L,
D3D11_BIND_DECODER = 0x200L,
D3D11_BIND_VIDEO_ENCODER = 0x400L
} ;
Константы
D3D11_BIND_VERTEX_BUFFER Значение: 0x1L Привяжите буфер в качестве буфера вершин к этапу входного ассемблер. |
D3D11_BIND_INDEX_BUFFER Значение: 0x2L Привяжите буфер в качестве буфера индекса к этапу входного ассемблер. |
D3D11_BIND_CONSTANT_BUFFER Значение: 0x4L Привязка буфера в качестве буфера констант к этапу шейдера; этот флаг НЕ может быть объединен с любым другим флагом привязки. |
D3D11_BIND_SHADER_RESOURCE Значение: 0x8L Привязка буфера или текстуры к этапу шейдера; Этот флаг нельзя использовать с флагом D3D11_MAP_WRITE_NO_OVERWRITE . Примечание Среда выполнения Direct3D 11.1, доступная начиная с Windows 8, позволяет сопоставлять динамические буферы констант и представления ресурсов шейдера (SRV) динамических буферов с D3D11_MAP_WRITE_NO_OVERWRITE. Среда выполнения Direct3D 11 и более ранних версий ограничена сопоставлением с буферами вершин или индексов. Чтобы определить, поддерживает ли устройство Direct3D эти функции, вызовите ID3D11Device::CheckFeatureSupport с D3D11_FEATURE_D3D11_OPTIONS. Функция CheckFeatureSupport заполняет элементы структуры D3D11_FEATURE_DATA_D3D11_OPTIONS функциями устройства. Соответствующими элементами здесь являются MapNoOverwriteOnDynamicConstantBuffer и MapNoOverwriteOnDynamicBufferSRV. |
D3D11_BIND_STREAM_OUTPUT Значение: 0x10L Привяжите выходной буфер для этапа потокового вывода. |
D3D11_BIND_RENDER_TARGET Значение: 0x20L Привяжите текстуру в качестве целевого объекта отрисовки для этапа слияния выходных данных. |
D3D11_BIND_DEPTH_STENCIL Значение: 0x40L Привяжите текстуру в качестве целевого набора элементов глубины для этапа слияния и вывода. |
D3D11_BIND_UNORDERED_ACCESS Значение: 0x80L Привязка ресурса неупорядоченного доступа . |
D3D11_BIND_DECODER Значение: 0x200L Установите этот флаг, чтобы указать, что двухмерная текстура используется для получения выходных данных из API декодера. Распространенный способ создания ресурсов для выходных данных декодера — вызов метода ID3D11Device::CreateTexture2D для создания массива двухмерных текстур. Однако нельзя использовать массивы текстур, созданные с этим флагом, в вызовах ID3D11Device::CreateShaderResourceView. Direct3D 11: Это значение не поддерживается до версии Direct3D 11.1. |
D3D11_BIND_VIDEO_ENCODER Значение: 0x400L Установите этот флаг, чтобы указать, что двухмерная текстура используется для получения входных данных из API кодировщика видео. Распространенный способ создания ресурсов для кодировщика видео — вызов метода ID3D11Device::CreateTexture2D для создания массива двухмерных текстур. Однако нельзя использовать массивы текстур, созданные с этим флагом, в вызовах ID3D11Device::CreateShaderResourceView. Direct3D 11: Это значение не поддерживается до версии Direct3D 11.1. |
Комментарии
Как правило, флаги привязки можно объединять с помощью побитового ИЛИ (за исключением флага буфера констант); Однако следует использовать один флаг, чтобы позволить устройству оптимизировать использование ресурсов.
Это перечисление используется:
- Описание буфера при создании буфера.
- Описание текстуры при создании текстуры (см. раздел D3D11_TEXTURE1D_DESC, D3D11_TEXTURE2D_DESC или D3D11_TEXTURE3D_DESC).
Примечание Среда выполнения Direct3D 11.1, доступная начиная с Windows 8, позволяет сопоставлять динамические буферы констант и представления ресурсов шейдера (SRV) динамических буферов с D3D11_MAP_WRITE_NO_OVERWRITE. Среда выполнения Direct3D 11 и более ранних версий ограничена сопоставлением с буферами вершин или индексов. Чтобы определить, поддерживает ли устройство Direct3D эти функции, вызовите ID3D11Device::CheckFeatureSupport с D3D11_FEATURE_D3D11_OPTIONS. Функция CheckFeatureSupport заполняет элементы структуры D3D11_FEATURE_DATA_D3D11_OPTIONS функциями устройства. Соответствующими элементами здесь являются MapNoOverwriteOnDynamicConstantBuffer и MapNoOverwriteOnDynamicBufferSRV.
Требования
Верхняя часть | d3d11.h |