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

# SetComputeShaderLaunchParametersX (consoles XBOX Series)

> Substituição seletiva dos parâmetros de inicialização do objeto de estado de pipeline de computação.

Substituição seletiva dos parâmetros de inicialização do objeto de estado de pipeline de computação.

## Sintaxe

```cpp theme={null}
void SetComputeShaderLaunchParametersX(
         const D3D12XBOX_COMPUTE_SHADER_LAUNCH_PARAMETERS* pLaunchParameters  
)
```

### Parâmetros

*pLaunchParameters*   \_In\_opt\_\
Tipo: [D3D12XBOX\_COMPUTE\_SHADER\_LAUNCH\_PARAMETERS\*](/pt-BR/reference/graphics/d3d12_xs/structs/d3d12xbox_compute_shader_launch_params)

Um ponteiro para os parâmetros de inicialização do compute shader a serem substituídos no objeto de estado de pipeline.

### Valor retornado

Tipo: void

Nenhum valor retornado.

## Comentários

Usado para substituir seletivamente os tamanhos de LDS e de grupo de threads e os parâmetros de modo WGP/CU das configurações de inicialização do objeto de estado de pipeline de computação definido no momento. A função permite alterar configurações de forma leve, adequada para casos de uso em que não é possível construir estaticamente todas as permutações necessárias dos objetos de estado de pipeline de computação.

Esta função também pode ser usada para dispatches indiretos usando o 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 fila de comandos gráficos.

<Info>
  Você deve chamar `SetPipelineState` (ou usar o argumento `D3D12XBOX_INDIRECT_ARGUMENT_TYPE_PIPELINE_STATE` correspondente para defini-lo indiretamente) com um objeto de estado de pipeline de computação antes de usar esta função. Os parâmetros permanecem substituídos até que você defina um novo objeto de estado de pipeline de computação ou que o driver execute uma operação (como uma limpeza ou descompactação de recursos) que, de outra forma, redefina o objeto de estado de pipeline de computação definido no momento.
</Info>

<Info>
  Ao substituir o tamanho do grupo de threads, seu shader não pode depender dos valores de sistema `SV_DispatchThreadID` ou `SV_GroupIndex`, pois eles são calculados usando o tamanho de grupo especificado no momento da compilação do shader (atributo HLSL `[numthreads(XSize, YSize, ZSize)]` no ponto de entrada do shader). A única exceção a essa limitação é quando o shader foi originalmente compilado como um grupo de threads 1D e você altera apenas essa mesma dimensão, o que permite continuar usando `SV_GroupIndex`.
</Info>

<Info>
  Se o seu shader foi compilado com um tamanho de grupo de threads menor ou igual ao tamanho de wave subjacente, o compilador de shader pode eliminar por otimização quaisquer chamadas que você fizer para `GroupMemoryBarrier[WithGroupSync]`. Se essas condições se aplicarem e você pretender alterar o tamanho do grupo para além de uma única wave, deverá garantir que o shader seja compilado com um tamanho de grupo `numthreads` acima de uma única wave para impedir essa otimização. Recomendamos definir `numthreads` no shader como o tamanho máximo de grupo com o qual você pretende executá-lo.
</Info>

## Requisitos

**Cabeçalho:** d3d12\_xs.h

**Biblioteca:** d3d12\_xs.lib\
**Plataformas compatíveis**: consoles XBOX Series

## Confira também

[ID3D12GraphicsCommandList6](/pt-BR/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList6/id3d12graphicscommandlist6)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [SetComputeRootShaderResourceView](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputerootshaderresourceview_public.md)
- [SetComputeRootSignature](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputerootsignature_public.md)
- [SetComputeRoot32BitConstants](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputeroot32bitconstants_public.md)
- [SetComputeRootDescriptorTable](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputerootdescriptortable_public.md)
