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

> 用來指定要即時偵錯哪個計算著色器的參數

當 [D3D12XBOX\_LIVE\_DEBUGGING\_PARAMETERS](/zh-TW/reference/graphics/d3d12_xs/structs/d3d12xbox_live_debugging_parameters) 中的 *Type* 設定為 D3D12XBOX\_LIVE\_DEBUGGING\_SHADER\_STAGE\_COMPUTE 時，用來指定要即時偵錯哪個計算著色器的參數。若未指定任何項目，則會呈現找到的第一個計算著色器以供偵錯。

## 語法

```cpp theme={null}
struct D3D12XBOX_LIVE_DEBUGGING_COMPUTE_SHADER_PARAMETERS {
  D3D12XBOX_LIVE_DEBUGGING_SHADER_FLAGS Flags;
  UINT ThreadID_X;
  UINT ThreadID_Y;
  UINT ThreadID_Z;
}
```

## 成員

*Flags*   \_In\_\
類型：[D3D12XBOX\_LIVE\_DEBUGGING\_SHADER\_FLAGS](/zh-TW/reference/graphics/d3d12_xs/enums/d3d12xbox_live_debugging_shader_flags)

允許指定任何或特定的計算著色器

*ThreadID\_X*   \_In\_\
類型：UINT

計算著色器將分派之執行緒 ID 的 X 維度

*ThreadID\_Y*   \_In\_\
類型：UINT

計算著色器將分派之執行緒 ID 的 Y 維度

*ThreadID\_Z*   \_In\_\
類型：UINT

計算著色器將分派之執行緒 ID 的 Z 維度

## 備註

請注意，可根據 COMPUTE\_PGM\_RSRC2.TIDIG\_COMP\_CNT 的值，使用 *ThreadID\_X*、*ThreadID\_Y* 和 *ThreadID\_Z* 來搜尋特定的計算著色器

| 值 | 動作 |
| - | - |
| 0 | 只能使用 *ThreadID\_X* 來搜尋計算著色器。在此情況下，*ThreadID\_Y* 和 *ThreadID\_Z* 為 0。 |
| 1 | 可以使用 *ThreadID\_X* 和 *ThreadID\_Y* 來搜尋計算著色器。在此情況下，*ThreadID\_Z* 為 0。 |
| 2 | 可以使用 *ThreadID\_X*、*ThreadID\_Y* 和 *ThreadID\_Z* 來搜尋計算著色器 |
| 3 | 無法使用任何執行緒維度來搜尋計算著色器。在此情況下，行為類似於將 *Flags* 設定為 D3D12XBOX\_LIVE\_DEBUGGING\_SHADER\_FLAGS\_ANY |

範例 1 - 在後續的分派上啟用任何計算著色器的即時偵錯。請注意，當不需要偵錯特定計算著色器執行緒時，這非常有用。

```cpp theme={null}
bool debugLive = (m_FrameIndex == 500);

if (debugLive)
{
    D3D12XBOX_LIVE_DEBUGGING_PARAMETERS liveDebugParams{ 0 };
    liveDebugParams.Type = D3D12XBOX_LIVE_DEBUGGING_SHADER_STAGE_COMPUTE;
    liveDebugParams.CS.Flags = D3D12XBOX_LIVE_DEBUGGING_SHADER_FLAGS_ANY;
    pCmdList6->EnableLiveDebuggingX(&liveDebugParams);
}
pCmdList->Dispatch(5, 3, 2);
```

範例 2 - 啟用將分派執行緒 (27, 13, 0) 之計算著色器的即時偵錯

```cpp theme={null}
bool debugLive = (m_FrameIndex == 500);

if (debugLive)
{
    D3D12XBOX_LIVE_DEBUGGING_PARAMETERS liveDebugParams{ 0 };
    liveDebugParams.Type = D3D12XBOX_LIVE_DEBUGGING_SHADER_STAGE_COMPUTE;
    liveDebugParams.CS.ThreadID_X = 27;
    liveDebugParams.CS.ThreadID_Y = 13;
    liveDebugParams.CS.ThreadID_Z = 0;
    pCmdList6->EnableLiveDebuggingX(&liveDebugParams);
}
pCmdList->Dispatch(5, 3, 2);
```

## 需求

[D3D12XBOX\_LIVE\_DEBUGGING\_PARAMETERS](/zh-TW/reference/graphics/d3d12_xs/structs/d3d12xbox_live_debugging_parameters) 中的 *Type* 應設定為 D3D12XBOX\_LIVE\_DEBUGGING\_SHADER\_STAGE\_COMPUTE。

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

## 另請參閱

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


## Related topics

- [SetComputeRootShaderResourceView](/zh-TW/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputerootshaderresourceview_public.md)
- [NDA 主題目錄 - Microsoft Learn 線上連結](/zh-TW/nda/nda-topic-directory.md)
- [D3D12_SHADER_BYTECODE](/zh-TW/reference/graphics/d3d12/structs/d3d12_shader_bytecode_public.md)
- [D3D12_COMPUTE_PIPELINE_STATE_DESC](/zh-TW/reference/graphics/d3d12/structs/d3d12_compute_pipeline_state_desc_public.md)
- [D3D12_ROOT_PARAMETER](/zh-TW/reference/graphics/d3d12/structs/d3d12_root_parameter_public.md)
