Методы 10Level9 ID3D11Device
В этом разделе перечислены различия между каждым уровнем функций 10Level9 и уровнем D3D_FEATURE_LEVEL_11_0 и выше для методов ID3D11Device .
- 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 | Добавляет альфа-покрытие |
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] Min LOD не может быть дробным Максимальное значение LOD должно быть FLT_MAX Максимальная анизотропия — 2. D3D11_TEXTURE_ADDRESS_MIRRORONCE не поддерживается. |
D3D_FEATURE_LEVEL_9_2 | Фильтр сравнения не поддерживается. Цвет границы должен находиться в пределах [0,1] Min 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, измерения должны быть целой силой двух | Минимальное поддерживаемое измерение текстуры | Размеры текстур куба должны быть мощностью 2 | Если задано MISC_TEXTURECUBE, arraySize имеет следующий размер: | Если MISC_TEXTURECUBE не задан, параметр ArraySize имеет значение . |
---|---|---|---|---|---|
D3D_FEATURE_LEVEL_9_1 | Да | 2048 | Да | 6 | 1 |
D3D_FEATURE_LEVEL_9_2 | Да | 2048 | Да | 6 | 1 |
D3D_FEATURE_LEVEL_9_3 | Да | 4096 | Да | 6 | 1 |
В предыдущей таблице полное имя MISC_TEXTURECUBE — D3D11_RESOURCE_MISC_TEXTURECUBE.
Для всех уровней компонентов 9_* верно следующее:
- При использовании 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
Уровень компонентов | Максимальное измерение (любая ось) | Измерения должны быть мощностью 2 |
---|---|---|
D3D_FEATURE_LEVEL_9_1 | 256 | Да |
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 . Примечание.DXGI_FORMAT_R8G8B8A8_UNORM и DXGI_FORMAT_R8G8B8A8_UNORM_SRGB никогда не поддерживают общий доступ при использовании уровня компонентов 9, даже если устройство указывает на поддержку дополнительных функций для D3D11_FORMAT_SUPPORT_SHAREABLE. При попытке создать общие ресурсы в форматах DXGI DXGI_FORMAT_R8G8B8A8_UNORM и DXGI_FORMAT_R8G8B8A8_UNORM_SRGB всегда происходит сбой, если уровень компонентов не равен 10_0 или выше. ${REMOVE}$ |
D3D_FEATURE_LEVEL_9_2 | |
D3D_FEATURE_LEVEL_9_3 |