Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This section lists the differences between each 10Level9 feature level and the D3D_FEATURE_LEVEL_11_0 and higher feature level for the ID3D11Device methods.
- 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
- Related topics
ID3D11Device::CheckCounter
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Device-dependent counters are optionally supported. Use ID3D11Device::CheckCounterInfo to determine support.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CheckFormatSupport
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | See format support by feature level${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CheckMultisampleQualityLevels
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Feature levels make no guarantees concerning MSAA support.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateBlendState
Feature Level | Behavior 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_0 | Adds alpha-to-coverage |
ID3D11Device::CreateBlendState1
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Unsupported |
D3D_FEATURE_LEVEL_9_2 | Unsupported |
D3D_FEATURE_LEVEL_9_3 | Unsupported |
D3D_FEATURE_LEVEL_10_0 | The OutputMergerLogicOp member has been added to D3D11_FEATURE_DATA_D3D11_OPTIONS, to determine support for logical operations (bitwise logic operations between pixel shader output and render target contents, refer to D3D11_RENDER_TARGET_BLEND_DESC1). |
ID3D11Device::CreateBuffer
Feature Level | Behavior 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. ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateCounter
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateDepthStencilView
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Does not support two-sided stencil.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateDomainShader
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* or 10.* feature level. ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 | |
D3D_FEATURE_LEVEL_10_0 | |
D3D_FEATURE_LEVEL_10_1 |
ID3D11Device::CreateGeometryShader
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateGeometryShaderWithStreamOutput
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateHullShader
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* or 10.* feature level.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 | |
D3D_FEATURE_LEVEL_10_0 | |
D3D_FEATURE_LEVEL_10_1 |
ID3D11Device::CreateInputLayout
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Does not support D3D11_INPUT_PER_INSTANCE_DATA |
D3D_FEATURE_LEVEL_9_2 | Does not support D3D11_INPUT_PER_INSTANCE_DATA |
D3D_FEATURE_LEVEL_9_3 | Vertex 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 Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Must use ps_4_0_level_9_1 |
D3D_FEATURE_LEVEL_9_2 | Must use ps_4_0_level_9_1 |
D3D_FEATURE_LEVEL_9_3 | Must use ps_4_0_level_9_3 or ps_4_0_level_9_1 |
ID3D11Device::CreatePredicate
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateQuery
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Event queries are supported. Timestamp queries are optional: call CreateQuery to determine support. |
D3D_FEATURE_LEVEL_9_2 | Event and occlusion queries are supported. Timestamp queries are optional: call CreateQuery to determine support. |
D3D_FEATURE_LEVEL_9_3 | Event and occlusion queries are supported. Timestamp queries are optional: call CreateQuery to determine support. |
ID3D11Device::CreateRasterizerState
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | DepthClipEnable must be TRUE. DepthBiasClamp must be set to 0.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateRenderTargetView
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Can only support render target views of Texture2D objects.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateSamplerState
Feature Level | Behavior 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. ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateShaderResourceView
Feature Level | MostDetailedMip plus MipLevels must include lowest LOD (smallest subresource | View must include all resource array elements |
---|---|---|
D3D_FEATURE_LEVEL_9_1 | Yes | yes |
D3D_FEATURE_LEVEL_9_2 | Yes | Yes |
D3D_FEATURE_LEVEL_9_3 | Yes | Yes |
ID3D11Device::CreateTexture1D
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level.${REMOVE}$ |
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 Level | If MipCount > 1, Dimensions must be integral power of two | Minimum 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_1 | Yes | 2048 | Yes | 6 | 1 |
D3D_FEATURE_LEVEL_9_2 | Yes | 2048 | Yes | 6 | 1 |
D3D_FEATURE_LEVEL_9_3 | Yes | 4096 | Yes | 6 | 1 |
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 Level | Maximum Dimension (any axis) | Dimensions must be power of two |
---|---|---|
D3D_FEATURE_LEVEL_9_1 | 256 | Yes |
D3D_FEATURE_LEVEL_9_2 | 512 | Yes |
D3D_FEATURE_LEVEL_9_3 | 512 | Yes |
If resource is D3D11_USAGE_DEFAULT or D3D11_USAGE_IMMUTABLE, BindFlags cannot be zero.
ID3D11Device::CreateUnorderedAccessView
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level.${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |
ID3D11Device::CreateVertexShader
Feature Level | Behavior Differences |
---|---|
D3D_FEATURE_LEVEL_9_1 | Must use vs_4_0_level_9_1 |
D3D_FEATURE_LEVEL_9_2 | Must use vs_4_0_level_9_1 |
D3D_FEATURE_LEVEL_9_3 | Must use vs_4_0_level_9_3 or vs_4_0_level_9_1 |
ID3D11Device::OpenSharedResource
Feature Level | Behavior 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. ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |