10Level9 ID3D11Device 方法
本節列出每個 10Level9 功能層級與 ID3D11Device 方法D3D_FEATURE_LEVEL_11_0和更高功能層級之間的差異。
- 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
- 相關主題
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_UNORM 和 DXGI_FORMAT_R8G8B8A8_UNORM_SRGB 一律會失敗。 ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |