共用方式為


10Level9 ID3D11Device 方法

本節列出每個 10Level9 功能層級與 ID3D11Device 方法D3D_FEATURE_LEVEL_11_0和更高功能層級之間的差異。

ID3D11Device::CheckCounter

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 選擇性地支援裝置相依計數器。 使用 ID3D11Device::CheckCounterInfo 來判斷支援。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CheckFormatSupport

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 請參閱 功能層級${REMOVE}$ 的格式支援
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CheckMultisampleQualityLevels

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 功能層級不保證 MSAA 支援。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateBlendState

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 AlphaToCoverageEnable 必須為 FALSE
前四個 BlendEnables 必須具有相同的值。
不支援D3D11_BLEND_SRC_ALPHASAT。
名稱) 中不支援雙來源色彩混合 (任何 SrcBlend 或 DestBlend 與 SRC1
D3D_FEATURE_LEVEL_9_2 AlphaToCoverageEnable 必須為 FALSE
前四個 BlendEnables 必須具有相同的值。
前四個 RenderTargetWriteMasks 必須具有相同的值。
不支援D3D11_BLEND_SRC_ALPHASAT。
名稱) 中不支援雙來源色彩混合 (任何 SrcBlend 或 DestBlend 與 SRC1
D3D_FEATURE_LEVEL_9_3 AlphaToCoverageEnable 必須為 FALSE
前四個 BlendEnables 必須具有相同的值。
不支援D3D11_BLEND_SRC_ALPHASAT。
名稱) 中不支援雙來源色彩混合 (任何 SrcBlend 或 DestBlend 與 SRC1
D3D_FEATURE_LEVEL_10_0 新增 Alpha 到涵蓋範圍

ID3D11Device::CreateBlendState1

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援
D3D_FEATURE_LEVEL_9_2 不支援
D3D_FEATURE_LEVEL_9_3 不支援
D3D_FEATURE_LEVEL_10_0 OutputMergerLogicOp成員已新增至D3D11_FEATURE_DATA_D3D11_OPTIONS,若要判斷圖元著色器輸出與轉譯目標內容之間 (位邏輯作業的邏輯作業支援,請參閱D3D11_RENDER_TARGET_BLEND_DESC1) 。

ID3D11Device::CreateBuffer

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 緩衝區不能有轉譯目標檢視。
緩衝區必須只有其中一個D3D11_BIND_VERTEX_BUFFER、D3D11_BIND_INDEX_BUFFER或D3D11_BIND_CONSTANT_BUFFER。
只允許具有DXGI_FORMAT_R16_UINT格式的索引緩衝區。
D3D_FEATURE_LEVEL_9_2 緩衝區不能有轉譯目標檢視。
緩衝區必須只有其中一個D3D11_BIND_VERTEX_BUFFER、D3D11_BIND_INDEX_BUFFER或D3D11_BIND_CONSTANT_BUFFER。
允許具有DXGI_FORMAT_R16_UINT和DXGI_FORMAT_R32_UINT格式的索引緩衝區,例如D3D_FEATURE_LEVEL_10_0和更新版本。
${REMOVE}$
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateCounter

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援任何 9.* 功能層級。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateDepthStencilView

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援雙面樣板。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateDomainShader

功能層級 行為差異
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

ID3D11Device::CreateGeometryShader

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援任何 9.* 功能層級。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateGeometryShaderWithStreamOutput

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援任何 9.* 功能層級。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateHullShader

功能層級 行為差異
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

ID3D11Device::CreateInputLayout

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援D3D11_INPUT_PER_INSTANCE_DATA
D3D_FEATURE_LEVEL_9_2 不支援D3D11_INPUT_PER_INSTANCE_DATA
D3D_FEATURE_LEVEL_9_3 如果有任何資料流程有D3D11_INPUT_PER_VERTEX_DATA,頂點資料流程零必須有D3D11_INPUT_PER_VERTEX_DATA

如需每個功能層級的頂點資料可用格式的詳細資訊,請參閱 功能層級 支援的格式。

ID3D11Device::CreatePixelShader

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 必須使用 ps_4_0_level_9_1
D3D_FEATURE_LEVEL_9_2 必須使用 ps_4_0_level_9_1
D3D_FEATURE_LEVEL_9_3 必須使用ps_4_0_level_9_3或ps_4_0_level_9_1

ID3D11Device::CreatePredicate

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援任何 9.* 功能層級。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateQuery

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 支援事件查詢。 時間戳記查詢是選擇性的:呼叫 CreateQuery 以判斷支援。
D3D_FEATURE_LEVEL_9_2 支援事件和遮蔽查詢。 時間戳記查詢是選擇性的:呼叫 CreateQuery 以判斷支援。
D3D_FEATURE_LEVEL_9_3 支援事件和遮蔽查詢。 時間戳記查詢是選擇性的:呼叫 CreateQuery 以判斷支援。

ID3D11Device::CreateRasterizerState

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 DepthClipEnable 必須為 TRUE。 DepthBiasClamp 必須設定為 0.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateRenderTargetView

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 只能支援 Texture2D 物件的轉譯目標檢視。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateSamplerState

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援比較篩選準則。
框線色彩必須位於 [0,1] 內
最小 LOD 不可以是小數
最大 LOD 必須FLT_MAX
最大 anisotropy 為 2。
不支援D3D11_TEXTURE_ADDRESS_MIRRORONCE。
D3D_FEATURE_LEVEL_9_2 不支援比較篩選準則。
框線色彩必須位於 [0,1] 內
最小 LOD 不可以是小數
最大 LOD 必須FLT_MAX
最大不相等性為 16。
${REMOVE}$
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateShaderResourceView

功能層級 MostDetailedMip 加上 MipLevels 必須包含最低 LOD (最小子資源 檢視必須包含所有資源陣列元素
D3D_FEATURE_LEVEL_9_1
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateTexture1D

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援任何 9.* 功能層級。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateTexture2D

Texture2D 資源在其寬度和高度上具有不同 功能層級的限制。 在功能層級 9_3 中,以下保證是迷你,而個別實作可能超過需求。

功能層級 如果 MipCount > 1,維度必須是兩個整數的乘冪 最低支援的紋理維度 Cube 紋理維度必須是兩個的乘冪 如果已設定MISC_TEXTURECUBE,ArraySize 為: 如果未設定MISC_TEXTURECUBE,則 ArraySize 為 。
D3D_FEATURE_LEVEL_9_1 2048 Yes 6 1
D3D_FEATURE_LEVEL_9_2 2048 Yes 6 1
D3D_FEATURE_LEVEL_9_3 4096 Yes 6 1

在上表中, MISC_TEXTURECUBE 的完整名稱 是D3D11_RESOURCE_MISC_TEXTURECUBE

以下是所有 9_* 功能層級的 true:

  • 使用D3D11_USAGE_DEFAULT或D3D11_USAGE_IMMUTABLE時,BindFlags 不能是零。
  • 使用D3D11_BIND_DEPTH_STENCIL時,MipLevels 必須是 1。
  • 使用 D3D11_BIND_SHADER_RESOURCE 時,SampleDesc.Count 必須是 1。
  • 使用D3D11_BIND_PRESENT時,資源不能有D3D11_BIND_SHADER_RESOURCE。
  • 使用D3D10_DDI_RESOURCE_MISC_SHARED時,無法DXGI_FORMAT_R8G8B8A8_UNORM或DXGI_FORMAT_R8G8B8A8_UNORM_SRGB格式。

ID3D11Device::CreateTexture3D

功能層級 維度上限 (任何座標軸) 維度必須是兩個的乘冪
D3D_FEATURE_LEVEL_9_1 256 Yes
D3D_FEATURE_LEVEL_9_2 512
D3D_FEATURE_LEVEL_9_3 512

如果資源D3D11_USAGE_DEFAULT或D3D11_USAGE_IMMUTABLE,BindFlags 不能是零。

ID3D11Device::CreateUnorderedAccessView

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 不支援任何 9.* 功能層級。${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateVertexShader

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 必須使用 vs_4_0_level_9_1
D3D_FEATURE_LEVEL_9_2 必須使用 vs_4_0_level_9_1
D3D_FEATURE_LEVEL_9_3 必須使用vs_4_0_level_9_3或vs_4_0_level_9_1

ID3D11Device::OpenSharedResource

功能層級 行為差異
D3D_FEATURE_LEVEL_9_1 使用 ID3D11Device::CheckFeatureSupport 搭配 D3D11_FEATURE_FORMAT_SUPPORT2 值和 D3D11_FEATURE_DATA_FORMAT_SUPPORT2 結構,以判斷是否可以共用格式。 如果可以共用格式, CheckFeatureSupport 會傳回 D3D11_FORMAT_SUPPORT2_SHAREABLE 旗標。
注意:即使裝置指出D3D11_FORMAT_SUPPORT_SHAREABLE的選擇性功能支援,DXGI_FORMAT_R8G8B8A8_UNORM和DXGI_FORMAT_R8G8B8A8_UNORM_SRGB永遠不會共用。 除非功能層級為 10_0 或更高版本,否則嘗試使用 DXGI 格式建立共用資源 DXGI_FORMAT_R8G8B8A8_UNORMDXGI_FORMAT_R8G8B8A8_UNORM_SRGB 一律會失敗。
${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

10Level9 參考