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) |