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

# SetGraphicsShaderLimitsX (XBOX Series 主機)

> SetGraphicsShaderLimitsX (XBOX Series 主機) — 設定頂點、網域、幾何和像素著色器的圖形著色器限制。其中一些限制包括。

設定頂點、網域、幾何和像素著色器的圖形著色器限制。其中一些限制包括作用中的著色器單位、同時 Wave 的最大數目，以及允許 CU 鎖定的 Wave 最大數目。

## 語法

```cpp theme={null}
void SetGraphicsShaderLimitsX(  
         BOOL PixelShaderEnabled,  
         BOOL TessellationEnabled,  
         BOOL GeometryShaderEnabled,  
         BOOL GeometryShaderOnChip,  
         BOOL PrimitiveShaderEnabled,
         const D3D12XBOX_GRAPHICS_SHADER_LIMITS_DESC* pShaderLimits  
)  
```

### 參數

*PixelShaderEnabled*   \_In\_\
類型：BOOL

設定為 **true** 以啟用像素著色器；否則設定為 **false**。

*TessellationEnabled*   \_In\_\
類型：BOOL

設定為 **true** 以啟用鑲嵌器；否則設定為 **false**。

*GeometryShaderEnabled*   \_In\_\
類型：BOOL

設定為 **true** 以啟用幾何著色器；否則設定為 **false**。

*GeometryShaderOnChip*   \_In\_\
類型：BOOL

設定為 **true** 以指定產生的幾何保留在 GPU 記憶體中，且會延伸至系統記憶體。

*PrimitiveShaderEnabled*   \_In\_\
類型：BOOL

設定為 **true** 以指定目前的圖形管線狀態物件包含基本型別著色器，例如 NGG 頂點著色器。
將 PrimitiveShaderEnabled 設定為 **true** 會隱含地將 GeometryShaderEnabled 和 GeometryShaderOnChip 參數都設定為 **true**，因為基本型別著色器使用許多與舊版晶片內建幾何著色器相同的 GPU 硬體暫存器。

*pShaderLimits*   \_In\_opt\_\
類型：[D3D12XBOX\_GRAPHICS\_SHADER\_LIMITS\_DESC\*](/zh-TW/reference/graphics/d3d12_x/structs/d3d12xbox_graphics_shader_limits_desc)

指向描述計算著色器限制之 [D3D12XBOX\_GRAPHICS\_SHADER\_LIMITS\_DESC](/zh-TW/reference/graphics/d3d12_x/structs/d3d12xbox_graphics_shader_limits_desc) 結構的指標。

### 傳回值

類型：void

無。

## 備註

**SetGraphicsShaderLimitsX** 用來覆寫目前設定之管線狀態物件 (PSO) 所建立的著色器限制。覆寫的限制會持續存在，直到重設 PSO 或設定新的 PSO 為止；這包括 [ExecuteIndirect](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12graphicscommandlist-executeindirect) 所參考的任何 PSO。

**SetGraphicsShaderLimitsX** 無法記錄到命令套件組合中，且著色器管線設定參數 (例如 *PixelShaderEnabled*) 必須全部與目前 PSO 的參數相符；如果不相符，驗證會使呼叫失敗。

## 需求

**標頭：** d3d12\_xs.h

**程式庫：** d3d12\_xs.lib

**支援的平台：** XBOX Series 主機

## 另請參閱

[ID3D12GraphicsCommandList](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/id3d12graphicscommandlist)\
[SetComputeShaderLimitsX](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputeshaderlimitsx)


## Related topics

- [NDA topic directory - live Microsoft Learn links](/nda/nda-topic-directory.md)
- [SetGraphicsRootShaderResourceView](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setgraphicsrootshaderresourceview_public.md)
- [D3D12_RAYTRACING_PIPELINE_CONFIG (XBOX Series consoles)](/reference/graphics/d3d12/structs/d3d12_raytracing_pipeline_config_public.md)
- [NDA 主題目錄 - Microsoft Learn 線上連結](/zh-TW/nda/nda-topic-directory.md)
- [Mesh shaders and meshlets on XBOX Series X|S](/build/core-features/graphics/newfeatures/ms/index.md)
