> ## 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.

# D3D12XBOX_COMPUTE_SHADER_LAUNCH_PARAMETERS

> 計算管線狀態物件啟動設定的覆寫參數。

計算管線狀態物件啟動設定的可覆寫設定。

## 語法

```cpp theme={null}
typedef struct D3D12XBOX_COMPUTE_SHADER_LAUNCH_PARAMETERS
{
    union
    {
        struct
        {
            UINT Flags          :  7;
            UINT LDSSize        :  9;
            UINT NumThreadZ     : 16;
        };
        UINT Dword0;
    };
    union
    {
        struct
        {
             UINT NumThreadX    : 16;
             UINT NumThreadY    : 16;
        };
        UINT Dword1;
    };
} D3D12XBOX_COMPUTE_SHADER_LAUNCH_PARAMETERS;
```

### 成員

*Flags*\
類型：[D3D12XBOX\_COMPUTE\_SHADER\_LAUNCH\_PARAMETER\_FLAGS](/zh-TW/reference/graphics/d3d12_xs/enums/d3d12xbox_compute_shader_launch_param_flags)

控制旗標，決定要覆寫啟動設定的哪個部分。

*LDSSize*\
類型：UINT

覆寫的 LDS 大小。此值控制為每個執行緒群組配置的 LDS 記憶體數量。有效範圍為 0 - 128 (單位為 128 個 DWORD)。無論 CU/ WPG 模式為何，執行緒群組最多可配置 64 KB。

*NumThreadZ*\
類型：UINT

群組 Z 維度中的執行緒數目。最多 2048 (請參閱下方備註)。

*NumThreadX*\
類型：UINT

群組 X 維度中的執行緒數目。最多 2048 (請參閱下方備註)。

*NumThreadY*\
類型：UINT

群組 Y 維度中的執行緒數目。最多 2048 (請參閱下方備註)。

## 備註

此結構用於 [SetComputeShaderLaunchParametersX](/zh-TW/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_setcomputeshaderlaunchparametersx) 命令清單 API，以及在間接執行中透過 `D3D12XBOX_INDIRECT_ARGUMENT_TYPE_COMPUTE_SHADER_LAUNCH_PARAMETERSX` 引數類型 (請參閱 [D3D12\_INDIRECT\_ARGUMENT\_TYPE](/zh-TW/reference/graphics/d3d12_xs/enums/d3d12_indirect_argument_type_xs)) 使用此 API 時作為間接引數值。

### WGP 與 CU 模式

<a id="wgp_vs_cu_mode" />

在 XBOX Series 主機上，群組共用 (LDS) 記憶體可以在兩種不同的模式下運作。每個 WGP 都有 128 KB 的 LDS 記憶體，可以分成兩半 (CU 模式)，或視為單一共用記憶體 (WGP 模式)。

在 CU 模式下，WGP 中的每個計算單元 (各包含 2 個 SIMD) 會被指派屬於不同執行緒群組的 wave。每個 CU 透過專用匯流排存取 64 KB 的 LDS 記憶體，總資料傳輸量可達 2 \* 128 = 256 位元組/時脈。每個 CU 內的 wave 共用一個 256 KB 的 VGPR 實體集區。

在 WPG 模式下，WGP 內的全部 4 個 SIMD 都會被指派來自相同執行緒群組的 wave。全部 128 KB 的 LDS 記憶體都可以作為單一集區存取，但僅透過其中一個實體匯流排進行，這表示資料傳輸速率限制為 128 位元組/時脈。wave 共用一個 512 KB 的 VGPR 實體集區。

### 執行緒群組大小

在 XBOX Series 主機上，無論 wave 寬度為何，執行緒群組大小上限都是 32 個 wave。這表示編譯為 wave-64 (預設) 的計算著色器支援最多 2048 (`NumThreadX` \* `NumThreadY` \* `NumThreadZ`) 個執行緒的執行緒群組大小，而編譯為 wave-32 的相同著色器只支援最多 1024 個執行緒的群組。您可以將 `__XBOX_ENABLE_WAVE32` 定義設為 1，以啟用 wave-32 編譯。

## 需求

**標頭：** d3d12\_xs.h\
**支援的平台：** XBOX Series 主機

## 另請參閱

[d3d12\_xs](/zh-TW/reference/graphics/d3d12_xs/d3d12_xs_members)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr/nda/nda-topic-directory.md)
- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Directorio de temas NDA: enlaces activos a Microsoft Learn](/es/nda/nda-topic-directory.md)
- [NDA 토픽 디렉터리 - Microsoft Learn 라이브 링크](/ko/nda/nda-topic-directory.md)
- [NDA 主题目录 - Microsoft Learn 在线链接](/zh-CN/nda/nda-topic-directory.md)
