> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DispatchX (XBOX One 系列)

> 從執行緒群組執行命令清單。

從執行緒群組執行命令清單。

## 語法

```cpp theme={null}
void DispatchX(  
         UINT ThreadGroupCountX,  
         UINT ThreadGroupCountY,  
         UINT ThreadGroupCountZ,  
         D3D12XBOX_DISPATCH_FLAGS Flags  
)  
```

### 參數

*ThreadGroupCountX*   \_In\_<br />類型：UINT

在 x 維度中分派的群組數目。必須小於或等於 D3D12\_CS\_DISPATCH\_MAX\_THREAD\_GROUPS\_PER\_DIMENSION (65535)。

*ThreadGroupCountY*   \_In\_<br />類型：UINT

在 y 維度中分派的群組數目。必須小於或等於 D3D12\_CS\_DISPATCH\_MAX\_THREAD\_GROUPS\_PER\_DIMENSION (65535)。

*ThreadGroupCountZ*   \_In\_<br />類型：UINT

在 z 維度中分派的群組數目。必須小於或等於 D3D12\_CS\_DISPATCH\_MAX\_THREAD\_GROUPS\_PER\_DIMENSION (65535)。在功能層級 10 中，ThreadGroupCountZ 的值必須為 1。

*Flags*   \_In\_<br />類型：[D3D12XBOX\_DISPATCH\_FLAGS](/zh-TW/reference/graphics/d3d12_x/enums/d3d12xbox_dispatch_flags)

用來控制此作業的旗標，為 **D3D12XBOX\_DISPATCH\_FLAGS** 列舉常數的位元 OR 組合。

### 傳回值

類型：void

## 備註

使用此方法可直接指定分派起始器參數。如果著色器使用 Ordered Append，您必須在分派上設定 **D3D12XBOX\_DISPATCH\_FLAG\_ENABLE\_ORDERED\_APPEND**，以避免造成 GPU 停止回應。

呼叫此方法可在[計算著色器](https://learn.microsoft.com/en-us/windows/desktop/direct3d11/direct3d-11-advanced-stages-compute-shader)中執行命令。在執行緒群組內，計算著色器可以在許多執行緒上平行執行。若要索引執行緒群組內的特定執行緒，請使用指定為 (x,y,z) 的 3D 向量。

在下圖中，假設執行緒群組有 50 個執行緒，且群組的大小為 (5,5,2)。使用向量 (4,1,1) 從包含 50 個執行緒的執行緒群組中識別單一執行緒。

圖 1. 50 個執行緒之執行緒群組內單一執行緒的圖例

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/nda/d3d11_thread_group_1.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=67cef6acd160adffad7dd767063bd8b4" alt="執行緒群組中單一執行緒之向量的圖表。" width="240" height="137" data-path="images/nda/d3d11_thread_group_1.png" />

下圖顯示傳遞給 Dispatch (或 DispatchX) 的參數 Dispatch(5,3,2)、*numthreads* 屬性中指定的值 numthreads(10,8,3)，以及針對執行緒相關系統值 SV\_GroupIndex、SV\_DispatchThreadID、SV\_GroupThreadID 和 SV\_GroupID 傳遞給計算著色器的值之間的關係。

圖 2. Dispatch (或 DispatchX)、執行緒群組與執行緒之間的關係

<img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/nda/threadgroupids.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=2da22e8b2a470f74686450e1aa768b3b" alt="此圖表顯示提供給 Dispatch 和 DispatchX 方法的執行緒群組計數參數與個別執行緒群組之間的關係，以及執行緒群組與其個別執行緒之間的關係，用以說明如何識別傳遞給計算著色器的各種執行緒相關系統值。" width="666" height="615" data-path="images/nda/threadgroupids.png" />

這是 Dispatch 方法的 XBOX 特定版本。如需此方法之一般 Direct3d 12 版本的其他資訊，請參閱 [Dispatch](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-dispatch)。

## 需求

**標頭:** d3d12\_x.h

**程式庫:** d3d12\_x.lib

**支援的平台:** XBOX One 系列

## 另請參閱

[ID3D12GraphicsCommandList](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/id3d12graphicscommandlist)


## Related topics

- [Dispatch](/zh-CN/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_dispatch_public.md)
- [IGameInputDispatcher::Dispatch](/zh-CN/reference/input/gameinput/interfaces/IGameInputDispatcher/methods/igameinputdispatcher_dispatch.md)
- [XTaskQueueDispatch](/zh-CN/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md)
- [XTaskQueueDispatchMode](/zh-CN/reference/system/xtaskqueue/enums/xtaskqueuedispatchmode.md)
- [D3D12_DISPATCH_ARGUMENTS](/zh-CN/reference/graphics/d3d12/structs/d3d12_dispatch_arguments_public.md)
