structure D3DKMT_RENDER (d3dkmthk.h)
La structure D3DKMT_RENDER décrit la mémoire tampon de commande actuelle à afficher.
Syntaxe
typedef struct _D3DKMT_RENDER {
union {
[in] D3DKMT_HANDLE hDevice;
[in] D3DKMT_HANDLE hContext;
};
[in] UINT CommandOffset;
[in] UINT CommandLength;
[in] UINT AllocationCount;
[in] UINT PatchLocationCount;
[out] VOID *pNewCommandBuffer;
[in/out] UINT NewCommandBufferSize;
[out] D3DDDI_ALLOCATIONLIST *pNewAllocationList;
[in/out] UINT NewAllocationListSize;
[out] D3DDDI_PATCHLOCATIONLIST *pNewPatchLocationList;
[in/out] UINT NewPatchLocationListSize;
[in] D3DKMT_RENDERFLAGS Flags;
[in] D3DKMT_ALIGN64 ULONGLONG PresentHistoryToken;
[in] ULONG BroadcastContextCount;
D3DKMT_HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
[out] ULONG QueuedBufferCount;
[out] D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
} D3DKMT_RENDER;
Membres
[in] hDevice
Type de données D3DKMT_HANDLE qui représente un handle en mode noyau sur l’appareil dans lequel la mémoire tampon de commande est rendue. Un handle d’appareil est fourni à la fonction D3DKMTRender dans l’union qui D3DKMT_RENDER contient pour la compatibilité avec Microsoft Direct3D version 10.
[in] hContext
Type de données D3DKMT_HANDLE qui représente un handle en mode noyau vers le contexte de l’appareil dans lequel la mémoire tampon de commande est rendue.
[in] CommandOffset
Décalage, en octets, vers la première commande de la mémoire tampon de commande.
[in] CommandLength
Taille, en octets, de la mémoire tampon de commande à partir du décalage zéro.
[in] AllocationCount
Nombre d’éléments dans la liste d’allocation envoyée.
[in] PatchLocationCount
Nombre d’éléments dans la liste d’emplacements des correctifs envoyés.
[out] pNewCommandBuffer
Pointeur vers une mémoire tampon de commande que l’ICD OpenGL reçoit pour l’utiliser dans son prochain appel à la fonction D3DKMTRender. Le pilote doit toujours mettre à jour son pointeur vers la mémoire tampon de commande après un appel à D3DKMTRender indépendamment de la réussite de l’appel.
Pris en charge dans Windows 7 et versions ultérieures :
[in] Pointeur vers la mémoire tampon de commande à afficher si l’indicateur RenderKm
[in/out] NewCommandBufferSize
Taille, en octets, que l’ICD OpenGL demande pour la mémoire tampon de commande suivante si l’indicateur de champ binaire ResizeCommandBuffer est spécifié dans les indicateurs de membre. Si ResizeCommandBuffer n’est pas spécifié, la valeur de NewCommandBufferSize est ignorée. En sortie, le pilote reçoit la taille, en octets, de la mémoire tampon de commande suivante à utiliser.
Selon les conditions de mémoire actuelles, la taille de sortie peut ne pas correspondre à la taille d’entrée.
[out] pNewAllocationList
Tableau de structures D3DDDI_ALLOCATIONLIST que l’ICD OpenGL reçoit pour être utilisées comme liste d’allocation dans son prochain appel à la fonction D3DKMTRender. Le pilote doit toujours mettre à jour son pointeur vers la liste d’allocation après un appel à D3DKMTRender indépendamment de la réussite de l’appel.
Pris en charge dans Windows 7 et versions ultérieures :
[in] Pointeur vers la liste d’allocation à afficher si l’indicateur RenderKm est défini dans le membre Flags.
[in/out] NewAllocationListSize
Nombre d’éléments que l’ICD OpenGL demande pour la liste d’allocation suivante si l’indicateur ResizeAllocationList bit-field est spécifié dans les indicateurs membre. Si ResizeAllocationList n’est pas spécifié, la valeur de NewAllocationListSize est ignorée. En sortie, le pilote reçoit le nombre d’éléments qui seront disponibles dans un tableau d’allocations lorsque la mémoire tampon de commande suivante est envoyée.
Selon les conditions de mémoire actuelles, la taille de sortie peut ne pas correspondre à la taille d’entrée.
[out] pNewPatchLocationList
Tableau de structures D3DDDI_PATCHLOCATIONLIST que l’ICD OpenGL reçoit pour être utilisées comme liste d’emplacements correctives dans son prochain appel à la fonction D3DKMTRender. Le pilote doit toujours mettre à jour son pointeur vers la liste d’emplacements correctives après un appel à D3DKMTRender que l’appel réussisse.
[in/out] NewPatchLocationListSize
Nombre d’éléments que l’ICD OpenGL demande pour la liste d’emplacements correctives suivante si l’indicateur de champ bit ResizePatchLocationList est spécifié dans les indicateurs de membre. Si ResizePatchLocationList n’est pas spécifié, la valeur de NewPatchLocationListSize est ignorée. En sortie, le pilote reçoit le nombre d’éléments qui seront disponibles dans un tableau d’emplacements de correctifs lorsque la mémoire tampon de commande suivante est envoyée.
Selon les conditions de mémoire actuelles, la taille de sortie peut ne pas correspondre à la taille d’entrée.
[in] Flags
Structure D3DKMT_RENDERFLAGS qui indique le type de mémoire tampon de commande, dans les indicateurs de champ binaire, à afficher.
[in] PresentHistoryToken
Jeton d’historique actuel pour les appels redirigés vers la fonction DxgkDdiPresent du pilote miniport d’affichage.
Un jeton d’historique actuel est un paquet de données que l’application de rendu envoie pour informer le Gestionnaire de fenêtres du bureau (DWM) que le rendu est terminé et que la mémoire tampon de retour de la chaîne d’échange est prête à être présentée.
[in] BroadcastContextCount
Nombre de contextes supplémentaires dans le tableau qui BroadcastContext spécifie.
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Tableau de types de données D3DKMT_HANDLE qui représentent des handles en mode noyau vers les contextes supplémentaires pour diffuser la mémoire tampon de commande actuelle vers. La constante D3DDDI_MAX_BROADCAST_CONTEXT, définie comme 64, définit le nombre maximal de contextes vers lesquels l’ICD OpenGL peut diffuser la mémoire tampon de commande actuelle.
Contexte d’origine spécifié par le membre hContext
[out] QueuedBufferCount
Nombre de mémoires tampons DMA mises en file d’attente dans le contexte spécifié par le membre hContext après la soumission.
[out] NewCommandBuffer
Pointeur vers une mémoire tampon de commande que l’ICD OpenGL reçoit pour l’utiliser dans son prochain appel à la fonction D3DKMTRender. Le pilote doit toujours mettre à jour son pointeur vers la mémoire tampon de commande après un appel à D3DKMTRender indépendamment de la réussite de l’appel.
Pris en charge dans Windows 7 et versions ultérieures :
[in] Pointeur vers la mémoire tampon de commande à afficher si l’indicateur RenderKm
pPrivateDriverData
Ce membre est réservé et doit être défini sur zéro.
Ce membre est disponible à partir de Windows 7.
PrivateDriverDataSize
Ce membre est réservé et doit être défini sur zéro.
Ce membre est disponible à partir de Windows 7.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista |
d’en-tête | d3dkmthk.h (include D3dkmthk.h) |