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;
Member
CommandLength
[in] Die Größe des Befehlspuffers in Bytes ab Offset null.
CommandOffset
[in] Der Offset in Bytes auf den 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 Benutzermodusanzeigetreiber empfängt, um ihn beim nächsten Aufruf der PfnRenderCb-Funktion zu verwenden.
NewCommandBufferSize
[ein/aus] Die Größe in Bytes, die der Benutzermodusanzeigetreiber für den nächsten Befehlspuffer anfordert.
Der Treiber empfängt die Größe des zu verwendenden Befehlspuffers in Bytes.
pNewAllocationList
[out] Ein Array von D3DDDI_ALLOCATIONLIST Strukturen, die der Benutzermodusanzeigetreiber empfängt, um als Zuordnungsliste in seinem nächsten Aufruf der pfnRenderCb-Funktion zu verwenden.
NewAllocationListSize
[ein/aus] Die Anzahl der Elemente, die der Benutzermodusanzeigetreiber für die nächste Zuordnungsliste anfordert.
Der Treiber empfängt die Anzahl der Elemente für die Zuordnungsliste, die verfügbar ist, wenn der nächste Befehlspuffer übermittelt wird.
pNewPatchLocationList
[out] Ein Array von D3DDDI_PATCHLOCATIONLIST Strukturen, die der Benutzermodusanzeigetreiber empfängt, um als Patch-Location-Liste in seinem nächsten Aufruf der pfnRenderCb-Funktion zu verwenden.
NewPatchLocationListSize
[ein/aus] Die Anzahl der Elemente, die der Benutzermodustreiber für die nächste Patchspeicherortliste anfordert.
Der Treiber empfängt die Anzahl der Elemente für die Patchspeicherortliste, die verfügbar ist, wenn der nächste Befehlspuffer übermittelt wird.
Flags
[in] Eine D3DDDICB_RENDERFLAGS Struktur, die Informationen zu einem zu rendernden Befehlspuffer angibt.
hContext
[in] Ein Handle für den Kontext, an den der Treiber den Renderingvorgang übermittelt. Der Benutzermodusanzeigetreiber hat diesen Kontext zuvor durch Aufrufen der Funktion pfnCreateContextCb erstellt.
BroadcastContextCount
[in] Die Anzahl zusätzlicher Kontexte in dem Array, die das BroadcastContext-Mitglied angibt.
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
[in] Ein Array von Handles für die zusätzlichen Kontexte, an die der aktuelle Befehlspuffer gesendet werden soll. Die D3DDDI_MAX_BROADCAST_CONTEXT-Konstante, die als 64 definiert ist, definiert die maximale Anzahl zusätzlicher Kontexte, an die der Benutzermodusanzeigetreiber den aktuellen Befehlspuffer übertragen kann.
Der ursprüngliche Kontext, den das hContext-Mitglied angibt und der den Befehlspuffer besitzt, ist kein Element im BroadcastContext-Array . Wenn das BroadcastContext-Array beispielsweise ein Element enthält, sendet der Benutzermodusanzeigetreiber den Befehlspuffer an den besitzereigenen Kontext (hContext) und sendet an diesen zusätzlichen Kontext.
QueuedBufferCount
[out] Die Anzahl der DMA-Puffer, die in der Warteschlange für den Kontext stehen, den das hContext-Mitglied nach der aktuellen Übermittlung angibt.
NewCommandBuffer
Dieser Member ist reserviert und sollte auf null festgelegt werden.
Dieses Mitglied ist ab Windows 7 verfügbar.
pPrivateDriverData
[in] Dieser Member ist reserviert und sollte auf null festgelegt werden.
Dieses Mitglied ist ab Windows 7 verfügbar.
PrivateDriverDataSize
[in] Dieser Member ist reserviert und sollte auf null festgelegt werden.
Dieses Mitglied ist ab Windows 7 verfügbar.
MarkerLogType
Eine D3DDDI_MARKERLOGTYPE-Enumeration , die den Typ des Markers im ETW-Protokoll (Event Tracing for Windows) angibt, den der Benutzermodusanzeigetreiber unterstützt.
RenderCBSequence
Ein eindeutiger Bezeichner für jeden pfnRenderCb-Funktionsaufruf . Beginnt bei einem Wert von 1 für Kontexte, die Singlethread-Benutzermodus-DDIs zugeordnet sind, und reicht bis zum Wert 0x80000001 für Kontexte, die DDIs im Freethread-Benutzermodus zugeordnet sind. Der Benutzermodusanzeigetreiber muss den Wert für jeden pfnRenderCb-Aufruf inkrementieren, der für eine beliebige Engine 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 verwendet wird, um die API-Sequenznummer des Kontexts zu übergeben.
pCompletedAPISequenceNumberLow1
Ein Zeiger, der vom Treiber verwendet wird, um die API-Sequenznummer des Kontexts zu übergeben.
pBegunAPISequenceNumberLow0
Ein Zeiger, der vom Treiber verwendet wird, um die API-Sequenznummer des Kontexts zu übergeben.
pBegunAPISequenceNumberLow1
Ein Zeiger, der vom Treiber verwendet wird, um die API-Sequenznummer des Kontexts zu übergeben.
pBatchedMarkerData
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Kopfzeile | d3dumddi.h (include D3dumddi.h) |