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 个 UAV。 |
D3D_SHADER_REQUIRES_MINIMUM_PRECISION | 着色器要求图形驱动程序和硬件支持最低精度。 有关详细信息,请参阅 使用 HLSL 最小精度。 |
D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS | 着色器要求图形驱动程序和硬件支持扩展双精度指令。 有关详细信息,请参阅 D3D11_FEATURE_DATA_D3D11_OPTIONS 的 ExtendedDoublesShaderInstructions 成员。 |
D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS | 着色器要求图形驱动程序和硬件支持着色器中的 msad4 内部函数。 有关详细信息,请参阅 D3D11_FEATURE_DATA_D3D11_OPTIONS 的 SAD4ShaderInstructions 成员。 |
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 |
标头 | d3d11shader.h |
Library | D3DCompiler_47.lib |
DLL | D3DCompiler_47.dll |