DXGKARG_FORMATHISTORYBUFFER Struktur (d3dkmddi.h)
Enthält Informationen für den Anzeigeminiporttreiber zum Formatieren eines Verlaufspuffers.
Syntax
typedef struct _DXGKARG_FORMATHISTORYBUFFER {
DXGK_HISTORY_BUFFER *pHistoryBuffer;
UINT32 HistoryBufferSize;
PVOID pFormattedBuffer;
UINT32 FormattedBufferSize;
UINT32 NumTimestamps;
DXGKARG_HISTORYBUFFERPRECISION Precision;
UINT32 Offset;
} DXGKARG_FORMATHISTORYBUFFER;
Member
pHistoryBuffer
Ein Zeiger auf den unformatierten DXGK_HISTORY_BUFFER Verlaufspuffer, der von der GPU aufgefüllt wurde.
HistoryBufferSize
Die Größe des Puffers in Bytes, auf den pHistoryBuffer verweist.
pFormattedBuffer
Ein Zeiger auf ein Segment des nicht ausgelagerten Systemspeichers, den der Treiber zum Speichern von Zeitstempelinformationen verwendet, die vom bereitgestellten unformatierten Verlaufspuffer abgeleitet werden.
Der Puffer, auf den pFormattedBuffer verweist, sollte als großes Array von Zeitstempeln mit Genauigkeit verwaltet werden. Der Puffer sollte keine Headerinformationen enthalten, die bereits im ursprünglichen Verlaufspuffer vorhanden sind.
FormattedBufferSize
Die Größe des Puffers in Bytes, auf den pFormattedBuffer verweist. Der Treiber sollte sicherstellen, dass keine Daten über diese Puffergröße hinaus geschrieben werden.
NumTimestamps
Die Anzahl der Zeitstempel. Nach Abschluss eines Aufrufs der DxgkDdiFormatHistoryBuffer-Funktion sollte der Treiber diesen Wert auf die Anzahl der Zeitstempel festlegen, die in den formatierten Puffer geschrieben werden, auf den pFormattedBuffer verweist.
Beachten Sie, dass die Anzahl der Zeitstempel, die sich im formatierten Ausgabepuffer befinden, erst bekannt ist, wenn der Treiber den formatierten Puffer abgeschlossen hat, auf den pFormattedBuffer verweist.
Precision
Eine DXGKARG_HISTORYBUFFERPRECISION Struktur, die der Treiber mit Informationen zur Genauigkeit der Zeitstempel füllt, die bei der ETW-Einrichtung (Event Tracing for Windows) protokolliert werden.
Der Wert des DXGKARG_HISTORYBUFFERPRECISION. PrecisionBits-Member darf nicht 0 sein.
Offset
Bei der Eingabe eines Aufrufs der DxgkDdiFormatHistoryBuffer-Funktion ist der Wert dieses Elements der Offset auf den ersten Zeitstempel, mit dem die Formatierung beginnen soll. Nach Abschluss des Funktionsaufrufs sollte der Treiber den Wert auf 0 festlegen, wenn er erfolgreich alle Zeitstempel im Verlaufspuffer formatiert hat.
Bei nichtzero konnte der Treiber nicht alle Zeitstempel im Verlaufspuffer formatieren, ohne den formatierten Puffer zu füllen. In diesem Fall stellt der Wert den Offset dar, der im nächsten Funktionsaufruf fortgesetzt werden soll.
Hinweise
Der Treiber sollte Zeitstempeleinträge und die Anzahl der verwendbaren Zeitstempel aus dem Header des bereitgestellten Verlaufspuffers abrufen. Alle zusätzlichen Daten, die der Treiber für Berechnungen benötigt, sollten in privaten Daten gespeichert werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8.1, WDDM 1.3 und höher |
Unterstützte Mindestversion (Server) | Windows Server 2012 R2 |
Kopfzeile | d3dkmddi.h (einschließlich D3dkmddi.h) |