D3DDDICB_RENDER結構 (d3dumddi.h)
D3DDDICB_RENDER 結構描述要轉譯的目前命令緩衝區。
語法
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;
成員
CommandLength
[in]從位移零開始的命令緩衝區大小,以位元組為單位。
CommandOffset
[in]位移,以位元組為單位,位移至命令緩衝區中的第一個命令。
NumAllocations
[in]配置清單中的項目數目。
NumPatchLocations
[in]修補程式位置清單中的項目數目。
pNewCommandBuffer
[out]使用者模式顯示驅動程式在下一次呼叫 pfnRenderCb 函式時收到的命令緩衝區指標。
NewCommandBufferSize
[in/out]使用者模式顯示驅動程式要求下一個命令緩衝區的大小,以位元組為單位。
驅動程式會接收下一個要使用的命令緩衝區大小,以位元組為單位。
pNewAllocationList
[out]使用者模式顯示驅動程式在其下一次 呼叫 pfnRenderCb 函式時,所接收做為配置清單的 D3DDDI_ALLOCATIONLIST 結構數位。
NewAllocationListSize
[in/out]使用者模式顯示驅動程式要求下一個配置清單的項目數目。
驅動程式會接收下一個命令緩衝區提交時可用的配置清單元素數目。
pNewPatchLocationList
[out]使用者模式顯示驅動程式在其下一次 呼叫 pfnRenderCb 函式時,會接收做為修補程式位置清單的 D3DDDI_PATCHLOCATIONLIST 結構數位。
NewPatchLocationListSize
[in/out]使用者模式顯示驅動程式要求下一個修補程式位置清單的項目數目。
驅動程式會接收在提交下一個命令緩衝區時可用的修補程式位置清單項目數目。
Flags
[in]D3DDDICB_RENDERFLAGS 結構,表示要轉譯之命令緩衝區的相關信息。
hContext
[in]驅動程式將轉譯作業提交至的內容句柄。 使用者模式顯示驅動程式先前會呼叫 pfnCreateContextCb 函式,以建立此內容。
BroadcastContextCount
[in]陣列中 BroadcastContext 成員指定的其他內容數目。
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
[in]要廣播目前命令緩衝區之其他內容的句柄陣列。 定義為 64 的D3DDDI_MAX_BROADCAST_CONTEXT常數會定義使用者模式顯示驅動程式可以廣播目前命令緩衝區的最大額外內容數目。
hContext 成員指定且擁有命令緩衝區的原始內容不是 BroadcastContext 陣列中的元素。 例如,如果 BroadcastContext 陣列包含一個元素,則使用者模式顯示驅動程式會將命令緩衝區傳送至擁有的內容(hContext),並廣播至該另一個內容。
QueuedBufferCount
[out]排入佇列的 DMA 緩衝區數目,這些緩衝區會排入目前提交之後,hContext 成員所指定的內容。
NewCommandBuffer
這個成員是保留的,而且應該設定為零。
此成員從 Windows 7 開始提供。
pPrivateDriverData
[in]這個成員是保留的,而且應該設定為零。
此成員從 Windows 7 開始提供。
PrivateDriverDataSize
[in]這個成員是保留的,而且應該設定為零。
此成員從 Windows 7 開始提供。
MarkerLogType
D3DDDI_MARKERLOGTYPE 列舉,指出使用者模式顯示驅動程式所支援之 Windows 事件追蹤記錄中的標記類型。
RenderCBSequence
每個 pfnRenderCb 函數調用的唯一標識符。 針對與單個線程使用者模式 DIS 相關聯的內容,從 1 值開始,針對與自由線程使用者模式 DIS 相關聯的內容,其範圍為 0x80000001。 使用者模式顯示驅動程序必須遞增每個 pfnRenderCb 在任何引擎上呼叫的值。
FirstAPISequenceNumberHigh
驅動程式用來傳遞內容的 API 序號。
CompletedAPISequenceNumberLow0Size
驅動程式用來傳遞內容的 API 序號。
CompletedAPISequenceNumberLow1Size
驅動程式用來傳遞內容的 API 序號。
BegunAPISequenceNumberLow0Size
驅動程式用來傳遞內容的 API 序號。
BegunAPISequenceNumberLow1Size
驅動程式用來傳遞內容的 API 序號。
BatchedMarkerDataCount
pCompletedAPISequenceNumberLow0
驅動程式用來傳遞內容的 API 序號的指標。
pCompletedAPISequenceNumberLow1
驅動程式用來傳遞內容的 API 序號的指標。
pBegunAPISequenceNumberLow0
驅動程式用來傳遞內容的 API 序號的指標。
pBegunAPISequenceNumberLow1
驅動程式用來傳遞內容的 API 序號的指標。
pBatchedMarkerData
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
標頭 | d3dumddi.h (包括 D3dumddi.h) |