DXGK_CONTEXTINFO 結構 (d3dkmddi.h)

DXGK_CONTEXTINFO 結構描述裝置內容。

語法

typedef struct _DXGK_CONTEXTINFO {
  UINT                  DmaBufferSize;
  UINT                  DmaBufferSegmentSet;
  UINT                  DmaBufferPrivateDataSize;
  UINT                  AllocationListSize;
  UINT                  PatchLocationListSize;
  UINT                  Reserved;
  DXGK_CONTEXTINFO_CAPS Caps;
  ULONG                 PagingCompanionNodeId;
} DXGK_CONTEXTINFO;

成員

DmaBufferSize

透過直接記憶體存取傳送的硬體命令緩衝區大小,以位元組為單位, (DMA) 到圖形處理單位 (GPU) 。

建立內容之後,DMA 緩衝區可以成長和縮小;不過,DMA 緩衝區絕對不能壓縮小於 DmaBufferSize 指定的起始大小。

DmaBufferSegmentSet

DMA 緩衝區應該可供 GPU 存取之區段的標識碼。

DmaBufferPrivateDataSize

與每個 DMA 緩衝區相關聯的驅動程式駐留私人數據結構大小,以位元組為單位。 此私人數據結構的記憶體會從非分頁集區配置。 如果驅動程式在 DmaBufferPrivateDataSize 中指定零,則不會為私人數據結構配置任何記憶體。

建立 DMA 緩衝區時,與 DMA 緩衝區相關聯的私用數據結構會初始化為零。 在 DMA 緩衝區的存留期內,視訊記憶體管理員永遠不會存取與 DMA 緩衝區相關聯的私人數據結構。

AllocationListSize

配置陣列中 (的起始元素數目,也就是 DXGK_ALLOCATIONLIST 結構的陣列) 。 這個數位是驅動程式要求位於DXGKARG_PRESENTpAllocationList 成員中,以及呼叫驅動程式 DxgkDdiPresentDxgkDdiRender 函式時 DXGKARG_RENDER所要求之配置數目的起始數目。

配置清單可以在建立內容之後成長和縮小;不過,配置清單絕對不能縮小到 AllocationListSize 指定的起始大小。

注意 如果 DXGK_CREATECONTEXTFLAGSGdiContext 設定為 1,這表示內容會建立為 GDI 特定內容, AllocationListSize 必須設定為 256 的值。
 

PatchLocationListSize

修補程式位置陣列中的起始項目數目 (,也就是使用者模式和核心模式中裝置) D3DDDI_PATCHLOCATIONLIST 結構的陣列。 此數位是驅動程式要求在其 DxgkDdiRender 函式呼叫中之 pPatchLocationListIn 成員中之DXGKARG_RENDER結構的開始修補位置數目。

建立內容之後,修補程式位置清單可以成長和縮小;不過,修補程式位置清單絕對不能壓縮小於 PatchLocationListSize 指定的起始大小。

Reserved

這個成員是保留的,而且應該設定為零。

此成員從 Windows 7 開始可供使用。

Caps

描述內容支持的選擇性功能。

從Windows 10 開始支援。

PagingCompanionNodeId

指定要用於此內容分頁隨附之引擎之以零起始的引擎標識碼。

從Windows 10 開始支援。

備註

顯示迷你埠驅動程式會指定 DmaBufferSizeAllocationListSize 成員的值,以確保:

  • Microsoft DirectX 圖形子系統只能針對所有案例使用一個直接記憶體存取 (DMA) 緩衝區來顯示 (,方法是使用顯示迷你埠驅動程式的 DxgkDdiPresent 函式) 至少一個 RECT 結構。
  • DMA 和配置清單緩衝區的大小夠大,足以保存至少一個無法分割到多個緩衝區的命令。
  • DMA 和配置清單緩衝區的大小夠大,以避免設定和 DMA 額外負荷。
顯示迷你埠驅動程式只能在 DmaBufferSegmentSet 成員中指定光圈區段;如果驅動程式指定記憶體區段,就會發生內容建立失敗。

如果驅動程式將 DmaBufferSegmentSet 設定為 0,則視訊記憶體管理員會為 DMA 緩衝區配置連續分頁鎖定的記憶體,該記憶體會對應寫入合併的記憶體。 因此,GPU 必須在不允許 AGP 光圈外發生的 AGP 傳輸電腦上使用 PCI 循環來存取 DMA 緩衝區。

規格需求

需求
最低支援的用戶端 Windows Vista
標頭 d3dkmddi.h (include D3dkmddi.h)

另請參閱

D3DDDI_PATCHLOCATIONLIST

DXGKARG_CREATECONTEXT

DXGKARG_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_CREATECONTEXTFLAGS

DxgkDdiPresent

DxgkDdiRender

矩形