D3DDDICB_RENDER Struktur (d3dumddi.h)
Die D3DDDICB_RENDER Struktur beschreibt den aktuellen Befehlspuffer, der gerendert werden soll.
Syntax
typedef struct _D3DDDICB_RENDER {
UINT CommandLength;
UINT CommandOffset;
UINT NumAllocations;
UINT NumPatchLocations;
VOID *pNewCommandBuffer;
UINT NewCommandBufferSize;
D3DDDI_ALLOCATIONLIST *pNewAllocationList;
UINT NewAllocationListSize;
D3DDDI_PATCHLOCATIONLIST *pNewPatchLocationList;
UINT NewPatchLocationListSize;
D3DDDICB_RENDERFLAGS Flags;
HANDLE hContext;
UINT BroadcastContextCount;
HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
ULONG QueuedBufferCount;
D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
D3DDDI_MARKERLOGTYPE MarkerLogType;
UINT RenderCBSequence;
union {
struct {
UINT FirstAPISequenceNumberHigh;
UINT CompletedAPISequenceNumberLow0Size;
UINT CompletedAPISequenceNumberLow1Size;
UINT BegunAPISequenceNumberLow0Size;
UINT BegunAPISequenceNumberLow1Size;
};
UINT BatchedMarkerDataCount;
};
union {
struct {
const UINT *pCompletedAPISequenceNumberLow0;
const UINT *pCompletedAPISequenceNumberLow1;
const UINT *pBegunAPISequenceNumberLow0;
const UINT *pBegunAPISequenceNumberLow1;
};
const D3DDDI_BATCHEDMARKERDATA *pBatchedMarkerData;
};
} D3DDDICB_RENDER;
Angehörige
CommandLength
[in] Die Größe des Befehlspuffers in Bytes, beginnend mit Offset 0.
CommandOffset
[in] Der Offset in Byte zum ersten Befehl im Befehlspuffer.
NumAllocations
[in] Die Anzahl der Elemente in der Zuordnungsliste.
NumPatchLocations
[in] Die Anzahl der Elemente in der Patchspeicherortliste.
pNewCommandBuffer
[out] Ein Zeiger auf einen Befehlspuffer, den der Anzeigetreiber für den Benutzermodus empfängt, um ihn im nächsten Aufruf der pfnRenderCb--Funktion zu verwenden.
NewCommandBufferSize
[in/out] Die Größe in Bytes, die der Benutzermodus-Anzeigetreiber für den nächsten Befehlspuffer anfordert.
Der Treiber empfängt die Größe des nächsten zu verwendenden Befehlspuffers in Byte.
pNewAllocationList
[out] Ein Array von D3DDDI_ALLOCATIONLIST Strukturen, die der Anzeigetreiber für den Benutzermodus empfängt, um sie als Zuordnungsliste im nächsten Aufruf der pfnRenderCb--Funktion zu verwenden.
NewAllocationListSize
[in/out] Die Anzahl der Elemente, die der Benutzermodus-Treiber für die nächste Zuordnungsliste anfordert.
Der Treiber empfängt die Anzahl der Elemente für die Zuordnungsliste, die verfügbar sein wird, wenn der nächste Befehlspuffer übermittelt wird.
pNewPatchLocationList
[out] Ein Array von D3DDDI_PATCHLOCATIONLIST Strukturen, die der Anzeigetreiber für den Benutzermodus empfängt, um sie als Patch-Location-Liste im nächsten Aufruf der pfnRenderCb--Funktion zu verwenden.
NewPatchLocationListSize
[in/out] Die Anzahl der Elemente, die der Benutzermodus treiber für die nächste Patchspeicherortliste anfordert.
Der Treiber empfängt die Anzahl der Elemente für die Patchspeicherortliste, die verfügbar sein wird, wenn der nächste Befehlspuffer übermittelt wird.
Flags
[in] Eine D3DDDICB_RENDERFLAGS Struktur, die Informationen zu einem Befehlspuffer angibt, der gerendert werden soll.
hContext
[in] Ein Handle für den Kontext, an den der Treiber den Renderingvorgang übermittelt. Der Anzeigetreiber für den Benutzermodus hat diesen Kontext zuvor erstellt, indem er die pfnCreateContextCb--Funktion aufruft.
BroadcastContextCount
[in] Die Anzahl der zusätzlichen Kontexte im Array, die vom BroadcastContext Member angegeben werden.
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
[in] Ein Array von Handles für die zusätzlichen Kontexte, in die der aktuelle Befehlspuffer übertragen werden soll. Die D3DDDI_MAX_BROADCAST_CONTEXT Konstante, die als 64 definiert ist, definiert die maximale Anzahl zusätzlicher Kontexte, in die der Anzeigetreiber für den Benutzermodus den aktuellen Befehlspuffer übertragen kann.
Der ursprüngliche Kontext, den das hContext-element-Member angibt und der besitzer des Befehlspuffers ist kein Element im BroadcastContext Array. Wenn beispielsweise das BroadcastContext Array ein Element enthält, sendet der Anzeigetreiber für den Benutzermodus den Befehlspuffer an den eigenen Kontext (hContext) und sendet an diesen zusätzlichen Kontext.
QueuedBufferCount
[out] Die Anzahl der DMA-Puffer, die dem Kontext in die Warteschlange gestellt werden, den das hContext Member angibt, nachdem die aktuelle Übermittlung erfolgt.
NewCommandBuffer
Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Dieses Mitglied ist ab Windows 7 verfügbar.
pPrivateDriverData
[in] Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Dieses Mitglied ist ab Windows 7 verfügbar.
PrivateDriverDataSize
[in] Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Dieses Mitglied ist ab Windows 7 verfügbar.
MarkerLogType
Eine D3DDDI_MARKERLOGTYPE Enumeration, die den Typ der Markierung im Ereignisablaufverfolgungsprotokoll für Windows (ETW) angibt, das der Anzeigetreiber für den Benutzermodus unterstützt.
RenderCBSequence
Ein eindeutiger Bezeichner für jeden pfnRenderCb- Funktionsaufruf. Beginnt bei einem Wert von 1 für Kontexte, die mit DDIs für den Einzelthreadmodus verknüpft sind, und bereiche auf einen Wert von 0x80000001 für Kontexte, die mit Freithreadmodus-DDIs verknüpft sind. Der Anzeigetreiber für den Benutzermodus muss den Wert für jeden pfnRenderCb-Aufruf erhöhen, der für jedes Modul ausgeführt wird.
FirstAPISequenceNumberHigh
Wird vom Treiber verwendet, um die API-Sequenznummer des Kontexts zu übergeben.
CompletedAPISequenceNumberLow0Size
Wird vom Treiber verwendet, um die API-Sequenznummer des Kontexts zu übergeben.
CompletedAPISequenceNumberLow1Size
Wird vom Treiber verwendet, um die API-Sequenznummer des Kontexts zu übergeben.
BegunAPISequenceNumberLow0Size
Wird vom Treiber verwendet, um die API-Sequenznummer des Kontexts zu übergeben.
BegunAPISequenceNumberLow1Size
Wird vom Treiber verwendet, um die API-Sequenznummer des Kontexts zu übergeben.
BatchedMarkerDataCount
pCompletedAPISequenceNumberLow0
Ein Zeiger, der vom Treiber zum Übergeben der API-Sequenznummer des Kontexts verwendet wird.
pCompletedAPISequenceNumberLow1
Ein Zeiger, der vom Treiber zum Übergeben der API-Sequenznummer des Kontexts verwendet wird.
pBegunAPISequenceNumberLow0
Ein Zeiger, der vom Treiber zum Übergeben der API-Sequenznummer des Kontexts verwendet wird.
pBegunAPISequenceNumberLow1
Ein Zeiger, der vom Treiber zum Übergeben der API-Sequenznummer des Kontexts verwendet wird.
pBatchedMarkerData
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
Header- | d3dumddi.h (include D3dumddi.h) |