共用方式為


PFND3D11DDI_DISPATCH回呼函式 (d3d10umddi.h)

分派 函式會執行計算著色器。

語法

PFND3D11DDI_DISPATCH Pfnd3d11ddiDispatch;

void Pfnd3d11ddiDispatch(
  D3D10DDI_HDEVICE unnamedParam1,
  UINT unnamedParam2,
  UINT unnamedParam3,
  UINT unnamedParam4
)
{...}

參數

unnamedParam1

hDevice [in]

顯示裝置的句柄(圖形內容)。

unnamedParam2

ThreadGroupCountX [in]

線程群組方格的 x 維度大小。 大小上限為 65535。

unnamedParam3

ThreadGroupCountY [in]

線程群組方格的 Y 維度大小。 大小上限為 65535。

unnamedParam4

ThreadGroupCountZ [in]

線程群組方格 z 維度的大小,以線程群組為單位。 大小上限為 65535。

傳回值

沒有

言論

驅動程式可以使用 pfnSetErrorCb 回呼函式來設定錯誤碼。

Direct3D 執行時間會在顯示裝置上呼叫驅動程式的 Dispatch 函式,以執行計算著色器。 編譯的計算著色器會定義一組指令,以針對每個線程執行,以及每個群組要執行的線程數目。 線程群組參數 (ThreadGroupCountXThreadGroupCountYThreadGroupCountZ) 會指出要執行的線程群組數目。 每個線程群組都包含相同數目的線程,如編譯的計算著色器所定義。 線程群組會組織在立體方格中。 編譯計算著色器執行的線程群組總數取決於下列計算:

ThreadGroupCountX * ThreadGroupCountY * ThreadGroupCountZ

特別是,如果線程群組參數中的任何值是 0,則分派 函式 不會執行任何動作。

除了D3DDDIERR_DEVICEREMOVED以外,驅動程式不應該發生任何錯誤。 因此,如果驅動程式通過任何錯誤,除了 D3DDDIERR_DEVICEREMOVED 之外,在呼叫 pfnSetErrorCb 函式時,Direct3D 運行時間會判斷錯誤是否重要。 即使移除裝置,驅動程式也不需要傳回D3DDDIERR_DEVICEREMOVED;不過,如果裝置移除干擾 分派 的作業(通常不應該發生),驅動程式可以傳回D3DDDIERR_DEVICEREMOVED。

要求

要求 價值
最低支援的用戶端 從 Windows 7作系統開始,支援分派。
目標平臺 桌面
標頭 d3d10umddi.h (包括 D3d10umddi.h)

另請參閱

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb