D3DDDICB_RENDER结构 (d3dumddi.h)

D3DDDICB_RENDER结构描述要呈现的当前命令缓冲区。

语法

typedef struct _D3DDDICB_RENDER {
  [in]     UINT                     CommandLength;
  [in]     UINT                     CommandOffset;
  [in]     UINT                     NumAllocations;
  [in]     UINT                     NumPatchLocations;
  [out]    VOID                     *pNewCommandBuffer;
  [in/out] UINT                     NewCommandBufferSize;
  [out]    D3DDDI_ALLOCATIONLIST    *pNewAllocationList;
  [in/out] UINT                     NewAllocationListSize;
  [out]    D3DDDI_PATCHLOCATIONLIST *pNewPatchLocationList;
  [in/out] UINT                     NewPatchLocationListSize;
  [in]     D3DDDICB_RENDERFLAGS     Flags;
  [in]     HANDLE                   hContext;
  [in]     UINT                     BroadcastContextCount;
           HANDLE                   BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  [out]    ULONG                    QueuedBufferCount;
           D3DGPU_VIRTUAL_ADDRESS   NewCommandBuffer;
  [in]     VOID                     *pPrivateDriverData;
  [in]     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;

成员

[in] CommandLength

从偏移量零开始的命令缓冲区的大小(以字节为单位)。

[in] CommandOffset

命令缓冲区中第一个命令的偏移量(以字节为单位)。

[in] NumAllocations

分配列表中的元素数。

[in] NumPatchLocations

修补程序位置列表中的元素数。

[out] pNewCommandBuffer

指向用户模式显示驱动程序在下一次调用 pfnRenderCb 函数时要使用的命令缓冲区的指针。

[in/out] NewCommandBufferSize

用户模式显示下一个命令缓冲区的驱动程序请求的大小(以字节为单位)。

驱动程序接收要使用的下一个命令缓冲区的大小(以字节为单位)。

[out] pNewAllocationList

用户模式显示驱动程序在其下一次调用 pfnRenderCb 函数时接收用作分配列表的D3DDDI_ALLOCATIONLIST结构数组。

[in/out] NewAllocationListSize

用户模式显示下一个分配列表的驱动程序请求的元素数。

驱动程序接收分配列表的元素数,该列表将在提交下一个命令缓冲区时可用。

[out] pNewPatchLocationList

用户模式显示驱动程序在其下一次调用 pfnRenderCb 函数时接收用作修补程序位置列表的D3DDDI_PATCHLOCATIONLIST结构数组。

[in/out] NewPatchLocationListSize

用户模式显示下一个修补程序位置列表的驱动程序请求的元素数。

驱动程序接收修补程序位置列表的元素数,该列表将在提交下一个命令缓冲区时可用。

[in] Flags

一个D3DDDICB_RENDERFLAGS结构,指示要呈现的命令缓冲区的相关信息。

[in] hContext

驱动程序将呈现操作提交到的上下文的句柄。 用户模式显示驱动程序以前通过调用 pfnCreateContextCb 函数创建了此上下文。

[in] BroadcastContextCount

BroadcastContext 成员指定的数组中的其他上下文数。

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

用于将当前命令缓冲区广播到的其他上下文的句柄数组。 D3DDDI_MAX_BROADCAST_CONTEXT常量(定义为 64)定义用户模式显示驱动程序可以将当前命令缓冲区广播到的最大附加上下文数。

hContext 成员指定且拥有命令缓冲区的原始上下文不是 BroadcastContext 数组中的元素。 例如,如果 BroadcastContext 数组包含一个元素,则用户模式显示驱动程序会将命令缓冲区发送到拥有的上下文 (hContext) 并广播到该另一个上下文。

[out] QueuedBufferCount

排队到 hContext 成员在当前提交后指定的上下文的 DMA 缓冲区数。

NewCommandBuffer

此成员保留,应设置为零。

此成员从 Windows 7 开始可用。

[in] pPrivateDriverData

此成员保留,应设置为零。

此成员从 Windows 7 开始可用。

[in] PrivateDriverDataSize

此成员保留,应设置为零。

此成员从 Windows 7 开始可用。

MarkerLogType

个D3DDDI_MARKERLOGTYPE 枚举,指示用户模式显示驱动程序支持的 Windows 事件跟踪 (ETW) 日志中的标记类型。

RenderCBSequence

每个 pfnRenderCb 函数调用的唯一标识符。 对于与单线程用户模式 DDI 关联的上下文,从值 1 开始,范围为与自由线程用户模式 DDI 关联的上下文的值0x80000001。 用户模式显示驱动程序必须递增它在任何引擎上调用的每个 pfnRenderCb 调用的值。

FirstAPISequenceNumberHigh

由驱动程序用来传递上下文的 API 序列号。

CompletedAPISequenceNumberLow0Size

由驱动程序用来传递上下文的 API 序列号。

CompletedAPISequenceNumberLow1Size

由驱动程序用来传递上下文的 API 序列号。

BegunAPISequenceNumberLow0Size

由驱动程序用来传递上下文的 API 序列号。

BegunAPISequenceNumberLow1Size

由驱动程序用来传递上下文的 API 序列号。

BatchedMarkerDataCount

pCompletedAPISequenceNumberLow0

驱动程序用来传递上下文的 API 序列号的指针。

pCompletedAPISequenceNumberLow1

驱动程序用来传递上下文的 API 序列号的指针。

pBegunAPISequenceNumberLow0

驱动程序用来传递上下文的 API 序列号的指针。

pBegunAPISequenceNumberLow1

驱动程序用来传递上下文的 API 序列号的指针。

pBatchedMarkerData

要求

   
最低受支持的客户端 在 Windows Vista 及更高版本的 Windows 操作系统中可用。
Header d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDICB_RENDERFLAGS

D3DDDI_ALLOCATIONLIST

D3DDDI_PATCHLOCATIONLIST

pfnRenderCb