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;
Angehörige
pHistoryBuffer
Ein Zeiger auf den unformatierten DXGK_HISTORY_BUFFER Verlaufspuffers, der von der GPU aufgefüllt wurde.
HistoryBufferSize
Die Größe des Puffers in Byte, auf den pHistoryBufferverweist.
pFormattedBuffer
Ein Zeiger auf ein Segment des nicht ausgelagerten Systemspeichers, den der Treiber zum Speichern von Zeitstempelinformationen verwendet, die vom bereitgestellten nicht formatierten Verlaufspuffer abgeleitet werden.
Der Puffer, auf den pFormattedBuffer verweist sollte als großes Array von Zeitstempeln verwaltet werden, die durch Precisionangegeben werden. Der Puffer sollte keine Headerinformationen enthalten, die bereits im ursprünglichen Verlaufspuffer vorhanden sind.
FormattedBufferSize
Die Größe des Puffers in Byte, auf den pFormattedBufferverweist. Der Treiber sollte sicherstellen, dass über diese Puffergröße hinaus keine Daten 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 pFormattedBufferverweist.
Beachten Sie, dass die Anzahl der Zeitstempel, die sich im formatierten Ausgabepuffer befinden, erst bekannt ist, nachdem der Treiber den formatierten Puffer abgeschlossen hat, auf den pFormattedBufferverweist.
Precision
Eine DXGKARG_HISTORYBUFFERPRECISION Struktur, die der Treiber mit Informationen über die Genauigkeit der Zeitstempel füllt, die bei der Ereignisablaufverfolgung für Windows (ETW)-Einrichtung protokolliert werden.
Der Wert des DXGKARG_HISTORYBUFFERPRECISION.PrecisionBits Member darf nicht null sein.
Offset
Bei Eingaben für einen Aufruf der DxgkDdiFormatHistoryBuffer Funktion ist der Wert dieses Elements der Offset zum ersten Mal Stempel, bei dem die Formatierung gestartet werden soll. Nach Abschluss des Funktionsaufrufs sollte der Treiber den Wert auf Null festlegen, wenn er alle Zeitstempel im Verlaufspuffer erfolgreich formatiert hat.
Wenn kein Wert ungleich Null ist, 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.
Bemerkungen
Der Treiber sollte Zeitstempeleinträge und die Anzahl der verwendbaren Zeitstempel aus der Kopfzeile 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 |
---|---|
mindestens unterstützte Client- | Windows 8.1,WDDM 1.3 und höher |
mindestens unterstützte Server- | Windows Server 2012 R2 |
Header- | d3dkmddi.h (einschließlich D3dkmddi.h) |