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

> Parâmetros de substituição para as configurações de inicialização do objeto de estado de pipeline de computação.

Configurações substituíveis para as configurações de inicialização do objeto de estado de pipeline de computação.

## Sintaxe

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

### Membros

*Flags*\
Tipo: [D3D12XBOX\_COMPUTE\_SHADER\_LAUNCH\_PARAMETER\_FLAGS](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12xbox_compute_shader_launch_param_flags)

Os sinalizadores de controle determinam qual parte das configurações de inicialização será substituída.

*LDSSize*\
Tipo: UINT

Tamanho de LDS substituído. Esse valor controla a quantidade de memória LDS alocada para cada grupo de threads. O intervalo válido é de 0 a 128 (a unidade é 128 DWORDs). Os grupos de threads podem alocar no máximo 64 KB, independentemente do modo CU/WPG.

*NumThreadZ*\
Tipo: UINT

Número de threads na dimensão Z do grupo. Máximo de 2048 (consulte os comentários abaixo).

*NumThreadX*\
Tipo: UINT

Número de threads na dimensão X do grupo. Máximo de 2048 (consulte os comentários abaixo).

*NumThreadY*\
Tipo: UINT

Número de threads na dimensão Y do grupo. Máximo de 2048 (consulte os comentários abaixo).

## Comentários

Essa estrutura é usada na API de lista de comandos [SetComputeShaderLaunchParametersX](/pt-BR/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/methods/id3d12graphicscommandlist6_setcomputeshaderlaunchparametersx) e como valor de argumento indireto ao usar a API por meio do tipo de argumento `D3D12XBOX_INDIRECT_ARGUMENT_TYPE_COMPUTE_SHADER_LAUNCH_PARAMETERSX` (consulte [D3D12\_INDIRECT\_ARGUMENT\_TYPE](/pt-BR/reference/graphics/d3d12_xs/enums/d3d12_indirect_argument_type_xs)) na execução indireta.

### Modo WGP versus modo CU

<a id="wgp_vs_cu_mode" />

A memória compartilhada de grupo (LDS) pode operar em dois modos diferentes nos consoles XBOX Series. Cada WGP tem 128 KB de memória LDS, que pode ser dividida em duas (modo CU) ou tratada como uma única memória compartilhada (modo WGP).

No modo CU, cada uma das unidades de computação (cada uma contendo 2 SIMDs) em um WGP receberá waves pertencentes a grupos de threads diferentes. Cada CU tem acesso a 64 KB de memória LDS por meio de um barramento dedicado, permitindo um total de 2 \* 128 = 256 bytes/clock de transferência de dados. As waves dentro de cada CU compartilham um pool físico de 256 KB para VGPRs.

No modo WPG, todos os 4 SIMDs dentro de um WGP recebem waves do mesmo grupo de threads. Todos os 128 KB de memória LDS podem ser acessados como um único pool, mas isso ocorre por meio de apenas um dos barramentos físicos presentes, o que significa que a taxa de transferência de dados é limitada a 128 bytes/clock. As waves compartilham um pool físico de 512 KB para VGPRs.

### Tamanhos de grupo de threads

Nos consoles XBOX Series, o tamanho máximo do grupo de threads é de 32 waves, independentemente da largura da wave. Isso significa que um compute shader compilado como wave-64 (o padrão) oferece suporte a tamanhos de grupo de threads de até 2048 (`NumThreadX` \* `NumThreadY` \* `NumThreadZ`) threads, enquanto o mesmo shader compilado como wave-32 só oferece suporte a grupos de até 1024 threads. Você pode habilitar a compilação wave-32 definindo o define `__XBOX_ENABLE_WAVE32` como 1.

## 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/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)
