DXGKDDI_UPDATECURRENTVALUESFROMCPU Rückruffunktion (d3dkmddi.h)

Das Betriebssystem ruft DxgkDdiUpdateCurrentValuesFromCpu auf, um den CurrentValue eines Batches nativer Zäune von der CPU zu aktualisieren.

Syntax

DXGKDDI_UPDATECURRENTVALUESFROMCPU DxgkddiUpdatecurrentvaluesfromcpu;

NTSTATUS DxgkddiUpdatecurrentvaluesfromcpu(
  IN_CONST_PDXGKARG_UPDATECURRENTVALUESFROMCPU pUpdateCurrentValuesFromCpu
)
{...}

Parameter

pUpdateCurrentValuesFromCpu

[in] Zeiger auf eine DXGKARG_UPDATECURRENTVALUESFROMCPU-Struktur , die die aktuellen zu aktualisierenden Werte enthält.

Hinweise

Dieser DDI wird verwendet, um die vorhandene API-Semantik "Signal fence from CPU" zu unterstützen. Anstatt dxgkrnl einen neuen CurrentValue zu schreiben, wird der Treiber aufgefordert, in CurrentValue zu schreiben, um Treibern die Möglichkeit zu geben, alle erforderlichen Vorabschreibsynchronisierungen/Barrieren einzufügen. Das Betriebssystem synchronisiert CPU-seitige Updates und garantiert, dass der aktuellste Wert für DxgkDdiUpdateCurrentValuesFromCpu verfügbar ist. Nach dem Aktualisieren von CurrentValue muss der Treiber die GPU auslösen, um die Blockierung von Hardwarewarteschlangen aufzuheben, die auf diesen Zaun warteten und mit dem Update auf CurrentValue aufgehoben wurden.

Kurz gesagt, die Schritte, die vom Treiber ausgeführt werden müssen, lauten:


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

Das Betriebssystem garantiert nur, dass der CurrentValueKernelCpuVa-Zeiger für die Dauer dieses DDI-Aufrufs gültig ist und nicht davor oder danach. Daher darf KMD diesen Zeiger niemals zur Verwendung an anderer Stelle zwischenspeichern.

Weitere Informationen zu nativen GPU-Zäunen finden Sie unter Native GPU-Fence-Objekte.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 11, Version 24H2
Kopfzeile d3dkmddi.h
IRQL DISPATCH_LEVEL

Weitere Informationen

DXGKARG_UPDATECURRENTVALUESFROMCPU