Export (0) Print
Expand All

10Level9 ID3D11DeviceContext 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 ID3D11DeviceContext methods.

ID3D11DeviceContext::CopySubresourceRegion

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1

Only Texture2D and buffers may be copied within GPU-accessible memory.

Texture3D cannot be copied from GPU-accessible memory to CPU-accessible memory.

Any resource that has only D3D10_BIND_SHADER_RESOURCE cannot be copied from GPU-accessible memory to CPU-accessible memory.

You can't copy mipmapped volume textures.

D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::CopyResource

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1

Only Texture2D and buffers may be copied within GPU-accessible memory.

Texture3D cannot be copied from GPU-accessible memory to CPU-accessible memory.

Any resource that has only D3D10_BIND_SHADER_RESOURCE cannot be copied from GPU-accessible memory to CPU-accessible memory.

D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::CopyStructureCount

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

 

ID3D11DeviceContext::ClearUnorderedAccessViewFloat

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

 

ID3D11DeviceContext::ClearUnorderedAccessViewUint

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

 

ID3D11DeviceContext::ClearRenderTargetView

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Only the first array slice will be cleared. Applications should create a render target view for each face or array slice, then clear each view individually.
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::CSSetConstantBuffers

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

 

ID3D11DeviceContext::CSSetSamplers

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

 

ID3D11DeviceContext::CSSetShader

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

 

ID3D11DeviceContext::CSSetShaderResources

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

 

ID3D11DeviceContext::CSSetUnorderedAccessViews

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

 

ID3D11DeviceContext::Dispatch

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

 

ID3D11DeviceContext::DispatchIndirect

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

 

ID3D11DeviceContext::Draw

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1

Number of primitives may not exceed 65535.

Textures cannot repeat over one primitive more than 128 times.

D3D_FEATURE_LEVEL_9_2

Number of primitives may not exceed 1048575.

Textures cannot repeat over one primitive more than 2048 times.

D3D_FEATURE_LEVEL_9_3

Number of primitives may not exceed 1048575.

Textures cannot repeat over one primitive more than 8192 times.

 

ID3D11DeviceContext::DrawAuto

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

 

ID3D11DeviceContext::DrawIndexed

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1

Number of primitives may not exceed 65535.

Textures cannot repeat over one primitive more than 128 times.

Index values cannot exceed 65534.

Indexed point lists not supported.

D3D_FEATURE_LEVEL_9_2

Number of primitives may not exceed 1048575.

Textures cannot repeat over one primitive more than 2048 times.

Index values cannot exceed 1048575.

Indexed point lists not supported.

D3D_FEATURE_LEVEL_9_3

Number of primitives may not exceed 1048575.

Textures cannot repeat over one primitive more than 8192 times.

Index values cannot exceed 1048575.

Indexed point lists not supported.

 

ID3D11DeviceContext::DrawIndexedInstanced

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Not supported
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

Number of primitives may not exceed 1048575.

Textures cannot repeat over one primitive more than 8192 times.

Index values cannot exceed 1048575.

Note  When you call the DrawIndexedInstanced method with a vertex shader that is bound to the pipeline and that doesn't import any per-instance data, some Direct3D 9 graphics hardware might not draw anything. In particular, if the vertex shader does not use any per-instance data, calling DrawIndexedInstanced with 1 instance is not equivalent to calling Draw.

 

ID3D11DeviceContext::DrawIndexedInstancedIndirect

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

 

ID3D11DeviceContext::DrawInstanced

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

 

ID3D11DeviceContext::DrawInstancedIndirect

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

 

ID3D11DeviceContext::DSSetConstantBuffers

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

 

ID3D11DeviceContext::DSSetSamplers

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

 

ID3D11DeviceContext::DSSetShader

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

 

ID3D11DeviceContext::DSSetShaderResources

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

 

ID3D11DeviceContext::GSSetConstantBuffers

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

 

ID3D11DeviceContext::GSSetSamplers

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

 

ID3D11DeviceContext::GSSetShader

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

 

ID3D11DeviceContext::GSSetShaderResources

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

 

ID3D11DeviceContext::HSSetConstantBuffers

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

 

ID3D11DeviceContext::HSSetSamplers

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

 

ID3D11DeviceContext::HSSetShader

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

 

ID3D11DeviceContext::HSSetShaderResources

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

 

ID3D11DeviceContext::IASetIndexBuffer

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1

Format is allowed to be different from that specified at buffer creation, but an expensive translation will be incurred.

Only allows index buffers with the DXGI_FORMAT_R16_UINT format.

D3D_FEATURE_LEVEL_9_2

Format is allowed to be different from that specified at buffer creation, but an expensive translation will be incurred.

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

 

ID3D11DeviceContext::IASetPrimitiveTopology

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Primitive topologies with adjacency are not supported
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::OMSetBlendState

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1SampleMask cannot be zero
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::OMSetRenderTargets

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Only one render target supported
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3Only four render targets supported, and all bound resources must have same bit depth.

 

ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews

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

 

ID3D11DeviceContext::PSSetConstantBuffers

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1See feature level 10.0, but total number of constants used by shader cannot exceed 32
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::PSSetSamplers

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1No more than 16 samplers can be bound
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::PSSetShader

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Only ps_4_0_level_9_1
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3Only ps_4_0_level_9_3 or ps_4_0_level_9_1

 

ID3D11DeviceContext::PSSetShaderResources

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1No more than 8 simultaneously bound shader resources
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::RSSetScissorRects

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Only the zeroth scissor rect is available
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::RSSetViewports

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Only the zeroth viewport is available
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

Even though you specify float values to the members of the D3D11_VIEWPORT structure for the pViewports array in a call to ID3D11DeviceContext::RSSetViewports for feature levels 9_x, RSSetViewports uses DWORDs internally. Because of this behavior, when you use a negative top left corner for the viewport, the call to RSSetViewports for feature levels 9_x fails. This failure occurs because RSSetViewports for 9_x casts the floating point values into unsigned integers without validation, which results in integer overflow.

The call to ID3D11DeviceContext::RSSetViewports for feature levels 10_x and 11_x works as you expect even when you use a negative top left corner for the viewport.

ID3D11DeviceContext::SetPredication

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

 

ID3D11DeviceContext::SOSetTargets

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

 

ID3D11DeviceContext::VSSetConstantBuffers

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1See feature level 10.0, but total number of constants used by shader cannot exceed 255
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

 

ID3D11DeviceContext::VSSetSamplers

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

 

ID3D11DeviceContext::VSSetShader

Feature LevelBehavior Differences
D3D_FEATURE_LEVEL_9_1Only vs_4_0_level_9_1
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3Only vs_4_0_level_9_3 or vs_4_0_level_9_1

 

ID3D11DeviceContext::VSSetShaderResources

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

 

Related topics

10Level9 Reference

 

 

Community Additions

ADD
Show:
© 2014 Microsoft