Compartir a través de


estructura D3DDDICB_RENDER (d3dumddi.h)

La estructura D3DDDICB_RENDER describe el búfer de comandos actual que se va a representar.

Sintaxis

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;

Miembros

CommandLength

[in] Tamaño, en bytes, del búfer de comandos, empezando por cero de desplazamiento.

CommandOffset

[in] Desplazamiento, en bytes, al primer comando del búfer de comandos.

NumAllocations

[in] Número de elementos de la lista de asignación.

NumPatchLocations

[in] Número de elementos de la lista de ubicación de revisión.

pNewCommandBuffer

[out] Puntero a un búfer de comandos que recibe el controlador de pantalla en modo de usuario para usarlo en su siguiente llamada a la función pfnRenderCb .

NewCommandBufferSize

[in/out] Tamaño, en bytes, que el controlador de visualización en modo de usuario solicita para el siguiente búfer de comandos.

El controlador recibe el tamaño, en bytes, del búfer de comandos siguiente que se va a usar.

pNewAllocationList

[out] Matriz de estructuras de D3DDDI_ALLOCATIONLIST que recibe el controlador de visualización en modo de usuario para usarla como lista de asignación en su siguiente llamada a la función pfnRenderCb .

NewAllocationListSize

[in/out] Número de elementos que el controlador de visualización en modo de usuario solicita para la siguiente lista de asignación.

El controlador recibe el número de elementos de la lista de asignación que estarán disponibles cuando se envíe el siguiente búfer de comandos.

pNewPatchLocationList

[out] Matriz de estructuras de D3DDDI_PATCHLOCATIONLIST que recibe el controlador de pantalla en modo de usuario para usarla como lista de revisiones en su siguiente llamada a la función pfnRenderCb .

NewPatchLocationListSize

[in/out] Número de elementos que el controlador de visualización en modo de usuario solicita para la siguiente lista de ubicación de revisión.

El controlador recibe el número de elementos de la lista de ubicación de revisión que estará disponible cuando se envíe el siguiente búfer de comandos.

Flags

[in] Estructura D3DDDICB_RENDERFLAGS que indica información sobre un búfer de comandos que se va a representar.

hContext

[in] Identificador del contexto al que el controlador envía la operación de representación. El controlador de pantalla en modo de usuario creó este contexto llamando a la función pfnCreateContextCb .

BroadcastContextCount

[in] Número de contextos adicionales de la matriz que especifica el miembro BroadcastContext .

BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

[in] Matriz de identificadores en los contextos adicionales a los que se va a difundir el búfer de comandos actual. La constante D3DDDI_MAX_BROADCAST_CONTEXT, que se define como 64, define el número máximo de contextos adicionales a los que el controlador de pantalla en modo de usuario puede difundir el búfer de comandos actual.

El contexto original que especifica el miembro hContext y que posee el búfer de comandos no es un elemento de la matriz BroadcastContext . Por ejemplo, si la matriz BroadcastContext contiene un elemento, el controlador de visualización en modo de usuario envía el búfer de comandos al contexto propietario (hContext) y transmite a ese contexto adicional.

QueuedBufferCount

[out] Número de búferes DMA que se ponen en cola en el contexto que el miembro hContext especifica después de que se produzca el envío actual.

NewCommandBuffer

Este miembro está reservado y debe establecerse en cero.

Este miembro está disponible a partir de Windows 7.

pPrivateDriverData

[in] Este miembro está reservado y debe establecerse en cero.

Este miembro está disponible a partir de Windows 7.

PrivateDriverDataSize

[in] Este miembro está reservado y debe establecerse en cero.

Este miembro está disponible a partir de Windows 7.

MarkerLogType

Enumeración D3DDDI_MARKERLOGTYPE que indica el tipo de marcador en el registro de seguimiento de eventos para Windows (ETW) que admite el controlador de visualización en modo de usuario.

RenderCBSequence

Identificador único para cada llamada de función pfnRenderCb . Comienza en un valor de 1 para contextos asociados a DDIs en modo de usuario de un solo subproceso y rangos a un valor de 0x80000001 para contextos asociados a DDIs en modo de usuario subprocesos libres. El controlador de pantalla en modo de usuario debe incrementar el valor de cada llamada pfnRenderCb que realice en cualquier motor.

FirstAPISequenceNumberHigh

Usado por el controlador para pasar el número de secuencia de API del contexto.

CompletedAPISequenceNumberLow0Size

Usado por el controlador para pasar el número de secuencia de API del contexto.

CompletedAPISequenceNumberLow1Size

Usado por el controlador para pasar el número de secuencia de API del contexto.

BegunAPISequenceNumberLow0Size

Usado por el controlador para pasar el número de secuencia de API del contexto.

BegunAPISequenceNumberLow1Size

Usado por el controlador para pasar el número de secuencia de API del contexto.

BatchedMarkerDataCount

pCompletedAPISequenceNumberLow0

Puntero utilizado por el controlador para pasar el número de secuencia de API del contexto.

pCompletedAPISequenceNumberLow1

Puntero utilizado por el controlador para pasar el número de secuencia de API del contexto.

pBegunAPISequenceNumberLow0

Puntero utilizado por el controlador para pasar el número de secuencia de API del contexto.

pBegunAPISequenceNumberLow1

Puntero utilizado por el controlador para pasar el número de secuencia de API del contexto.

pBatchedMarkerData

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDICB_RENDERFLAGS

D3DDDI_ALLOCATIONLIST

D3DDDI_PATCHLOCATIONLIST

pfnRenderCb