D3DDDICB_RENDER structure

The D3DDDICB_RENDER structure describes the current command buffer to be rendered.

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;
  UINT                     FirstAPISequenceNumberHigh;
  UINT                     CompletedAPISequenceNumberLow0Size;
  UINT                     CompletedAPISequenceNumberLow1Size;
  UINT                     BegunAPISequenceNumberLow0Size;
  UINT                     BegunAPISequenceNumberLow1Size;
  const UINT               *pCompletedAPISequenceNumberLow0;
  const UINT               *pCompletedAPISequenceNumberLow1;
  const UINT               *pBegunAPISequenceNumberLow0;
  const UINT               *pBegunAPISequenceNumberLow1;
} D3DDDICB_RENDER;

Members

CommandLength

[in] The size, in bytes, of the command buffer, starting from offset zero.

CommandOffset

[in] The offset, in bytes, to the first command in the command buffer.

NumAllocations

[in] The number of elements in the allocation list.

NumPatchLocations

[in] The number of elements in the patch-location list.

pNewCommandBuffer

[out] A pointer to a command buffer that the user-mode display driver receives to use in its next call to the pfnRenderCb function.

NewCommandBufferSize

[in/out] The size, in bytes, that the user-mode display driver requests for the next command buffer.

The driver receives the size, in bytes, of the next command buffer to use.

pNewAllocationList

[out] An array of D3DDDI_ALLOCATIONLIST structures that the user-mode display driver receives to use as the allocation list in its next call to the pfnRenderCb function.

NewAllocationListSize

[in/out] The number of elements that the user-mode display driver requests for the next allocation list.

The driver receives the number of elements for the allocation list that will be available when the next command buffer is submitted.

pNewPatchLocationList

[out] An array of D3DDDI_PATCHLOCATIONLIST structures that the user-mode display driver receives to use as the patch-location list in its next call to the pfnRenderCb function.

NewPatchLocationListSize

[in/out] The number of elements that the user-mode display driver requests for the next patch-location list.

The driver receives the number of elements for the patch-location list that will be available when the next command buffer is submitted.

Flags

[in] A D3DDDICB_RENDERFLAGS structure that indicates information about a command buffer to be rendered.

hContext

[in] A handle to the context that the driver submits the rendering operation to. The user-mode display driver previously created this context by calling the pfnCreateContextCb function.

BroadcastContextCount

[in] The number of additional contexts in the array that the BroadcastContext member specifies.

BroadcastContext

[in] An array of handles to the additional contexts to broadcast the current command buffer to. The D3DDDI_MAX_BROADCAST_CONTEXT constant, which is defined as 64, defines the maximum number of additional contexts that the user-mode display driver can broadcast the current command buffer to.

The original context that the hContext member specifies and that owns the command buffer is not an element in the BroadcastContext array. For example, if the BroadcastContext array contains one element, the user-mode display driver sends the command buffer to the owning context (hContext) and broadcasts to that one additional context.

QueuedBufferCount

[out] The number of DMA buffers that are queued to the context that the hContext member specifies after the current submission occurs.

NewCommandBuffer

This member is reserved and should be set to zero.

This member is available beginning with Windows 7.

pPrivateDriverData

[in] This member is reserved and should be set to zero.

This member is available beginning with Windows 7.

PrivateDriverDataSize

[in] This member is reserved and should be set to zero.

This member is available beginning with Windows 7.

MarkerLogType

RenderCBSequence

FirstAPISequenceNumberHigh

CompletedAPISequenceNumberLow0Size

CompletedAPISequenceNumberLow1Size

BegunAPISequenceNumberLow0Size

BegunAPISequenceNumberLow1Size

pCompletedAPISequenceNumberLow0

pCompletedAPISequenceNumberLow1

pBegunAPISequenceNumberLow0

pBegunAPISequenceNumberLow1

Requirements

   
Minimum supported client Available in Windows Vista and later versions of the Windows operating systems.
Header d3dumddi.h (include D3dumddi.h)

See Also

D3DDDICB_RENDERFLAGS

D3DDDI_ALLOCATIONLIST

D3DDDI_PATCHLOCATIONLIST

pfnRenderCb