> ## 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_CREATE_DEVICE_PARAMETERS (XBOX Series 主機)

> D3D12XBOX_CREATE_DEVICE_PARAMETERS (XBOX Series 主機) — 指定在 XBOX 硬體上建立裝置期間所使用的參數。

定義在 XBOX Series 主機硬體上建立裝置期間所使用的參數。

## 語法

```cpp theme={null}
typedef struct D3D12XBOX_CREATE_DEVICE_PARAMETERS {  
    UINT Version;  
    D3D12XBOX_PROCESS_DEBUG_FLAGS ProcessDebugFlags;  
    UINT GraphicsCommandQueueRingSizeBytes;  
    D3D12_GPU_VIRTUAL_ADDRESS pOffchipTessellationBuffer;  
    UINT GraphicsScratchMemorySizeBytes;  
    UINT ComputeScratchMemorySizeBytes;  
    BOOL DisableGeometryShaderAllocations;  
    BOOL DisableTessellationShaderAllocations;  
    BOOL DisableDXR;  
    BOOL DisableAutomaticDPBBBreakBatchEvents;  
    D3D12_GPU_VIRTUAL_ADDRESS pDXRStackBuffer;  
    UINT DXRStackBufferOverrideSizeBytes;  
    D3D12XBOX_CREATE_DEVICE_FLAGS CreateDeviceFlags;       // Flags
    UINT AutoHDRPaperWhiteLevelNits;                       // Sets the paper white (SDR brightness) when AutoHDR is enabled, or 0 to use the default.    
    BOOL DisableAutomaticCommandSegmentChaining;
    UINT AmplificationShaderIndirectArgsBufferSize;
    UINT AmplificationShaderPayloadBufferSize;
} D3D12XBOX_CREATE_DEVICE_PARAMETERS  
```

### 成員

*Version*\
類型：UINT

指定 SDK 版本。設為 **D3D12\_SDK\_VERSION**。

*ProcessDebugFlags*\
類型：[D3D12XBOX\_PROCESS\_DEBUG\_FLAGS](/zh-TW/reference/graphics/d3d12_x/enums/d3d12xbox_process_debug_flags)

指定用於偵錯處理序的旗標。此參數會覆寫 [D3D12XboxSetProcessDebugFlags](/zh-TW/reference/graphics/d3d12_x/functions/d3d12xboxsetprocessdebugflags) 或 [SetProcessDebugFlags](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12debug/methods/id3d12debug_setprocessdebugflags) 所設定的任何設定。

*GraphicsCommandQueueRingSizeBytes*\
類型：UINT

指定要為命令佇列環形緩衝區保留的記憶體數量。最小值為 128 KB，且必須以 64 KB 為增量進行設定。若要設定 4 MB 的預設大小，請將值設為 **D3D12XBOX\_DEFAULT\_SIZE\_BYTES**。

*pOffchipTessellationBuffer*\
類型：D3D12\_GPU\_VIRTUAL\_ADDRESS

指定儲存鑲嵌因數之緩衝區的虛擬位址。這可以是指向大小為 **D3D12XBOX\_OFFCHIP\_TESSELLATION\_BUFFER\_SIZE** 之圖形記憶體緩衝區的指標，或為 0，讓驅動程式配置一個緩衝區。

*GraphicsScratchMemorySizeBytes*\
類型：UINT

指定要為圖形著色器保留的暫存記憶體數量。設為 0，或設為 **D3D12XBOX\_DEFAULT\_SIZE\_BYTES** 以指定 16 MB 的預設大小。

*ComputeScratchMemorySizeBytes*\
類型：UINT

指定要為計算著色器保留的暫存記憶體數量。設為 0，或設為 **D3D12XBOX\_DEFAULT\_SIZE\_BYTES** 以指定 16 MB 的預設大小。

*DisableGeometryShaderAllocations*\
類型：BOOL

設為 **true** 以停用幾何著色器 (GS)。這可防止在裝置上使用晶片外 GS，並藉由不配置 GS 環形緩衝區來減少記憶體使用量。

*DisableTessellationShaderAllocations*\
類型：BOOL

設為 **true** 以停用晶片內和晶片外的鑲嵌。這可防止在此裝置上使用鑲嵌，並藉由不配置鑲嵌器環形緩衝區來減少記憶體使用量。

*DisableDXR*\
類型：BOOL

設為 **true** 以停用 DirectX 光線追蹤。這會藉由不配置與光線追蹤支援相關聯的驅動程式結構來減少記憶體使用量。

*DisableAutomaticDPBBBreakBatchEvents*\
類型：BOOL

防止驅動程式自動為延遲基本型別批次分箱 (DPBB) 發出中斷批次事件。

*pDXRStackBuffer*\
類型：D3D12\_GPU\_VIRTUAL\_ADDRESS

`D3D12_GPU_VIRTUAL_ADDRESS_NULL (0)` 表示由驅動程式配置，`D3D12_GPU_VIRTUAL_ADDRESS_UNKNOWN (-1)` 表示略過配置 (僅使用內嵌光線追蹤時很有用)。否則會指向由遊戲配置、供 DispatchRays 呼叫使用的暫存緩衝區，且 *DXRStackBufferOverrideSizeBytes* 應指出緩衝區大小。

*DXRStackBufferOverrideSizeBytes*\
類型：UINT

覆寫預設的 DXR 堆疊大小配置。使用 `0` 表示驅動程式的預設值。如果設定了 *pDXRStackBuffer*，此值必須指出該配置的大小。

*CreateDeviceFlags*\
類型：[D3D12XBOX\_CREATE\_DEVICE\_FLAGS](/zh-TW/reference/graphics/d3d12_xs/enums/d3d12xbox_create_device_flags_xs)

裝置建立旗標。

*AutoHDRPaperWhiteLevelNits*\
類型：UINT

指定來源內容中被視為不明亮之白色的最大亮度 (以尼特為單位)。較低的值會產生更深的黑色和更高的對比，較高的值會產生較淺的黑色和較低的對比。此參數可調整以符合內容，但黑色的感知也會受到電視設定和室內環境光線的影響。典型值為 50 尼特到 200 尼特。設為 0 會讓 D3D 使用預設值，通常建議這麼做。此參數僅在啟用自動 HDR 升頻轉換 (**D3D12XBOX\_CREATE\_DEVICE\_FLAG\_ENABLE\_AUTO\_HDR**) 時才有作用，且在未啟用轉換時指定此參數是不合法的。

*DisableAutomaticCommandSegmentChaining*\
類型：BOOL

停用自動命令區段鏈結。

*AmplificationShaderIndirectArgsBufferSize*\
類型：UINT

設定 DispatchMesh API 中 AS-MS 管線所使用的間接引數緩衝區大小。將此值設為 **D3D12XBOX\_DEFAULT\_SIZE\_BYTES** 目前會配置 64 KB 的緩衝區。如果您不使用 AS-MS 管線，可以將此值設為 0 以防止任何配置。

在 DispatchMesh 呼叫中啟動的每個 AS 執行緒群組都需要一個 [D3D12XBOX\_DISPATCH\_MESH\_X\_ARGUMENTS](/zh-TW/reference/graphics/d3d12_xs/structs/d3d12xbox_dispatch_mesh_x_arguments) 結構。如果您配置的數量少於最大 DispatchMesh 呼叫所需的數量，繪製將會分成數個批次以符合緩衝區大小。

*AmplificationShaderPayloadBufferSize*\
類型：UINT

設定 DispatchMesh API 中 AS-MS 管線所使用的承載緩衝區大小。將此值設為 **D3D12XBOX\_DEFAULT\_SIZE\_BYTES** 目前會配置 64 KB 的緩衝區。如果您不使用 AS-MS 管線，可以將此值設為 0 以防止任何配置。

## 備註

[D3D12XboxCreateDevice](/zh-TW/reference/graphics/d3d12_x/functions/d3d12xboxcreatedevice) 會使用此結構。

## 需求

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

## 另請參閱

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


## Related topics

- [NDA 主題目錄 - Microsoft Learn 線上連結](/zh-TW/nda/nda-topic-directory.md)
- [NDA topic directory - live Microsoft Learn links](/nda/nda-topic-directory.md)
- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [Directorio de temas NDA: enlaces activos a Microsoft Learn](/es/nda/nda-topic-directory.md)
- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
