Поделиться через


Метод ID3D11ShaderReflection::GetRequiresFlags (d3d11shader.h)

Возвращает группу флагов, указывающих требования шейдера.

Синтаксис

UINT64 GetRequiresFlags();

Возвращаемое значение

Тип: UINT64

Значение типа , содержащее сочетание одного или нескольких флагов требований шейдера; каждый флаг указывает требование к шейдеру. Значение по умолчанию 0 означает, что требования отсутствуют.

Флаг требования шейдера Описание
D3D_SHADER_REQUIRES_DOUBLES Для шейдера требуется, чтобы графический драйвер и оборудование поддерживали двойной тип данных. Дополнительные сведения см. в разделе D3D11_FEATURE_DATA_DOUBLES.
D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL Для шейдера требуется ранний трафарет глубины.
D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE Для шейдера требуются неупорядоченные представления доступа (UAV) на каждом этапе конвейера.
D3D_SHADER_REQUIRES_64_UAVS Для шейдера требуется 64 БПЛА.
D3D_SHADER_REQUIRES_MINIMUM_PRECISION Для поддержки минимальной точности шейдеру требуется графический драйвер и оборудование. Дополнительные сведения см. в разделе Использование минимальной точности HLSL.
D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS Шейдер требует, чтобы графический драйвер и оборудование поддерживали расширенные инструкции double. Дополнительные сведения см. в элементе ExtendedDoublesShaderInstructionsD3D11_FEATURE_DATA_D3D11_OPTIONS.
D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS Шейдер требует, чтобы графический драйвер и оборудование поддерживали встроенную функцию msad4 в шейдерах. Дополнительные сведения см. в разделе ЭЛЕМЕНТ SAD4ShaderInstructionsD3D11_FEATURE_DATA_D3D11_OPTIONS.
D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING Шейдер требует, чтобы графический драйвер и оборудование поддерживали поддержку тени Direct3D 9. Дополнительные сведения см. в разделе D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT.
D3D_SHADER_REQUIRES_TILED_RESOURCES Шейдер требует, чтобы графический драйвер и оборудование поддерживали мозаичные ресурсы. Дополнительные сведения см. в разделе GetResourceTiling.

Комментарии

Вот как заголовок D3D11Shader.h определяет флаги требований шейдера:


#define D3D_SHADER_REQUIRES_DOUBLES                         0x00000001
#define D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL             0x00000002
#define D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE             0x00000004
#define D3D_SHADER_REQUIRES_64_UAVS                         0x00000008
#define D3D_SHADER_REQUIRES_MINIMUM_PRECISION               0x00000010
#define D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS          0x00000020
#define D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS          0x00000040
#define D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING    0x00000080

Требования

Требование Значение
Целевая платформа Windows
Header d3d11shader.h
Библиотека D3DCompiler_47.lib
DLL D3DCompiler_47.dll

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

ID3D11ShaderReflection