Share via


ID3D11DeviceContext::D ispatch 方法 (d3d11.h)

從線程群組執行命令清單。

語法

void Dispatch(
  [in] UINT ThreadGroupCountX,
  [in] UINT ThreadGroupCountY,
  [in] UINT ThreadGroupCountZ
);

參數

[in] ThreadGroupCountX

類型: UINT

以 x 方向分派的群組數目。 ThreadGroupCountX 必須小於或等於 D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) 。

[in] ThreadGroupCountY

類型: UINT

以 Y 方向分派的群組數目。 ThreadGroupCountY 必須小於或等於 D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) 。

[in] ThreadGroupCountZ

類型: UINT

以 z 方向分派的群組數目。 ThreadGroupCountZ 必須小於或等於 D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) 。 在功能層級 10 中, ThreadGroupCountZ 的值必須是 1。

傳回值

備註

您可以呼叫 Dispatch 方法,以在 計算著色器中執行命令。 計算著色器可以在線程群組內的許多線程上平行執行。 使用 (x,y,z) 指定的 3D 向量,為線程群組內的特定線程編製索引。

在下圖中,假設具有50個線程的線程群組,其中群組的大小是由 (5,5,5,2) 所指定。 使用向量 (4,1,1) ,從具有 50 個線程的線程群組識別單一線程。

線程群組內 50 個線程內單一線程的圖例

下圖顯示傳遞至 ID3D11DeviceContext::D ispatch 的參數之間的關聯性。 分派 (5,3,2) 、numthreads 屬性中指定的值、numthreads (10,8,3) ,以及傳遞給線程相關系統值的計算著色器值, (SV_GroupIndex,SV_DispatchThreadIDSV_GroupThreadID,SV_GroupID)

分派、線程群組和線程之間的關聯性圖例

規格需求

需求
目標平台 Windows
標頭 d3d11.h
程式庫 D3D11.lib

另請參閱

ID3D11DeviceContext