Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le modèle de pilote d’affichage Windows (WDDM) 1.3 et versions ultérieures peut prendre en charge les améliorations des performances de rendu Microsoft Direct3D 9 qui permettent au matériel Direct3D 9 d’utiliser mieux les mémoires tampons et compteurs de commandes matérielles et d’effectuer des copies efficaces de la mémoire système dans des sous-ressources. Ces fonctionnalités, qui reflètent certaines des fonctionnalités disponibles pour le matériel Direct3D Version 10, sont nouvelles à partir de Windows 8.1.
De nouvelles améliorations des performances par défaut pour le trim et le mappage des ressources Direct3D 11.1 sont également disponibles. Le scénario par défaut de carte est décrit dans la section Modifications de comportement ci-dessous.
Informations de référence sur les performances de rendu
Cette section de référence décrit les interfaces de pilote de périphérique en mode utilisateur (DDIS).
Fonctions de performances de rendu Direct3D implémentées par le pilote en mode utilisateur
Cette section contient des fonctions qu’un pilote d’affichage en mode utilisateur du modèle de pilote d'affichage Windows (WDDM) version 1.3 ou ultérieure implémente afin de prendre en charge les améliorations des performances de rendu de Microsoft Direct3D.
PFND3DDDI_FLUSH1 : PFND3DDDI_CHECKCOUNTERINFO
PFND3DDDI_CHECKCOUNTER : PFND3DDDI_UPDATESUBRESOURCEUP
Structures et énumérations de performances de rendu Direct3D
Ces structures et énumérations en mode utilisateur prennent en charge les améliorations de performances de rendu et sont nouvelles ou mises à jour pour Windows 8.1. Tous s’appliquent aux pilotes Direct3D Level 9, à l’exception de D3D11_1_DDI_FLUSH_FLAGS.
- D3DDDI_FLUSH_FLAGS (nouveau)
- D3DDDIARG_COPYFLAGS (nouveau)
- D3DDDIARG_COUNTER_INFO (nouveau)
- D3DDDIARG_UPDATESUBRESOURCEUP (nouveau)
- D3DDDICAPS_SIMPLE_INSTANCING_SUPPORT (nouveau)
- CreateResource2 (Les pilotes WDDM 1.3 et Direct3D niveau 9 ou ultérieur doivent retourner le code d'erreur E_INVALIDARG si le drapeau CaptureBuffer est défini)
- D3D11_1_DDI_FLUSH_FLAGS (constante D3DWDDM1_3DDI_TRIM_MEMORY ajoutée)
- D3DDDI_DEVICEFUNCS (pfnFlush1, pfnCheckCounterInfo, pfnCheckCounter, pfnUpdateSubresourceUP membres ajoutés)
- D3DDDI_POOL (constante D3DDDIPOOL_STAGINGMEM ajoutée)
- D3DDDICAPS_TYPE (constante D3DDDICAPS_GET_SIMPLE_INSTANCING_SUPPORT ajoutée)
- GetCaps (nouvelles informations dans les remarques)
Exigences d’implémentation DDI à partir de WDDM 1.3
À compter de WDDM 1.3, les fonctions suivantes sont requises ou facultatives pour les pilotes en mode utilisateur à implémenter.
| Groupe de fonctions | Descriptif |
|---|---|
Fonctions Direct3D 9 facultatives avant WDDM 1.3. Maintenant nécessaire : |
|
Fonctions Direct3D 9 disponibles à partir de WDDM 1.3. Un pilote doit implémenter toutes ces fonctions ou aucune d’entre elles : |
|
Lorsque les fonctions facultatives WDDM 1.3 et ultérieures sont implémentées immédiatement ci-dessus, ces fonctions ont des modifications de comportement associées : |
Ces scénarios s’appliquent lorsque GetCaps est appelé :
|
Ces fonctions Direct3D 11 ont des changements de comportement associés : |
|
Modifications de comportement pour les appels à des fonctions de création, de mappage et de démappage de ressources
Pour ces fonctions implémentées par les pilotes WDDM 1.3 et versions ultérieures, le runtime Direct3D fournit un ensemble restreint de valeurs d’entrée pour le scénario par défaut de carte. Ces valeurs restreintes s’appliquent uniquement aux pilotes qui prennent en charge le niveau de fonctionnalité 11.1 et versions ultérieures.
CreateResource(D3D11)function—
Ces membres de la structure d'entrée D3D11DDIARG_CREATERESOURCE sont restreints :
| Membre | Descriptif |
|---|---|
ResourceDimension et Usage |
Ces modifications de comportement s’appliquent uniquement lorsque le runtime Direct3D fournit le type D3D10DDIRESOURCE_BUFFER pour ResourceDimension et le type D3D10_DDI_USAGE_DEFAULT pour l’utilisation. |
BindFlags |
Le runtime Direct3D définit uniquement les valeurs D3D10_DDI_BIND_SHADER_RESOURCE et D3D11_DDI_BIND_UNORDERED_ACCESS . |
MapFlags |
Si toutes les autres exigences de membre répertoriées ici sont remplies, le runtime peut définir les valeurs D3D10_DDI_MAP_READ, D3D10_DDI_MAP_WRITE et D3D10_DDI_MAP_READWRITE. Le pilote doit prendre en charge ces valeurs. Les valeurs de D3D10_DDI_MAP_WRITE_DISCARD et D3D10_DDI_MAP_WRITE_NOOVERWRITE ne sont pas valides. |
MiscFlags |
Le runtime définit uniquement les valeurs D3D11_DDI_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS et D3D11_DDI_RESOURCE_MISC_BUFFER_STRUCTURED . |
Format |
Le runtime définit uniquement la valeur DXGI_FORMAT_UNKNOWN . |
SampleDesc |
Le runtime définit la DXGI_SAMPLE_DESC, le membre Count sur 1 et le membre Qualité à zéro. |
MipLevels |
Le runtime définit la valeur sur 1. |
ArraySize |
Le runtime définit la valeur sur 1. |
pPrimaryDesc |
Le runtime définit la valeur sur NULL. |
Ces paramètres d’entrée dans ResourceMap sont restreints :
| Paramètre | Descriptif |
|---|---|
hResource |
Le runtime Direct3D définit uniquement une ressource D3D10DDIRESOURCE_BUFFER lorsqu’une valeur non nulle pour MapFlags est définie dans l’appel de création à CreateResource(D3D11). |
Le runtime définit uniquement la valeur DXGI_FORMAT_UNKNOWN . |
|
Sous-ressource |
Le runtime définit uniquement la valeur 0. |
DDIMap |
Si toutes les autres exigences de membre répertoriées ici sont remplies, le runtime peut définir des valeurs D3D10_DDI_MAP_READ, D3D10_DDI_MAP_WRITE ou D3D10_DDI_MAP_READWRITE , correspondant à la valeur MapFlags définie dans l’appel de création à CreateResource(D3D11). |
Drapeaux |
Bien que la valeur d’entrée du runtime ne soit pas restreinte, le pilote doit pouvoir prendre en charge la valeur D3D10_DDI_MAP_FLAG_DONOTWAIT . |
pMappedSubResource |
Bien que la valeur d’entrée du runtime ne soit pas restreinte, le pilote doit affecter un pointeur valide pouvant être mis en cache par le CPU au membre D3D10DDI_MAPPED_SUBRESOURCE.pData et doit définir RowPitch et DepthPitch pour correspondre à la taille du tampon et aux données fournies dans pData. |
Ces paramètres d’entrée dans ResourceUnmap sont restreints :
| Paramètre | Descriptif |
|---|---|
hDevice |
Bien que la valeur d'entrée issue du runtime Direct3D ne soit pas limitée, la valeur doit correspondre à la valeur hDevice obtenue lors de l'appel ResourceMap d'origine. |
hResource |
Le runtime définit uniquement une ressource D3D10DDIRESOURCE_BUFFER lorsqu’une valeur non nulle pour MapFlags est définie dans l’appel de création à CreateResource(D3D11). |
Sous-ressource |
Le runtime définit uniquement la valeur 0. |