Partager via


PFND3DDDI_SUBMITCOMMANDCB fonction de rappel (d3dumddi.h)

pfnSubmitCommandCb 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 d’allocation ou de liste d’emplacements des correctifs.

pfnSubmitCommandCb remplace l’ancien pfnRenderCb pour ces contextes et doit être utilisé à sa place. Les contextes qui fonctionnent en mode patch hérité doivent continuer à utiliser l’ancien pfnRenderCb.

Bien que le pilote en mode utilisateur ne génère pas d’emplacements de correctifs, il doit toujours générer une liste des primaires en cours d’écriture. 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 les opérations Flip .

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. Par conséquent, nous ajoutons une mémoire tampon de données de pilote privé explicite à envoyer avec une soumission. Notez que ces données de pilote privé sont unidirectionnelles et que le pilote en mode noyau ne peut pas retourner d’informations au pilote en mode utilisateur via cette mémoire tampon.

Syntaxe

PFND3DDDI_SUBMITCOMMANDCB Pfnd3dddiSubmitcommandcb;

HRESULT Pfnd3dddiSubmitcommandcb(
  HANDLE hDevice,
  const D3DDDICB_SUBMITCOMMAND *unnamedParam2
)
{...}

Paramètres

hDevice

Handle pour le périphérique d’affichage.

unnamedParam2

pData [in]

Pointeur vers une structure D3DDDICB_SUBMITCOMMAND qui décrit l’opération à effectuer.

Valeur retournée

Si cette fonction de rappel réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Spécifications

Condition requise Valeur
Client minimal pris en charge Windows 10
Serveur minimal pris en charge Windows Server 2016
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3dumddi.h (inclure D3dumddi.h)

Voir aussi

D3DDDICB_SUBMITCOMMAND

pfnRenderCb