10Level9 ID3D11DeviceContext Methods
This section lists the differences between each 10Level9 feature level and the D3D_FEATURE_LEVEL_11_0 and higher feature level for the ID3D11DeviceContext methods.
- ID3D11DeviceContext::CopySubresourceRegion
- ID3D11DeviceContext::CopyResource
- ID3D11DeviceContext::CopyStructureCount
- ID3D11DeviceContext::ClearUnorderedAccessViewFloat
- ID3D11DeviceContext::ClearUnorderedAccessViewUint
- ID3D11DeviceContext::ClearRenderTargetView
- ID3D11DeviceContext::CSSetConstantBuffers
- ID3D11DeviceContext::CSSetSamplers
- ID3D11DeviceContext::CSSetShader
- ID3D11DeviceContext::CSSetShaderResources
- ID3D11DeviceContext::CSSetUnorderedAccessViews
- ID3D11DeviceContext::Dispatch
- ID3D11DeviceContext::DispatchIndirect
- ID3D11DeviceContext::Draw
- ID3D11DeviceContext::DrawAuto
- ID3D11DeviceContext::DrawIndexed
- ID3D11DeviceContext::DrawIndexedInstanced
- ID3D11DeviceContext::DrawIndexedInstancedIndirect
- ID3D11DeviceContext::DrawInstanced
- ID3D11DeviceContext::DrawInstancedIndirect
- ID3D11DeviceContext::DSSetConstantBuffers
- ID3D11DeviceContext::DSSetSamplers
- ID3D11DeviceContext::DSSetShader
- ID3D11DeviceContext::DSSetShaderResources
- ID3D11DeviceContext::GSSetConstantBuffers
- ID3D11DeviceContext::GSSetSamplers
- ID3D11DeviceContext::GSSetShader
- ID3D11DeviceContext::GSSetShaderResources
- ID3D11DeviceContext::HSSetConstantBuffers
- ID3D11DeviceContext::HSSetSamplers
- ID3D11DeviceContext::HSSetShader
- ID3D11DeviceContext::HSSetShaderResources
- ID3D11DeviceContext::IASetIndexBuffer
- ID3D11DeviceContext::IASetPrimitiveTopology
- ID3D11DeviceContext::OMSetBlendState
- ID3D11DeviceContext::OMSetRenderTargets
- ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews
- ID3D11DeviceContext::PSSetConstantBuffers
- ID3D11DeviceContext::PSSetSamplers
- ID3D11DeviceContext::PSSetShader
- ID3D11DeviceContext::PSSetShaderResources
- ID3D11DeviceContext::RSSetScissorRects
- ID3D11DeviceContext::RSSetViewports
- ID3D11DeviceContext::SetPredication
- ID3D11DeviceContext::SOSetTargets
- ID3D11DeviceContext::VSSetConstantBuffers
- ID3D11DeviceContext::VSSetSamplers
- ID3D11DeviceContext::VSSetShader
- ID3D11DeviceContext::VSSetShaderResources
- Related topics
ID3D11DeviceContext::CopySubresourceRegion
| Feature Level | Behavior 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 Level | Behavior 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::ClearUnorderedAccessViewFloat
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::ClearUnorderedAccessViewUint
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::ClearRenderTargetView
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Only 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::CSSetSamplers
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::CSSetShader
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::CSSetShaderResources
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::CSSetUnorderedAccessViews
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::Dispatch
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::DispatchIndirect
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::Draw
| Feature Level | Behavior 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::DrawIndexed
| Feature Level | Behavior 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::DrawInstancedIndirect
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::GSSetSamplers
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::GSSetShader
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::GSSetShaderResources
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::HSSetConstantBuffers
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not 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 Level | Behavior 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Primitive topologies with adjacency are not supported |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::OMSetBlendState
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | SampleMask cannot be zero |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::OMSetRenderTargets
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Only one render target supported |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 | Only four render targets supported, and all bound resources must have same bit depth. |
ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::PSSetConstantBuffers
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | See 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | No more than 16 samplers can be bound |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::PSSetShader
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Only ps_4_0_level_9_1 |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 | Only ps_4_0_level_9_3 or ps_4_0_level_9_1 |
ID3D11DeviceContext::PSSetShaderResources
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | No more than 8 simultaneously bound shader resources |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::RSSetScissorRects
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Only the zeroth scissor rect is available |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::RSSetViewports
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Only 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::SOSetTargets
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::VSSetConstantBuffers
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | See 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 Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
ID3D11DeviceContext::VSSetShader
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Only vs_4_0_level_9_1 |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 | Only vs_4_0_level_9_3 or vs_4_0_level_9_1 |
ID3D11DeviceContext::VSSetShaderResources
| Feature Level | Behavior Differences |
|---|---|
| D3D_FEATURE_LEVEL_9_1 | Not supported on any 9.* feature level. |
| D3D_FEATURE_LEVEL_9_2 | |
| D3D_FEATURE_LEVEL_9_3 |
Related topics