Freigeben über


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)

Siehe auch

D3DDDICB_RENDERFLAGS

D3DDDI_ALLOCATIONLIST

D3DDDI_PATCHLOCATIONLIST

pfnRenderCb