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 开始提供)支持使用 D3D11_MAP_WRITE_NO_OVERWRITE 映射动态常量缓冲区和着色器资源视图 (SRV ) 动态缓冲区。 Direct3D 11 及更早版本的运行时限制到顶点或索引缓冲区的映射。 若要确定 Direct3D 设备是否支持这些功能,请使用 D3D11_FEATURE_D3D11_OPTIONS 调用 ID3D11Device::CheckFeatureSupport。 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 设置此标志以指示使用 2D 纹理 从解码器 API 接收输出。 为解码器输出创建资源的常用方法是调用 ID3D11Device::CreateTexture2D 方法来创建 2D 纹理数组。 但是,不能在调用 ID3D11Device::CreateShaderResourceView 时使用此标志创建的纹理数组。 Direct3D 11: 在 Direct3D 11.1 之前不支持此值。 |
D3D11_BIND_VIDEO_ENCODER 值: 0x400L 设置此标志以指示使用 2D 纹理 接收来自视频编码器 API 的输入。 为视频编码器创建资源的常用方法是调用 ID3D11Device::CreateTexture2D 方法来创建 2D 纹理数组。 但是,不能在调用 ID3D11Device::CreateShaderResourceView 时使用此标志创建的纹理数组。 Direct3D 11: 在 Direct3D 11.1 之前不支持此值。 |
备注
通常,绑定标志可以使用按位 OR (组合,但常量缓冲区标志) 除外;但是,应使用单个标志来允许设备优化资源使用情况。
此枚举由以下项使用:
- 创建缓冲区时的缓冲区说明。
- 创建纹理时 (纹理说明请参阅 D3D11_TEXTURE1D_DESC 或 D3D11_TEXTURE2D_DESC 或 D3D11_TEXTURE3D_DESC) 。
注意 Direct3D 11.1 运行时(从 Windows 8 开始提供)支持使用 D3D11_MAP_WRITE_NO_OVERWRITE 映射动态常量缓冲区和着色器资源视图 (SRV ) 动态缓冲区。 Direct3D 11 及更早版本的运行时限制到顶点或索引缓冲区的映射。 若要确定 Direct3D 设备是否支持这些功能,请使用 D3D11_FEATURE_D3D11_OPTIONS 调用 ID3D11Device::CheckFeatureSupport。 CheckFeatureSupport 使用设备的功能填充 D3D11_FEATURE_DATA_D3D11_OPTIONS 结构的成员。 此处的相关成员是 MapNoOverwriteOnDynamicConstantBuffer 和 MapNoOverwriteOnDynamicBufferSRV。
要求
标头 | d3d11.h |