10Level9 ID3D11Device Methods
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 |