D3DDDICB_SUBMITCOMMAND結構 (d3dumddi.h)
D3DDDICB_SUBMITCOMMAND 結構可用來在支援圖形處理單元 (GPU) 虛擬尋址的內容上提交命令緩衝區。
語法
typedef struct _D3DDDICB_SUBMITCOMMAND {
D3DGPU_VIRTUAL_ADDRESS Commands;
UINT CommandLength;
D3DDDICB_SUBMITCOMMANDFLAGS Flags;
UINT BroadcastContextCount;
HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
UINT NumPrimaries;
D3DKMT_HANDLE WrittenPrimaries[D3DDDI_MAX_WRITTEN_PRIMARIES];
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;
};
UINT Reserved;
UINT NumHistoryBuffers;
D3DKMT_HANDLE *HistoryBufferArray;
HANDLE hSyncToken;
void *pReserved;
} D3DDDICB_SUBMITCOMMAND;
成員
Commands
提交至內容以供執行之命令的 GPU 虛擬位址。 這項資訊會在命令提交期間提供給核心模式驅動程式,也用於偵錯。
CommandLength
指定提交至 GPU 之命令的長度,以位元組為單位。 這項資訊會在命令提交期間提供給核心模式驅動程式,也用於偵錯。
Flags
D3DDDICB_SUBMITCOMMANDFLAGS 結構的實例。
BroadcastContextCount
指定應該提交這些命令的內容數目。 此計數必須至少為 1。
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
指定要執行指定命令之內容的句柄。
pPrivateDriverData
要在此提交時傳遞至核心模式驅動程式之驅動程式私用數據的指標。
PrivateDriverDataSize
傳遞的私人驅動程序數據資訊大小。 此大小必須小於核心模式驅動程序針對提交私人驅動程序數據所要求的大小。
NumPrimaries
指定送出命令所寫入的主要和交換鏈回緩衝區數目。 這等於 WrittenPrimaries 陣列中的配置數目。
WrittenPrimaries[D3DDDI_MAX_WRITTEN_PRIMARIES]
由送出命令寫入之主要和交換鏈回緩衝區的句柄陣列。
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
驅動程式用來傳遞內容的批次標記數據的指標。
Reserved
這個成員是保留的,而且應該設定為零。
NumHistoryBuffers
記錄緩衝區的數目。
HistoryBufferArray
記錄緩衝區陣列的指標。
hSyncToken
pReserved
言論
pfnSubmitCommandCb 程式代碼路徑不再提供使用者模式驅動程式的配置清單,以提供將在此命令期間讀取和寫入的配置清單。 不過,必須同步處理一些通常不會知道沒有配置清單的寫入。 為此,特別針對將寫入並用於顯示內容之介面的新小型配置清單。 WrittenPrimaries 陣列應該用來提供這類配置。
儘管名稱如此,WrittenPrimaries 必須包含除了初選之外,SwapChainBackBuffer 配置所考慮的配置。 這會由 D3D10_DDI_RESOURCE_MISC_FLAG中的新旗標公開給使用者模式驅動程式。 運行時間會在呼叫期間,將 D3DWDDM2_0DDI_RESOURCE_MISC_DISPLAYABLE_SURFACE 旗標提供給使用者模式驅動程式,以建立資源或堆積,建立為 FlipEx 交換鏈 或 主要。 驅動程式可以使用此旗標來判斷應該放在 Microsoft Direct3D 11 WrittenPrimaries 清單中的所有配置。 其他運行時間尚未變更。
如果驅動程式收到具有此旗標 CreateResource 的呼叫,則應該 在每個 pfnSubmitCommandCb 寫入介面的呼叫上,將配置新增至此清單。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 |
支援的最低伺服器 | Windows Server 2016 |
標頭 | d3dumddi.h (包括 D3dumddi.h) |