Partager via


structure D3DDDICB_RENDER (d3dumddi.h)

La structure D3DDDICB_RENDER décrit la mémoire tampon de commande actuelle à afficher.

Syntaxe

typedef struct _D3DDDICB_RENDER {
  UINT                     CommandLength;
  UINT                     CommandOffset;
  UINT                     NumAllocations;
  UINT                     NumPatchLocations;
  VOID                     *pNewCommandBuffer;
  UINT                     NewCommandBufferSize;
  D3DDDI_ALLOCATIONLIST    *pNewAllocationList;
  UINT                     NewAllocationListSize;
  D3DDDI_PATCHLOCATIONLIST *pNewPatchLocationList;
  UINT                     NewPatchLocationListSize;
  D3DDDICB_RENDERFLAGS     Flags;
  HANDLE                   hContext;
  UINT                     BroadcastContextCount;
  HANDLE                   BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  ULONG                    QueuedBufferCount;
  D3DGPU_VIRTUAL_ADDRESS   NewCommandBuffer;
  VOID                     *pPrivateDriverData;
  UINT                     PrivateDriverDataSize;
  D3DDDI_MARKERLOGTYPE     MarkerLogType;
  UINT                     RenderCBSequence;
  union {
    struct {
      UINT FirstAPISequenceNumberHigh;
      UINT CompletedAPISequenceNumberLow0Size;
      UINT CompletedAPISequenceNumberLow1Size;
      UINT BegunAPISequenceNumberLow0Size;
      UINT BegunAPISequenceNumberLow1Size;
    };
    UINT BatchedMarkerDataCount;
  };
  union {
    struct {
      const UINT *pCompletedAPISequenceNumberLow0;
      const UINT *pCompletedAPISequenceNumberLow1;
      const UINT *pBegunAPISequenceNumberLow0;
      const UINT *pBegunAPISequenceNumberLow1;
    };
    const D3DDDI_BATCHEDMARKERDATA *pBatchedMarkerData;
  };
} D3DDDICB_RENDER;

Membres

CommandLength

[in] Taille, en octets, de la mémoire tampon de commande, en commençant par offset zéro.

CommandOffset

[in] Décalage, en octets, vers la première commande de la mémoire tampon de commande.

NumAllocations

[in] Nombre d’éléments dans la liste d’allocation.

NumPatchLocations

[in] Nombre d’éléments dans la liste des emplacements des correctifs.

pNewCommandBuffer

[out] Pointeur vers une mémoire tampon de commande que le pilote d’affichage en mode utilisateur reçoit pour l’utiliser dans son prochain appel à la fonction pfnRenderCb.

NewCommandBufferSize

[in/out] Taille, en octets, que le pilote d’affichage en mode utilisateur demande pour la mémoire tampon de commande suivante.

Le pilote reçoit la taille, en octets, de la mémoire tampon de commande suivante à utiliser.

pNewAllocationList

[out] Tableau de structures D3DDDI_ALLOCATIONLIST que le pilote d’affichage en mode utilisateur reçoit pour l’utiliser comme liste d’allocations dans son prochain appel à la fonction pfnRenderCb.

NewAllocationListSize

[in/out] Nombre d’éléments que le pilote d’affichage en mode utilisateur demande pour la liste d’allocation suivante.

Le pilote reçoit le nombre d’éléments de la liste d’allocation qui seront disponibles lors de l’envoi de la mémoire tampon de commande suivante.

pNewPatchLocationList

[out] Tableau de structures D3DDDI_PATCHLOCATIONLIST que le pilote d’affichage en mode utilisateur reçoit pour l’utiliser comme liste d’emplacements correctives dans son prochain appel à la fonction pfnRenderCb.

NewPatchLocationListSize

[in/out] Nombre d’éléments demandés par le pilote d’affichage en mode utilisateur pour la liste d’emplacements correctives suivante.

Le pilote reçoit le nombre d’éléments de la liste d’emplacements correctives qui seront disponibles lors de l’envoi de la mémoire tampon de commande suivante.

Flags

[in] Structure D3DDDICB_RENDERFLAGS qui indique des informations sur une mémoire tampon de commande à afficher.

hContext

[in] Handle vers le contexte auquel le pilote envoie l’opération de rendu. Le pilote d’affichage en mode utilisateur a créé ce contexte précédemment en appelant la fonction pfnCreateContextCb.

BroadcastContextCount

[in] Nombre de contextes supplémentaires dans le tableau spécifié par le membre BroadcastContext.

BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

[in] Tableau de handles vers les contextes supplémentaires vers utilisant la mémoire tampon de commande actuelle. La constante D3DDDI_MAX_BROADCAST_CONTEXT, définie comme 64, définit le nombre maximal de contextes supplémentaires vers lesquels le pilote d’affichage en mode utilisateur peut diffuser la mémoire tampon de commande actuelle.

Contexte d’origine spécifié par le membre hContext et propriétaire de la mémoire tampon de commande n’est pas un élément du tableau BroadcastContext. Par exemple, si le tableau BroadcastContext contient un élément, le pilote d’affichage en mode utilisateur envoie la mémoire tampon de commande au contexte propriétaire (hContext) et diffuse à ce contexte supplémentaire.

QueuedBufferCount

[out] Nombre de mémoires tampons DMA mises en file d’attente dans le contexte que le membre hContext spécifie après la soumission actuelle.

NewCommandBuffer

Ce membre est réservé et doit être défini sur zéro.

Ce membre est disponible à partir de Windows 7.

pPrivateDriverData

[in] Ce membre est réservé et doit être défini sur zéro.

Ce membre est disponible à partir de Windows 7.

PrivateDriverDataSize

[in] Ce membre est réservé et doit être défini sur zéro.

Ce membre est disponible à partir de Windows 7.

MarkerLogType

Énumération D3DDDI_MARKERLOGTYPE qui indique le type de marqueur dans le journal Suivi d’événements pour Windows (ETW) pris en charge par le pilote d’affichage en mode utilisateur.

RenderCBSequence

Identificateur unique pour chaque appel de fonction pfnRenderCb. Commence à une valeur de 1 pour les contextes associés aux DDIS en mode utilisateur monothread et aux plages à une valeur de 0x80000001 pour les contextes associés aux DDIS en mode utilisateur libre. Le pilote d’affichage en mode utilisateur doit incrémenter la valeur de chaque appel pfnRenderCb qu’il effectue sur n’importe quel moteur.

FirstAPISequenceNumberHigh

Utilisé par le pilote pour passer le numéro de séquence d’API du contexte.

CompletedAPISequenceNumberLow0Size

Utilisé par le pilote pour passer le numéro de séquence d’API du contexte.

CompletedAPISequenceNumberLow1Size

Utilisé par le pilote pour passer le numéro de séquence d’API du contexte.

BegunAPISequenceNumberLow0Size

Utilisé par le pilote pour passer le numéro de séquence d’API du contexte.

BegunAPISequenceNumberLow1Size

Utilisé par le pilote pour passer le numéro de séquence d’API du contexte.

BatchedMarkerDataCount

pCompletedAPISequenceNumberLow0

Pointeur utilisé par le pilote pour passer le numéro de séquence d’API du contexte.

pCompletedAPISequenceNumberLow1

Pointeur utilisé par le pilote pour passer le numéro de séquence d’API du contexte.

pBegunAPISequenceNumberLow0

Pointeur utilisé par le pilote pour passer le numéro de séquence d’API du contexte.

pBegunAPISequenceNumberLow1

Pointeur utilisé par le pilote pour passer le numéro de séquence d’API du contexte.

pBatchedMarkerData

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
d’en-tête d3dumddi.h (include D3dumddi.h)

Voir aussi

D3DDDICB_RENDERFLAGS

D3DDDI_ALLOCATIONLIST

D3DDDI_PATCHLOCATIONLIST

pfnRenderCb