10Level9 ID3D11Device 方法
本部分列出了 ID3D11Device 方法的每个 10Level9 功能级别与D3D_FEATURE_LEVEL_11_0及更高功能级别之间的差异。
- ID3D11Device::CheckCounter
- ID3D11Device::CheckFormatSupport
- ID3D11Device::CheckMultisampleQualityLevels
- ID3D11Device::CreateBlendState
- ID3D11Device::CreateBlendState1
- ID3D11Device::CreateBuffer
- ID3D11Device::CreateCounter
- ID3D11Device::CreateDepthStencilView
- ID3D11Device::CreateDomainShader
- ID3D11Device::CreateGeometryShader
- ID3D11Device::CreateGeometryShaderWithStreamOutput
- ID3D11Device::CreateHullShader
- ID3D11Device::CreateInputLayout
- ID3D11Device::CreatePixelShader
- ID3D11Device::CreatePredicate
- ID3D11Device::CreateQuery
- ID3D11Device::CreateRasterizerState
- ID3D11Device::CreateRenderTargetView
- ID3D11Device::CreateSamplerState
- ID3D11Device::CreateShaderResourceView
- ID3D11Device::CreateTexture1D
- ID3D11Device::CreateTexture2D
- ID3D11Device::CreateTexture3D
- ID3D11Device::CreateUnorderedAccessView
- ID3D11Device::CreateVertexShader
- ID3D11Device::OpenSharedResource
- 相关主题
ID3D11Device::CheckCounter
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 可以选择性地支持依赖于设备的计数器。 使用 ID3D11Device::CheckCounterInfo 确定支持。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CheckFormatSupport
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 请参阅 按功能级别提供的格式支持${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CheckMultisampleQualityLevels
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 功能级别不保证 MSAA 支持。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateBlendState
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | AlphaToCoverageEnable 必须为 FALSE。 前四个 BlendEnable 必须都具有相同的值。 不支持D3D11_BLEND_SRC_ALPHASAT。 不支持双源颜色混合 (名称中具有 SRC1 的任何 SrcBlend 或 DestBlend) |
D3D_FEATURE_LEVEL_9_2 | AlphaToCoverageEnable 必须为 FALSE。 前四个 BlendEnable 必须都具有相同的值。 前四个 RenderTargetWriteMask 必须都具有相同的值。 不支持D3D11_BLEND_SRC_ALPHASAT。 不支持双源颜色混合 (名称中具有 SRC1 的任何 SrcBlend 或 DestBlend) |
D3D_FEATURE_LEVEL_9_3 | AlphaToCoverageEnable 必须为 FALSE。 前四个 BlendEnable 必须都具有相同的值。 不支持D3D11_BLEND_SRC_ALPHASAT。 不支持双源颜色混合 (名称中具有 SRC1 的任何 SrcBlend 或 DestBlend) |
D3D_FEATURE_LEVEL_10_0 | 添加 alpha-to-coverage |
ID3D11Device::CreateBlendState1
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持 |
D3D_FEATURE_LEVEL_9_2 | 不支持 |
D3D_FEATURE_LEVEL_9_3 | 不支持 |
D3D_FEATURE_LEVEL_10_0 | OutputMergerLogicOp 成员已添加到 D3D11_FEATURE_DATA_D3D11_OPTIONS,若要确定对像素着色器输出和呈现目标内容之间的逻辑操作 (按位逻辑操作的支持,请参阅 D3D11_RENDER_TARGET_BLEND_DESC1) 。 |
ID3D11Device::CreateBuffer
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 缓冲区不能具有呈现目标视图。 缓冲区必须恰好具有D3D11_BIND_VERTEX_BUFFER、D3D11_BIND_INDEX_BUFFER或D3D11_BIND_CONSTANT_BUFFER之一。 仅允许使用DXGI_FORMAT_R16_UINT格式的索引缓冲区。 |
D3D_FEATURE_LEVEL_9_2 | 缓冲区不能具有呈现目标视图。 缓冲区必须恰好具有D3D11_BIND_VERTEX_BUFFER、D3D11_BIND_INDEX_BUFFER或D3D11_BIND_CONSTANT_BUFFER之一。 允许使用DXGI_FORMAT_R16_UINT和DXGI_FORMAT_R32_UINT格式(如 D3D_FEATURE_LEVEL_10_0 和更高格式)的索引缓冲区。 ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateCounter
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持任何 9.* 功能级别。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateDepthStencilView
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持双面模具。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateDomainShader
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持任何 9.* 或 10.* 功能级别。 ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 | |
D3D_FEATURE_LEVEL_10_0 | |
D3D_FEATURE_LEVEL_10_1 |
ID3D11Device::CreateGeometryShader
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持任何 9.* 功能级别。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateGeometryShaderWithStreamOutput
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持任何 9.* 功能级别。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateHullShader
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持任何 9.* 或 10.* 功能级别。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 | |
D3D_FEATURE_LEVEL_10_0 | |
D3D_FEATURE_LEVEL_10_1 |
ID3D11Device::CreateInputLayout
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持D3D11_INPUT_PER_INSTANCE_DATA |
D3D_FEATURE_LEVEL_9_2 | 不支持D3D11_INPUT_PER_INSTANCE_DATA |
D3D_FEATURE_LEVEL_9_3 | 如果任何流具有D3D11_INPUT_PER_VERTEX_DATA,顶点流 0 必须具有D3D11_INPUT_PER_VERTEX_DATA |
有关每个特征级别上可用于顶点数据的格式的详细信息,请参阅按 特征级别 提供的格式支持图表。
ID3D11Device::CreatePixelShader
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 必须使用 ps_4_0_level_9_1 |
D3D_FEATURE_LEVEL_9_2 | 必须使用 ps_4_0_level_9_1 |
D3D_FEATURE_LEVEL_9_3 | 必须使用 ps_4_0_level_9_3 或 ps_4_0_level_9_1 |
ID3D11Device::CreatePredicate
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持任何 9.* 功能级别。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateQuery
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 支持事件查询。 时间戳查询是可选的:调用 CreateQuery 以确定支持。 |
D3D_FEATURE_LEVEL_9_2 | 支持事件和封闭查询。 时间戳查询是可选的:调用 CreateQuery 以确定支持。 |
D3D_FEATURE_LEVEL_9_3 | 支持事件和封闭查询。 时间戳查询是可选的:调用 CreateQuery 以确定支持。 |
ID3D11Device::CreateRasterizerState
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | DepthClipEnable 必须为 TRUE。 DepthBiasClamp 必须设置为 0.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateRenderTargetView
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 只能支持 Texture2D 对象的呈现目标视图。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateSamplerState
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持比较筛选器。 边框颜色必须在 [0,1] 内 最小 LOD 不能为小数 必须FLT_MAX最大 LOD 最大各向异性为 2。 不支持D3D11_TEXTURE_ADDRESS_MIRRORONCE。 |
D3D_FEATURE_LEVEL_9_2 | 不支持比较筛选器。 边框颜色必须在 [0,1] 内 最小 LOD 不能为小数 必须FLT_MAX最大 LOD 最大各向异性为 16。 ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateShaderResourceView
功能级别 | MostDetailedMip 和 MipLevels 必须包含最低 LOD (最小的子资源 | 视图必须包含所有资源数组元素 |
---|---|---|
D3D_FEATURE_LEVEL_9_1 | 是 | 是 |
D3D_FEATURE_LEVEL_9_2 | 是 | 是 |
D3D_FEATURE_LEVEL_9_3 | 是 | 是 |
ID3D11Device::CreateTexture1D
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持任何 9.* 功能级别。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateTexture2D
Texture2D 资源的宽度和高度因 功能级别而异。 在功能级别 9_3 中,以下各项保证最低,单个实现可能超出要求。
功能级别 | 如果 MipCount > 1,则维度必须是 2 的整型幂 | 支持的最小纹理尺寸 | 立方体纹理尺寸必须为 2 的幂 | 如果设置了MISC_TEXTURECUBE,则 ArraySize 为: | 如果未设置MISC_TEXTURECUBE,则 ArraySize 为 。 |
---|---|---|---|---|---|
D3D_FEATURE_LEVEL_9_1 | 是 | 2048 | 是 | 6 | 1 |
D3D_FEATURE_LEVEL_9_2 | 是 | 2048 | 是 | 6 | 1 |
D3D_FEATURE_LEVEL_9_3 | 是 | 4096 | 是 | 6 | 1 |
在上表中,D3D11_RESOURCE_MISC_TEXTURECUBE MISC_TEXTURECUBE的全名。
对于所有 9_* 功能级别,都存在以下情况:
- 使用 D3D11_USAGE_DEFAULT 或 D3D11_USAGE_IMMUTABLE 时,BindFlags 不能为零。
- 使用 D3D11_BIND_DEPTH_STENCIL 时,MipLevels 必须为 1。
- 使用 D3D11_BIND_SHADER_RESOURCE 时,SampleDesc.Count 必须为 1。
- 使用 D3D11_BIND_PRESENT 时,资源不能具有D3D11_BIND_SHADER_RESOURCE。
- 使用 D3D10_DDI_RESOURCE_MISC_SHARED 时,不能DXGI_FORMAT_R8G8B8A8_UNORM或DXGI_FORMAT_R8G8B8A8_UNORM_SRGB格式。
ID3D11Device::CreateTexture3D
功能级别 | 任何轴) (最大维度 | 维度必须为 2 的幂 |
---|---|---|
D3D_FEATURE_LEVEL_9_1 | 256 | 是 |
D3D_FEATURE_LEVEL_9_2 | 512 | 是 |
D3D_FEATURE_LEVEL_9_3 | 512 | 是 |
如果资源D3D11_USAGE_DEFAULT或D3D11_USAGE_IMMUTABLE,则 BindFlags 不能为零。
ID3D11Device::CreateUnorderedAccessView
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 不支持任何 9.* 功能级别。${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateVertexShader
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 必须使用 vs_4_0_level_9_1 |
D3D_FEATURE_LEVEL_9_2 | 必须使用 vs_4_0_level_9_1 |
D3D_FEATURE_LEVEL_9_3 | 必须使用 vs_4_0_level_9_3 或 vs_4_0_level_9_1 |
ID3D11Device::OpenSharedResource
功能级别 | 行为差异 |
---|---|
D3D_FEATURE_LEVEL_9_1 | 将 ID3D11Device::CheckFeatureSupport 与 D3D11_FEATURE_FORMAT_SUPPORT2 值和 D3D11_FEATURE_DATA_FORMAT_SUPPORT2 结构一起使用,以确定是否可以共享格式。 如果可以共享格式, CheckFeatureSupport 将返回 D3D11_FORMAT_SUPPORT2_SHAREABLE 标志。 注意:使用功能级别 9 时,DXGI_FORMAT_R8G8B8A8_UNORM和DXGI_FORMAT_R8G8B8A8_UNORM_SRGB永远不可共享,即使设备指示对D3D11_FORMAT_SUPPORT_SHAREABLE的可选功能支持也是如此。 除非功能级别为 10_0 或更高,否则尝试使用 DXGI 格式 DXGI_FORMAT_R8G8B8A8_UNORM 和 DXGI_FORMAT_R8G8B8A8_UNORM_SRGB 创建共享资源将始终失败。 ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |