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