> ## 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 (consoles XBOX Series)

> D3D12XBOX_CREATE_DEVICE_PARAMETERS (consoles XBOX Series) — Especifica os parâmetros usados durante a criação de um dispositivo no hardware XBOX.

Define os parâmetros usados durante a criação de um dispositivo no hardware dos consoles XBOX Series.

## Sintaxe

```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  
```

### Membros

*Version*\
Tipo: UINT

Especifica a versão do SDK. Defina como **D3D12\_SDK\_VERSION**.

*ProcessDebugFlags*\
Tipo: [D3D12XBOX\_PROCESS\_DEBUG\_FLAGS](/pt-BR/reference/graphics/d3d12_x/enums/d3d12xbox_process_debug_flags)

Especifica os sinalizadores a serem usados para depurar um processo. Esse parâmetro substitui quaisquer configurações definidas por [D3D12XboxSetProcessDebugFlags](/pt-BR/reference/graphics/d3d12_x/functions/d3d12xboxsetprocessdebugflags) ou [SetProcessDebugFlags](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12debug/methods/id3d12debug_setprocessdebugflags).

*GraphicsCommandQueueRingSizeBytes*\
Tipo: UINT

Especifica a quantidade de memória a ser reservada para buffers circulares da fila de comandos. O valor mínimo é 128 KB e deve ser definido em incrementos de 64 KB. Para definir o tamanho padrão de 4 MB, defina o valor como **D3D12XBOX\_DEFAULT\_SIZE\_BYTES**.

*pOffchipTessellationBuffer*\
Tipo: D3D12\_GPU\_VIRTUAL\_ADDRESS

Especifica o endereço virtual de um buffer em que os fatores de tesselação são armazenados. Pode ser um ponteiro para um buffer de memória gráfica de tamanho **D3D12XBOX\_OFFCHIP\_TESSELLATION\_BUFFER\_SIZE**, ou 0, para que o driver aloque um.

*GraphicsScratchMemorySizeBytes*\
Tipo: UINT

Especifica a quantidade de memória de rascunho (scratch) a ser reservada para shaders gráficos. Defina como 0 ou, para especificar o tamanho padrão de 16 MB, defina como **D3D12XBOX\_DEFAULT\_SIZE\_BYTES**.

*ComputeScratchMemorySizeBytes*\
Tipo: UINT

Especifica a quantidade de memória de rascunho (scratch) a ser reservada para compute shaders. Defina como 0 ou, para especificar o tamanho padrão de 16 MB, defina como **D3D12XBOX\_DEFAULT\_SIZE\_BYTES**.

*DisableGeometryShaderAllocations*\
Tipo: BOOL

Defina como **true** para desabilitar geometry shaders (GS). Isso impede que GS off-chip sejam usados no dispositivo e reduz o uso de memória ao não alocar buffers circulares de GS.

*DisableTessellationShaderAllocations*\
Tipo: BOOL

Defina como **true** para desabilitar a tesselação, tanto on-chip quanto off-chip. Isso impede que a tesselação seja usada neste dispositivo e reduz o uso de memória ao não alocar buffers circulares do tesselador.

*DisableDXR*\
Tipo: BOOL

Defina como **true** para desabilitar o DirectX raytracing. Isso reduz o uso de memória ao não alocar estruturas do driver associadas ao suporte a raytracing.

*DisableAutomaticDPBBBreakBatchEvents*\
Tipo: BOOL

Impede que o driver emita automaticamente eventos de quebra de lote para o Deferred Primitive Batch Binning (DPBB).

*pDXRStackBuffer*\
Tipo: D3D12\_GPU\_VIRTUAL\_ADDRESS

`D3D12_GPU_VIRTUAL_ADDRESS_NULL (0)` para que o driver faça a alocação, `D3D12_GPU_VIRTUAL_ADDRESS_UNKNOWN (-1)` para ignorar a alocação (útil quando apenas o raytracing inline é usado). Caso contrário, aponta para um buffer de rascunho alocado pelo título para chamadas DispatchRays, e *DXRStackBufferOverrideSizeBytes* deve indicar o tamanho do buffer.

*DXRStackBufferOverrideSizeBytes*\
Tipo: UINT

Substitui a alocação padrão do tamanho da pilha de DXR. Use `0` para o padrão do driver. Se *pDXRStackBuffer* for definido, esse valor deverá indicar o tamanho dessa alocação.

*CreateDeviceFlags*\
Tipo: [D3D12XBOX\_CREATE\_DEVICE\_FLAGS](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_create_device_flags_xs)

Sinalizadores de criação do dispositivo.

*AutoHDRPaperWhiteLevelNits*\
Tipo: UINT

Especifica a luminância máxima do branco, em nits, no conteúdo de origem que é considerado não brilhante. Valores mais baixos produzem pretos mais profundos e maior contraste; valores mais altos produzem pretos mais claros e menor contraste. O parâmetro pode ser ajustado para corresponder ao conteúdo, mas a percepção do preto também é afetada pelas configurações da TV e pela iluminação ambiente. Os valores típicos vão de 50 nits a 200 nits. Defini-lo como 0 faz com que o D3D use o padrão, e isso normalmente é recomendado. Esse parâmetro só tem efeito quando a conversão ascendente automática para HDR está habilitada (**D3D12XBOX\_CREATE\_DEVICE\_FLAG\_ENABLE\_AUTO\_HDR**), e é inválido especificá-lo quando a conversão não está habilitada.

*DisableAutomaticCommandSegmentChaining*\
Tipo: BOOL

Desabilita o encadeamento automático de segmentos de comando.

*AmplificationShaderIndirectArgsBufferSize*\
Tipo: UINT

Define o tamanho do buffer de argumentos indiretos usado para pipelines AS-MS na API DispatchMesh. Definir esse valor como **D3D12XBOX\_DEFAULT\_SIZE\_BYTES** atualmente alocará um buffer de 64 KB. Se você não usar pipelines AS-MS, poderá defini-lo como 0 para impedir qualquer alocação.

Cada grupo de threads de AS iniciado em uma chamada DispatchMesh requer uma struct [D3D12XBOX\_DISPATCH\_MESH\_X\_ARGUMENTS](/pt-BR/reference/graphics/d3d12_xs/structs/d3d12xbox_dispatch_mesh_x_arguments). Se você alocar menos do que o necessário para sua chamada DispatchMesh de tamanho máximo, o desenho será dividido em lotes para caber no buffer.

*AmplificationShaderPayloadBufferSize*\
Tipo: UINT

Define o tamanho do buffer de payload usado para pipelines AS-MS na API DispatchMesh. Definir esse valor como **D3D12XBOX\_DEFAULT\_SIZE\_BYTES** atualmente alocará um buffer de 64 KB. Se você não usar pipelines AS-MS, poderá defini-lo como 0 para impedir qualquer alocação.

## Comentários

[D3D12XboxCreateDevice](/pt-BR/reference/graphics/d3d12_x/functions/d3d12xboxcreatedevice) usa essa estrutura.

## Requisitos

**Cabeçalho:** d3d12\_xs.h\
**Plataformas com suporte**: consoles XBOX Series

## Confira também

[d3d12\_xs](/pt-BR/reference/graphics/d3d12_xs/d3d12_xs_members)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [D3D12GetInterface (XBOX Series consoles)](/reference/graphics/d3d12/functions/d3d12getinterface_public.md)
- [ID3D12Device10 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device10/id3d12device10_public.md)
- [ID3D12Device5 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device5/id3d12device5_public.md)
