10Level9 ID3D11DeviceContext 方法
本部分列出了 ID3D11DeviceContext 方法的每个 10Level9 功能级别与D3D_FEATURE_LEVEL_11_0及更高功能级别之间的差异。
ID3D11DeviceContext::CopySubresourceRegion
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
在 GPU 可访问的内存中只能复制 Texture2D 和缓冲区。 无法将 Texture3D 从 GPU 可访问的内存复制到 CPU 可访问的内存。 任何仅具有 D3D10_BIND_SHADER_RESOURCE 的资源都不能从 GPU 可访问的内存复制到 CPU 可访问的内存。 无法复制误用的卷纹理。 ${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::CopyResource
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
在 GPU 可访问的内存中只能复制 Texture2D 和缓冲区。 无法将 Texture3D 从 GPU 可访问的内存复制到 CPU 可访问的内存。 任何仅具有 D3D10_BIND_SHADER_RESOURCE 的资源都不能从 GPU 可访问的内存复制到 CPU 可访问的内存。 ${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::CopyStructureCount
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::ClearUnorderedAccessViewFloat
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::ClearUnorderedAccessViewUint
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::ClearRenderTargetView
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
仅清除第一个数组切片。 应用程序应为每个人脸或数组切片创建呈现目标视图,然后单独清除每个视图。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::CSSetConstantBuffers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::CSSetSamplers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::CSSetShader
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::CSSetShaderResources
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::CSSetUnorderedAccessViews
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::D ispatch
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::D ispatchIndirect
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::Draw
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
基元数不能超过 65535。 纹理不能在一个基元上重复超过 128 次。
|
D3D_FEATURE_LEVEL_9_2 |
基元数不能超过 1048575。 纹理不能在一个基元上重复超过 2048 次。
|
D3D_FEATURE_LEVEL_9_3 |
基元数不能超过 1048575。 纹理不能在一个基元上重复超过 8192 次。
|
ID3D11DeviceContext::DrawAuto
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持任何 9.* 功能级别。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::DrawIndexed
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
基元数不能超过 65535。 纹理不能在一个基元上重复超过 128 次。 索引值不能超过 65534。 不支持索引点列表。
|
D3D_FEATURE_LEVEL_9_2 |
基元数不能超过 1048575。 纹理不能在一个基元上重复超过 2048 次。 索引值不能超过 1048575。 不支持索引点列表。
|
D3D_FEATURE_LEVEL_9_3 |
基元数不能超过 1048575。 纹理不能在一个基元上重复超过 8192 次。 索引值不能超过 1048575。 不支持索引点列表。
|
ID3D11DeviceContext::DrawIndexedInstanced
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
基元数不能超过 1048575。 纹理不能在一个基元上重复超过 8192 次。 索引值不能超过 1048575。
注意: 使用绑定到管道且不导入任何每个实例数据的顶点着色器调用 DrawIndexedInstanced 方法时,某些 Direct3D 9 图形硬件可能不会绘制任何内容。 具体而言,如果顶点着色器不使用任何每个实例的数据,则调用具有 1 个实例 的 DrawIndexedInstanced 不等效于调用 Draw。
|
ID3D11DeviceContext::D rawIndexedInstancedIndirect
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::DrawInstanced
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::D rawInstancedIndirect
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::D SSetConstantBuffers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::D SSetSamplers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::D SSetShader
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::D SSetShaderResources
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::GSSetConstantBuffers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::GSSetSamplers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::GSSetShader
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::GSSetShaderResources
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::HSSetConstantBuffers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::HSSetSamplers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::HSSetShader
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::HSSetShaderResources
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 或 10.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
D3D_FEATURE_LEVEL_10_0 |
|
D3D_FEATURE_LEVEL_10_1 |
|
ID3D11DeviceContext::IASetIndexBuffer
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
允许格式与创建缓冲区时指定的格式不同,但转换成本高昂。 仅允许使用DXGI_FORMAT_R16_UINT格式的索引缓冲区。
|
D3D_FEATURE_LEVEL_9_2 |
允许格式与创建缓冲区时指定的格式不同,但转换成本高昂。 允许使用DXGI_FORMAT_R16_UINT和DXGI_FORMAT_R32_UINT格式(如 D3D_FEATURE_LEVEL_10_0 和更高)的索引缓冲区。 ${REMOVE}$
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::IASetPrimitiveTopology
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
不支持具有相邻性的基元拓扑${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::OMSetBlendState
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
SampleMask 不能为 zero${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::OMSetRenderTargets
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
仅支持一个呈现目标${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
仅支持四个呈现目标,并且所有绑定资源必须具有相同的位深度。 |
ID3D11DeviceContext::OMSetRenderTargetsAndUnorderedAccessViews
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::P SSetConstantBuffers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
请参阅功能级别 10.0,但着色器使用的常量总数不能超过 32${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::P SSetSamplers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
绑定的采样器不能超过 16 个${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::P SSetShader
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
仅 ps_4_0_level_9_1${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
仅ps_4_0_level_9_3或ps_4_0_level_9_1 |
ID3D11DeviceContext::P SSetShaderResources
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
同时绑定着色器资源不超过 8 个${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
只有第 0 个剪刀 rect 可用${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
仅第 0 个视区可用${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
即使在调用 ID3D11DeviceContext::RSSetViewports 的功能级别9_x时,为 pViewports 数组的 D3D11_VIEWPORT 结构成员指定浮点值,RSSetViewports 内部也使用 DWORD。 由于此行为,当对视区使用负左上角时,对 功能级别的 RSSetViewports 的调用9_x失败。 发生此失败的原因是,9_x的 RSSetViewports 在没有验证的情况下将浮点值强制转换为无符号整数,从而导致整数溢出。
调用 ID3D11DeviceContext::RSSetViewports 以获取 功能级别 10_x和11_x,即使对视区使用负左上角也是如此。
ID3D11DeviceContext::SetPredication
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::SOSetTargets
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::VSSetConstantBuffers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
请参阅功能级别 10.0,但着色器使用的常量总数不能超过 255${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::VSSetSamplers
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
ID3D11DeviceContext::VSSetShader
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
仅 vs_4_0_level_9_1${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
仅vs_4_0_level_9_3或vs_4_0_level_9_1 |
ID3D11DeviceContext::VSSetShaderResources
功能级别 |
行为差异 |
D3D_FEATURE_LEVEL_9_1 |
任何 9.* 功能级别都不支持。${REMOVE}$
|
D3D_FEATURE_LEVEL_9_2 |
|
D3D_FEATURE_LEVEL_9_3 |
|
-
10Level9 参考