Partager via


10Level9 ID3D11Device, méthodes

Cette section répertorie les différences entre chaque niveau de fonctionnalité 10Level9 et le niveau de fonctionnalité D3D_FEATURE_LEVEL_11_0 et supérieur pour les méthodes ID3D11Device .

ID3D11Device::CheckCounter

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Les compteurs dépendant de l’appareil sont éventuellement pris en charge. Utilisez ID3D11Device::CheckCounterInfo pour déterminer la prise en charge.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CheckFormatSupport

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Consultez Prise en charge des formats par niveau de fonctionnalité${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CheckMultisampleQualityLevels

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Les niveaux de fonctionnalité n’offrent aucune garantie concernant la prise en charge MSAA.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateBlendState

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 AlphaToCoverageEnable doit avoir la valeur FALSE.
Les quatre premiers BlendEnables doivent avoir la même valeur.
D3D11_BLEND_SRC_ALPHASAT pas pris en charge.
Le mélange de couleurs double source n’est pas pris en charge (SrcBlend ou DestBlend avec SRC1 dans le nom)
D3D_FEATURE_LEVEL_9_2 AlphaToCoverageEnable doit avoir la valeur FALSE.
Les quatre premiers BlendEnables doivent avoir la même valeur.
Les quatre premiers RenderTargetWriteMasks doivent tous avoir la même valeur.
D3D11_BLEND_SRC_ALPHASAT pas pris en charge.
Le mélange de couleurs double source n’est pas pris en charge (SrcBlend ou DestBlend avec SRC1 dans le nom)
D3D_FEATURE_LEVEL_9_3 AlphaToCoverageEnable doit avoir la valeur FALSE.
Les quatre premiers BlendEnables doivent avoir la même valeur.
D3D11_BLEND_SRC_ALPHASAT pas pris en charge.
Le mélange de couleurs double source n’est pas pris en charge (SrcBlend ou DestBlend avec SRC1 dans le nom)
D3D_FEATURE_LEVEL_10_0 Ajoute l’alpha à la couverture

ID3D11Device::CreateBlendState1

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Non pris en charge
D3D_FEATURE_LEVEL_9_2 Non pris en charge
D3D_FEATURE_LEVEL_9_3 Non pris en charge
D3D_FEATURE_LEVEL_10_0 Le membre OutputMergerLogicOp a été ajouté à D3D11_FEATURE_DATA_D3D11_OPTIONS, afin de déterminer la prise en charge des opérations logiques (opérations logiques au niveau du bit entre la sortie du nuanceur de pixels et le rendu du contenu cible, reportez-vous à D3D11_RENDER_TARGET_BLEND_DESC1).

ID3D11Device::CreateBuffer

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Les mémoires tampons ne peuvent pas avoir de vues cibles de rendu.
Les mémoires tampons doivent avoir exactement l’une des D3D11_BIND_VERTEX_BUFFER, D3D11_BIND_INDEX_BUFFER ou D3D11_BIND_CONSTANT_BUFFER.
Autorise uniquement les mémoires tampons d’index au format DXGI_FORMAT_R16_UINT.
D3D_FEATURE_LEVEL_9_2 Les mémoires tampons ne peuvent pas avoir de vues cibles de rendu.
Les mémoires tampons doivent avoir exactement l’une des D3D11_BIND_VERTEX_BUFFER, D3D11_BIND_INDEX_BUFFER ou D3D11_BIND_CONSTANT_BUFFER.
Autorise les mémoires tampons d’index avec les formats DXGI_FORMAT_R16_UINT et DXGI_FORMAT_R32_UINT tels que D3D_FEATURE_LEVEL_10_0 et versions ultérieures.
${REMOVE}$
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateCounter

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Non pris en charge sur n’importe quel niveau de fonctionnalité 9.*.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateDepthStencilView

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Ne prend pas en charge le gabarit double face.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateDomainShader

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Non pris en charge sur les niveaux de fonctionnalité 9.* ou 10.*. ${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3
D3D_FEATURE_LEVEL_10_0
D3D_FEATURE_LEVEL_10_1

ID3D11Device::CreateGeometryShader

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Non pris en charge sur n’importe quel niveau de fonctionnalité 9.*.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateGeometryShaderWithStreamOutput

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Non pris en charge sur n’importe quel niveau de fonctionnalité 9.*.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateHullShader

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Non pris en charge sur les niveaux de fonctionnalité 9.* ou 10.*.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3
D3D_FEATURE_LEVEL_10_0
D3D_FEATURE_LEVEL_10_1

ID3D11Device::CreateInputLayout

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Ne prend pas en charge les D3D11_INPUT_PER_INSTANCE_DATA
D3D_FEATURE_LEVEL_9_2 Ne prend pas en charge les D3D11_INPUT_PER_INSTANCE_DATA
D3D_FEATURE_LEVEL_9_3 Le flux de vertex zéro doit avoir D3D11_INPUT_PER_VERTEX_DATA, si des flux ont D3D11_INPUT_PER_VERTEX_DATA

Consultez le graphique Prise en charge des formats par niveau de fonctionnalité pour plus d’informations sur les formats pouvant être utilisés pour les données de vertex à chaque niveau de fonctionnalité.

ID3D11Device::CreatePixelShader

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Doit utiliser ps_4_0_level_9_1
D3D_FEATURE_LEVEL_9_2 Doit utiliser ps_4_0_level_9_1
D3D_FEATURE_LEVEL_9_3 Doit utiliser ps_4_0_level_9_3 ou ps_4_0_level_9_1

ID3D11Device::CreatePredicate

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Non pris en charge sur n’importe quel niveau de fonctionnalité 9.*.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateQuery

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Les requêtes d’événement sont prises en charge. Les requêtes d’horodatage sont facultatives : appelez CreateQuery pour déterminer la prise en charge.
D3D_FEATURE_LEVEL_9_2 Les requêtes d’événement et d’occlusion sont prises en charge. Les requêtes d’horodatage sont facultatives : appelez CreateQuery pour déterminer la prise en charge.
D3D_FEATURE_LEVEL_9_3 Les requêtes d’événement et d’occlusion sont prises en charge. Les requêtes d’horodatage sont facultatives : appelez CreateQuery pour déterminer la prise en charge.

ID3D11Device::CreateRasterizerState

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 DepthClipEnable doit avoir la valeur TRUE. DepthBiasClamp doit être défini sur 0.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateRenderTargetView

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Peut uniquement prendre en charge les affichages cibles de rendu des objets Texture2D.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateSamplerState

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Le filtre de comparaison n’est pas pris en charge.
La couleur de bordure doit se trouver dans [0,1]
Min LOD ne peut pas être fractionnaire
Le nombre maximal de LOD doit être FLT_MAX
L’anisotropie maximale est de 2.
D3D11_TEXTURE_ADDRESS_MIRRORONCE pas pris en charge.
D3D_FEATURE_LEVEL_9_2 Le filtre de comparaison n’est pas pris en charge.
La couleur de bordure doit se trouver dans [0,1]
Min LOD ne peut pas être fractionnaire
Le nombre maximal de LOD doit être FLT_MAX
L’anisotropie maximale est de 16.
${REMOVE}$
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateShaderResourceView

Niveau de fonctionnalité MostDetailedMip plus MipLevels doivent inclure le LOD le plus faible (la plus petite sous-ressource) L’affichage doit inclure tous les éléments du tableau de ressources
D3D_FEATURE_LEVEL_9_1 Oui Oui
D3D_FEATURE_LEVEL_9_2 Oui Oui
D3D_FEATURE_LEVEL_9_3 Oui Oui

ID3D11Device::CreateTexture1D

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Non pris en charge sur un niveau de fonctionnalité 9.*.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateTexture2D

Les ressources Texture2D ont des limites de largeur et de hauteur qui diffèrent d’un niveau à l’autre. Dans les niveaux de fonctionnalité 9_3, les minima suivants sont garantis, et les implémentations individuelles peuvent dépasser les exigences.

Niveau de fonctionnalité Si MipCount > 1, les dimensions doivent avoir la puissance intégrale de deux Dimension de texture minimale prise en charge Les dimensions des textures de cube doivent être de deux puissances Si MISC_TEXTURECUBE est défini, arraySize est : Si MISC_TEXTURECUBE n’est pas défini, arraySize est.
D3D_FEATURE_LEVEL_9_1 Yes 2 048 Oui 6 1
D3D_FEATURE_LEVEL_9_2 Yes 2 048 Oui 6 1
D3D_FEATURE_LEVEL_9_3 Yes 4096 Oui 6 1

Dans le tableau précédent, le nom complet de MISC_TEXTURECUBE est D3D11_RESOURCE_MISC_TEXTURECUBE.

Les valeurs suivantes sont vraies pour tous les niveaux de fonctionnalités 9_* :

  • Lorsque vous utilisez D3D11_USAGE_DEFAULT ou D3D11_USAGE_IMMUTABLE, BindFlags ne peut pas être égal à zéro.
  • Lorsque vous utilisez D3D11_BIND_DEPTH_STENCIL, MipLevels doit avoir la valeur 1.
  • Lorsque vous utilisez D3D11_BIND_SHADER_RESOURCE, SampleDesc.Count doit être 1.
  • Lorsque vous utilisez D3D11_BIND_PRESENT, la ressource ne peut pas avoir de D3D11_BIND_SHADER_RESOURCE.
  • Lorsque vous utilisez D3D10_DDI_RESOURCE_MISC_SHARED, format ne peut pas être DXGI_FORMAT_R8G8B8A8_UNORM ou DXGI_FORMAT_R8G8B8A8_UNORM_SRGB.

ID3D11Device::CreateTexture3D

Niveau de fonctionnalité Dimension maximale (n’importe quel axe) Les dimensions doivent être de deux puissances
D3D_FEATURE_LEVEL_9_1 256 Oui
D3D_FEATURE_LEVEL_9_2 512 Oui
D3D_FEATURE_LEVEL_9_3 512 Oui

Si la ressource est D3D11_USAGE_DEFAULT ou D3D11_USAGE_IMMUTABLE, BindFlags ne peut pas être égal à zéro.

ID3D11Device::CreateUnorderedAccessView

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Non pris en charge sur un niveau de fonctionnalité 9.*.${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

ID3D11Device::CreateVertexShader

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Doit utiliser vs_4_0_level_9_1
D3D_FEATURE_LEVEL_9_2 Doit utiliser vs_4_0_level_9_1
D3D_FEATURE_LEVEL_9_3 Doit utiliser vs_4_0_level_9_3 ou vs_4_0_level_9_1

ID3D11Device::OpenSharedResource

Niveau de fonctionnalité Différences de comportement
D3D_FEATURE_LEVEL_9_1 Utilisez ID3D11Device::CheckFeatureSupport avec la valeur D3D11_FEATURE_FORMAT_SUPPORT2 et la structure D3D11_FEATURE_DATA_FORMAT_SUPPORT2 pour déterminer si un format peut être partagé. Si le format peut être partagé, CheckFeatureSupport renvoie l’indicateur D3D11_FORMAT_SUPPORT2_SHAREABLE .
Remarque :DXGI_FORMAT_R8G8B8A8_UNORM et DXGI_FORMAT_R8G8B8A8_UNORM_SRGB ne sont jamais partageables lors de l’utilisation du niveau de fonctionnalité 9, même si l’appareil indique une prise en charge facultative des fonctionnalités pour D3D11_FORMAT_SUPPORT_SHAREABLE. La tentative de création de ressources partagées avec des formats DXGI DXGI_FORMAT_R8G8B8A8_UNORM et DXGI_FORMAT_R8G8B8A8_UNORM_SRGB échoue toujours, sauf si le niveau de fonctionnalité est 10_0 ou supérieur.
${REMOVE}$
D3D_FEATURE_LEVEL_9_2
D3D_FEATURE_LEVEL_9_3

Référence 10Level9