10Level9 ID3D11Device Methods

This page lists the differences between each 10Level9 feature level and the D3D_FEATURE_LEVEL_11_0 and higher feature level for the following ID3D11Device methods.

ID3D11Device::CheckCounter

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported on any 9.* feature level.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CheckFormatSupport

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1See format support by feature level
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CheckMultisampleQualityLevels

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Feature levels make no guarantees concerning MSAA support.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateBlendState

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1

AlphaToCoverageEnable must be FALSE.

The first four BlendEnables must all have the same value.

D3D11_BLEND_SRC_ALPHASAT not supported.

Dual-source color blend not supported (any SrcBlend or DestBlend with SRC1 in the name)

D3D_FEATURE_LEVEL_9_2

AlphaToCoverageEnable must be FALSE.

The first four BlendEnables must all have the same value.

The first four RenderTargetWriteMasks must all have the same value.

D3D11_BLEND_SRC_ALPHASAT not supported.

Dual-source color blend not supported (any SrcBlend or DestBlend with SRC1 in the name)

D3D_FEATURE_LEVEL_9_3

AlphaToCoverageEnable must be FALSE.

The first four BlendEnables must all have the same value.

D3D11_BLEND_SRC_ALPHASAT not supported.

Dual-source color blend not supported (any SrcBlend or DestBlend with SRC1 in the name)

D3D_FEATURE_LEVEL_10_0Adds alpha-to-coverage

 

ID3D11Device::CreateBuffer

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1

Buffers can't have render target views.

Buffers must have exactly one of D3D11_BIND_VERTEX_BUFFER, D3D11_BIND_INDEX_BUFFER, or D3D11_BIND_CONSTANT_BUFFER.

Only allows index buffers with the DXGI_FORMAT_R16_UINT format.

D3D_FEATURE_LEVEL_9_2

Buffers can't have render target views.

Buffers must have exactly one of D3D11_BIND_VERTEX_BUFFER, D3D11_BIND_INDEX_BUFFER, or D3D11_BIND_CONSTANT_BUFFER.

Allows index buffers with the DXGI_FORMAT_R16_UINT and DXGI_FORMAT_R32_UINT formats like D3D_FEATURE_LEVEL_10_0 and higher.

D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateCounter

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported on any 9.* feature level.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateDepthStencilView

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Does not support two-sided stencil.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateDomainShader

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported on any 9.* or 10.* feature level.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3
D3D_FEATURE_LEVEL_10_0
D3D_FEATURE_LEVEL_10_1

 

ID3D11Device::CreateGeometryShader

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported on any 9.* feature level.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateGeometryShaderWithStreamOutput

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported on any 9.* feature level.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateHullShader

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported on any 9.* or 10.* feature level.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3
D3D_FEATURE_LEVEL_10_0
D3D_FEATURE_LEVEL_10_1

 

ID3D11Device::CreateInputLayout

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Does not support D3D11_INPUT_PER_INSTANCE_DATA
D3D_FEATURE_LEVEL_9_2Does not support D3D11_INPUT_PER_INSTANCE_DATA
D3D_FEATURE_LEVEL_9_3Vertex stream zero must have D3D11_INPUT_PER_VERTEX_DATA, if any streams have D3D11_INPUT_PER_VERTEX_DATA

 

See the format support by feature level chart for details on what formats can be used for vertex data at each feature level.

ID3D11Device::CreatePixelShader

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Must use ps_4_0_level_9_1
D3D_FEATURE_LEVEL_9_2Must use ps_4_0_level_9_1
D3D_FEATURE_LEVEL_9_3Must use ps_4_0_level_9_3 or ps_4_0_level_9_1

 

ID3D11Device::CreatePredicate

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported on any 9.* feature level.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateQuery

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Only event queries are supported
D3D_FEATURE_LEVEL_9_2Event and occlusion queries are supported
D3D_FEATURE_LEVEL_9_3Event and occlusion queries are supported

 

ID3D11Device::CreateRasterizerState

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1DepthClipEnable must be TRUE. DepthBiasClamp must be set to 0.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateRenderTargetView

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Can only support render target views of Texture2D objects.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateSamplerState

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1

Comparison filter is not supported.

Border color must be within [0,1]

Min LOD cannot be fractional

Max LOD must be FLT_MAX

Maximum anisotropy is 2.

D3D11_TEXTURE_ADDRESS_MIRRORONCE not supported.

D3D_FEATURE_LEVEL_9_2

Comparison filter is not supported.

Border color must be within [0,1]

Min LOD cannot be fractional

Max LOD must be FLT_MAX

Maximum anisotropy is 16.

D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateShaderResourceView

Feature LevelMostDetailedMip plus MipLevels must include lowest LOD (smallest subresourceView must include all resource array elements
D3D_FEATURE_LEVEL_9_1Yesyes
D3D_FEATURE_LEVEL_9_2YesYes
D3D_FEATURE_LEVEL_9_3YesYes

 

ID3D11Device::CreateTexture1D

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported on any 9.* feature level.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateTexture2D

Texture2D resources have limits on their width and height that differ across feature levels. In feature levels 9_3, the following are guaranteed minima, and individual implementations may exceed the requirements.

Feature LevelIf MipCount > 1, Dimensions must be integral power of twoMinimum supported texture dimension Cube textures dimensions must be power of two If MISC_TEXTURECUBE is set, the ArraySize is: If MISC_TEXTURECUBE is not set, the ArraySize is.
D3D_FEATURE_LEVEL_9_1Yes2048Yes61
D3D_FEATURE_LEVEL_9_2Yes2048Yes61
D3D_FEATURE_LEVEL_9_3Yes4096Yes61

 

In the previous table, the full name of MISC_TEXTURECUBE is D3D11_RESOURCE_MISC_TEXTURECUBE.

The following are true for all 9_* feature levels:

  • When using D3D11_USAGE_DEFAULT or D3D11_USAGE_IMMUTABLE, BindFlags cannot be zero.
  • When using D3D11_BIND_DEPTH_STENCIL, MipLevels must be 1.
  • When using D3D11_BIND_SHADER_RESOURCE, SampleDesc.Count must be 1.
  • When using D3D11_BIND_PRESENT, resource cannot have D3D11_BIND_SHADER_RESOURCE.
  • When using D3D10_DDI_RESOURCE_MISC_SHARED, Format cannot be DXGI_FORMAT_R8G8B8A8_UNORM or DXGI_FORMAT_R8G8B8A8_UNORM_SRGB.

ID3D11Device::CreateTexture3D

Feature LevelMaximum Dimension (any axis)Dimensions must be power of two
D3D_FEATURE_LEVEL_9_1256Yes
D3D_FEATURE_LEVEL_9_2512Yes
D3D_FEATURE_LEVEL_9_3512Yes

 

If resource is D3D11_USAGE_DEFAULT or D3D11_USAGE_IMMUTABLE, BindFlags cannot be zero.

ID3D11Device::CreateUnorderedAccessView

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported on any 9.* feature level.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11Device::CreateVertexShader

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Must use vs_4_0_level_9_1
D3D_FEATURE_LEVEL_9_2Must use vs_4_0_level_9_1
D3D_FEATURE_LEVEL_9_3Must use vs_4_0_level_9_3 or vs_4_0_level_9_1

 

ID3D11Device::OpenSharedResource

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1

Use ID3D11Device::CheckFeatureSupport with the D3D11_FEATURE_FORMAT_SUPPORT2 value and the D3D11_FEATURE_DATA_FORMAT_SUPPORT2 structure to determine if a format can be shared. If the format can be shared, CheckFeatureSupport returns the D3D11_FORMAT_SUPPORT2_SHAREABLE flag.

Note  DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UNORM_SRGB are never shareable when using feature level 9, even if the device indicates optional feature support for D3D11_FORMAT_SUPPORT_SHAREABLE. Attempting to create shared resources with DXGI formats DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UNORM_SRGB will always fail unless the feature level is 10_0 or higher.

D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

Related topics

10Level9 Reference

 

 

Community Additions

ADD
Show:
© 2014 Microsoft