Fonction D3DKMTSubmitCommand (d3dkmthk.h)
D3DKMTSubmitCommand est utilisé pour envoyer des mémoires tampons de commande sur des contextes qui prennent en charge l’adressage virtuel gpu (Graphics Processing Unit). Ces contextes génèrent des commandes directement à partir du mode utilisateur, gèrent leur propre pool de mémoires tampons de commandes et n’utilisent pas la liste des emplacements d’allocation ou de correctif.
Syntaxe
NTSTATUS D3DKMTSubmitCommand(
[in] const D3DKMT_SUBMITCOMMAND *unnamedParam1
);
Paramètres
[in] unnamedParam1
Pointeur vers une structure D3DKMT_SUBMITCOMMAND qui décrit l’opération.
Valeur retournée
Code de retour | Description |
---|---|
STATUS_SUCCESS | Le contexte de l’appareil a été créé avec succès. |
STATUS_INVALID_PARAMETER | Les paramètres ont été validés et déterminés comme incorrects. |
Cette fonction peut également retourner d’autres valeurs NTSTATUS .
Remarques
Cette fonction remplace l’ancienne fonction Render pour ces contextes et doit être utilisée à sa place. Les contextes qui fonctionnent en mode patch hérité doivent continuer à utiliser l’ancienne fonction Render .
Bien que le pilote en mode utilisateur ne génère pas d’emplacements de correctifs, il doit toujours générer une liste de primaires, qui sont écrites dans. Le gestionnaire de mémoire vidéo utilise la liste d’allocations pour déterminer quelles allocations principales sont référencées pour l’écriture par chaque mémoire tampon de commande. Ces informations sont utilisées pour synchroniser le rendu avec les primaires avec des opérations de retournement .
Certains pilotes en mode noyau ont besoin d’informations de leur pilote en mode utilisateur sur la façon de soumettre une mémoire tampon d’accès direct à la mémoire (DMA) particulière à leur GPU. Dans Windows Display Driver Model (WDDM) 1.0, ces informations ont été envoyées par le pilote en mode utilisateur au pilote en mode noyau via la mémoire tampon de commandes. Étant donné que les mémoires tampons DMA sont générées directement par le pilote de mode utilisateur et soumises au GPU sans modification, elles ne peuvent plus être utilisées pour envoyer des informations au pilote de noyau. Pour activer le transfert d’informations entre le mode utilisateur et les pilotes en mode noyau, une mémoire tampon de données de pilote privé explicite a été ajoutée pour être envoyée avec une soumission.
Notes
Ces données de pilote privé sont unidirectionnelles et le pilote en mode noyau ne peut pas retourner d’informations au pilote en mode utilisateur via cette mémoire tampon.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
Plateforme cible | Universal |
En-tête | d3dkmthk.h (include D3dkmthk.h) |
Bibliothèque | Gdi32.lib |
DLL | Gdi32.dll |