structure D3DDDICB_RENDER (d3dumddi.h)
La structure D3DDDICB_RENDER décrit la mémoire tampon de commande actuelle à restituer.
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, à partir du décalage zéro.
CommandOffset
[in] Décalage, en octets, de 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 de l’emplacement 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 lors de 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 D3DDDI_ALLOCATIONLIST structures que le pilote d’affichage en mode utilisateur reçoit pour utiliser comme liste d’allocation lors de 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 D3DDDI_PATCHLOCATIONLIST structures que le pilote d’affichage en mode utilisateur reçoit pour utiliser comme liste d’emplacement de correctif 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 de l’emplacement du correctif suivant.
Le pilote reçoit le nombre d’éléments de la liste d’emplacement de correctif 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 du contexte auquel le pilote envoie l’opération de rendu. Le pilote d’affichage en mode utilisateur a précédemment créé ce contexte 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 ant la mémoire tampon de commande actuelle. La constante D3DDDI_MAX_BROADCAST_CONTEXT, qui est 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.
Le contexte d’origine spécifié par le membre hContext et qui possè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 dans ce contexte supplémentaire.
QueuedBufferCount
[out] Nombre de mémoires tampons DMA mises en file d’attente vers le contexte spécifié par le membre hContext 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
Une énumération D3DDDI_MARKERLOGTYPE qui indique le type de marqueur dans le journal de 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 à la valeur 1 pour les contextes associés aux DDIs en mode utilisateur à thread unique et s’étend à une valeur de 0x80000001 pour les contextes associés aux DDIs en mode utilisateur à thread libre. Le pilote d’affichage en mode utilisateur doit incrémenter la valeur pour chaque appel pfnRenderCb qu’il effectue sur n’importe quel moteur.
FirstAPISequenceNumberHigh
Utilisé par le pilote pour transmettre le numéro de séquence d’API du contexte.
CompletedAPISequenceNumberLow0Size
Utilisé par le pilote pour transmettre le numéro de séquence d’API du contexte.
CompletedAPISequenceNumberLow1Size
Utilisé par le pilote pour transmettre le numéro de séquence d’API du contexte.
BegunAPISequenceNumberLow0Size
Utilisé par le pilote pour transmettre le numéro de séquence d’API du contexte.
BegunAPISequenceNumberLow1Size
Utilisé par le pilote pour transmettre 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
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
En-tête | d3dumddi.h (inclure D3dumddi.h) |