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) |