Partager via


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

Voir aussi

D3DKMT_SUBMITCOMMAND