структура D3D12_FEATURE_DATA_D3D12_OPTIONS (d3d12.h)
Описывает параметры функций Direct3D 12 в текущем графическом драйвере.
Синтаксис
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS {
BOOL DoublePrecisionFloatShaderOps;
BOOL OutputMergerLogicOp;
D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;
D3D12_TILED_RESOURCES_TIER TiledResourcesTier;
D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;
BOOL PSSpecifiedStencilRefSupported;
BOOL TypedUAVLoadAdditionalFormats;
BOOL ROVsSupported;
D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
UINT MaxGPUVirtualAddressBitsPerResource;
BOOL StandardSwizzle64KBSupported;
D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
BOOL CrossAdapterRowMajorTextureSupported;
BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
D3D12_RESOURCE_HEAP_TIER ResourceHeapTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS;
Члены
DoublePrecisionFloatShaderOps
Указывает, разрешены ли двойные типы для операций шейдера. Если задано значение TRUE, допускаются двойные типы; в противном случае — FALSE. Поддерживаемые операции эквивалентны члену ExtendedDoublesShaderInstructions Direct3D 11 структуры D3D11_FEATURE_DATA_D3D11_OPTIONS .
Чтобы использовать любой шейдер HLSL, скомпилированный с типом double , среда выполнения должна присвоить doublePrecisionFloatShaderOps значение TRUE.
OutputMergerLogicOp
Указывает, доступны ли логические операции в состоянии смешения. Среда выполнения задает этому члену значение TRUE , если логические операции доступны в состоянии смешения, и false в противном случае. Этот элемент имеет значение FALSE для уровней компонентов 9.1, 9.2 и 9.3. Этот член является необязательным для уровней компонентов 10, 10.1 и 11. Этот элемент имеет значение TRUE для уровней компонентов 11.1 и 12.
MinPrecisionSupport
Сочетание D3D12_SHADER_MIN_PRECISION_SUPPORT типизированных значений, объединенных с помощью побитовой операции ИЛИ. Полученное значение задает минимальные уровни точности, поддерживаемые драйвером для этапов шейдера. Нулевое значение указывает, что драйвер поддерживает только полную 32-разрядную точность для всех этапов шейдера.
TiledResourcesTier
Указывает, поддерживают ли оборудование и драйвер ресурсы с плитками. Среда выполнения задает этому члену D3D12_TILED_RESOURCES_TIER типизированное значение, указывающее, поддерживает ли оборудование и драйвер мозаичные ресурсы и на каком уровне.
ResourceBindingTier
Указывает уровень, на котором оборудование и драйвер поддерживают привязку ресурсов. Среда выполнения задает этому элементу D3D12_RESOURCE_BINDING_TIER типизированное значение, указывающее уровень уровня.
PSSpecifiedStencilRefSupported
Указывает, поддерживается ли ссылка на трафарет шейдера пикселей. Если задано значение TRUE, это поддерживается; в противном случае — FALSE.
TypedUAVLoadAdditionalFormats
Указывает, поддерживается ли загрузка дополнительных форматов для типизированных представлений без упорядоченного доступа (БЛА). Если задано значение TRUE, это поддерживается; в противном случае — FALSE.
ROVsSupported
Указывает, поддерживаются ли представления порядка растеризатора (ROV). Если задано значение TRUE, они поддерживаются; в противном случае — FALSE.
ConservativeRasterizationTier
Указывает уровень, на котором оборудование и драйвер поддерживают консервативную растеризацию. Среда выполнения задает этому члену D3D12_CONSERVATIVE_RASTERIZATION_TIER типизированное значение, указывающее уровень уровня.
MaxGPUVirtualAddressBitsPerResource
Не используйте это поле; Вместо этого используйте запрос D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT (структура с элементом MaxGPUVirtualAddressBitsPerResource ), который является более точным.
StandardSwizzle64KBSupported
Значение TRUE, если оборудование поддерживает текстуры со стандартным шаблоном поворота размером 64 КБ. Поддержка этого шаблона позволяет оптимизировать текстуру с нулевым копированием, обеспечивая при этом почти равностороннюю локализацию для каждого измерения в текстуре. Параметры и ограничения текстуры см. в разделе D3D12_TEXTURE_LAYOUT.
CrossNodeSharingTier
Константу перечисления D3D12_CROSS_NODE_SHARING_TIER , указывающую уровень совместного использования между узлами адаптера с несколькими узлами, такими как эмулированный уровень 1, уровень 1 или уровень 2.
CrossAdapterRowMajorTextureSupported
Значение FALSE означает, что устройство поддерживает операции копирования только в текстуры строк с перекрестным адаптером и из нее. Значение TRUE означает, что устройство поддерживает представления ресурсов шейдера, неупорядоченные представления доступа и отрисовки целевых представлений текстур с основными строками между адаптерами. "Кросс-адаптер" означает между несколькими адаптерами (даже из разных IHV).
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation
Поддерживаются ли индексы массива окна просмотра (VP) и целевого объекта отрисовки (RT) любого шейдера, подавающего растеризатор, без эмуляции геометрического шейдера. Сравните элемент VPAndRTArrayIndexFromAnyShaderFeedingRasterizer структуры D3D11_FEATURE_DATA_D3D11_OPTIONS3 . В ID3D12ShaderReflection::GetRequiresFlags см. #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER.
ResourceHeapTier
Указывает уровень, на котором оборудование и драйвер требуют присвоения кучи, связанного с типом ресурса. Среда выполнения задает этому элементу константу перечисления D3D12_RESOURCE_HEAP_TIER .
Комментарии
См . D3D12_FEATURE.
Требования
Требование | Значение |
---|---|
Заголовок | d3d12.h |