Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le système d’exploitation appelle DxgkDdiUpdateCurrentValuesFromCpu pour mettre à jour le CurrentValue d’un lot de clôtures natives à partir de l’UC.
Syntaxe
DXGKDDI_UPDATECURRENTVALUESFROMCPU DxgkddiUpdatecurrentvaluesfromcpu;
NTSTATUS DxgkddiUpdatecurrentvaluesfromcpu(
IN_CONST_PDXGKARG_UPDATECURRENTVALUESFROMCPU pUpdateCurrentValuesFromCpu
)
{...}
Paramètres
pUpdateCurrentValuesFromCpu
[in] Pointeur vers une structure DXGKARG_UPDATECURRENTVALUESFROMCPU qui contient les valeurs actuelles à mettre à jour.
Remarques
Cette DDI est utilisée pour prendre en charge la sémantique d’API « clôture de signal à partir du processeur » existante. Au lieu de Dxgkrnl écrire une nouvelle CurrentValue, le pilote est invité à écrire dans CurrentValue afin de permettre aux pilotes d’insérer toute synchronisation/barrières préalables à l’écriture requise. Le système d’exploitation synchronise les mises à jour côté UC et garantit que la valeur la plus récente est disponible pour DxgkDdiUpdateCurrentValuesFromCpu. Après avoir mis à jour CurrentValue, le pilote doit déclencher le GPU pour débloquer des files d’attente matérielles qui attendaient cette clôture et qui ont été déblocées avec la mise à jour vers CurrentValue.
En un mot, les étapes à suivre par le pilote sont les suivantes :
for i = 1 : NumFences
1. Insert pre-write memory barrier if required
2. write new value to CurrentValueCpuVa
3. trigger GPU to unblock any HwQueues that got unblocked by the updated CurrentValue
end
Le système d’exploitation garantit uniquement que le pointeur CurrentValueKernelCpuVa est valide pendant la durée de cet appel DDI, et non avant ou après. Par conséquent, KMD ne doit jamais mettre en cache ce pointeur pour une utilisation ailleurs.
Pour plus d’informations sur les clôtures GPU natives, consultez objets de clôture GPU natifs.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 11, version 24H2 |
d’en-tête | d3dkmddi.h |
IRQL | DISPATCH_LEVEL |