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

# CreateDerivedGraphicsPipelineStateX (família XBOX One)

> Cria de forma eficiente um objeto de estado de pipeline de gráficos derivado de outro objeto de estado de pipeline.

Cria um objeto de estado de pipeline de gráficos derivado de outro objeto de estado de pipeline (PSO).

## Sintaxe

```cpp theme={null}
HRESULT CreateDerivedGraphicsPipelineStateX(  
         ID3D12PipelineState* pSrcPipelineState,  
         UINT NumDescs,  
         const D3D12XBOX_DERIVED_GRAPHICS_STATE_DESC* pDescs,  
         REFIID riid,  
         void** ppDerivedPipelineState  
)  
```

### Parâmetros

*pSrcPipelineState*   \_In\_<br />Tipo: [ID3D12PipelineState](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12pipelinestate/id3d12pipelinestate)\*

O estado do pipeline de origem como um ponteiro para [ID3D12PipelineState](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nn-d3d12-id3d12pipelinestate).

*NumDescs*   \_In\_<br />Tipo: UINT

O número de estruturas [D3D12XBOX\_DERIVED\_GRAPHICS\_STATE\_DESC](/pt-BR/reference/graphics/d3d12_x/structs/d3d12xbox_derived_graphics_state_desc) em **pDescs**.

*pDescs*   \_In\_<br />Tipo: [D3D12XBOX\_DERIVED\_GRAPHICS\_STATE\_DESC\*](/pt-BR/reference/graphics/d3d12_x/structs/d3d12xbox_derived_graphics_state_desc)

As descrições como uma matriz de estruturas **D3D12XBOX\_DERIVED\_GRAPHICS\_STATE\_DESC**.

*riid*   \_In\_<br />Tipo: REFIID

O GUID (identificador global exclusivo) da interface de estado do pipeline, [ID3D12PipelineState](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nn-d3d12-id3d12pipelinestate).

Para recuperar o [REFIID](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-oaut/bbde795f-5398-42d8-9f59-3613da03c318) (ou GUID) da interface para o estado do pipeline, use a macro [\_\_uuidof()](https://learn.microsoft.com/en-us/cpp/cpp/uuidof-operator?view=vs-2019). Por exemplo, para obter o GUID da interface para uma lista de comandos, faça o seguinte:

```cpp theme={null}
__uuidof(ID3D12PipelineState)  
```

*ppDerivedPipelineState*   \_Outptr\_<br />Tipo: void\*\*

O objeto de estado de pipeline de gráficos derivado resultante.

### Valor retornado

Tipo: HRESULT

Um dos [códigos de retorno do Direct3D 12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12-graphics-reference-returnvalues).

## Comentários

Este método permite criar um objeto de estado de pipeline de gráficos derivado de outro PSO. O novo objeto é derivado usando o estado do objeto de origem como estado base e permite alterações no estado de profundidade/estêncil, rasterizador e/ou mesclagem.

O método pode ser útil quando nem todas as permutações do estado do PSO podem ser conhecidas e criadas offline usando [ID3D12Device::DeserializeGraphicsPipelineStateX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12device/methods/id3d12device_deserializegraphicspipelinestatex), pois **CreateDerivedGraphicsPipelineStateX** permite a criação em tempo de execução com classes de estado arbitrário. **CreateDerivedGraphicsPipelineStateX** é leve em termos de CPU e de memória.

Agrupamentos de estado individuais (como estado de mesclagem ou de rasterizador) podem ser alterados. Qualquer estado não substituído será definido com o mesmo valor do PSO de origem. NumDescs descreve a contagem de agrupamentos de estado a serem alterados. Type identifica o tipo de cada agrupamento de estado.

Veja a seguir as responsabilidades do chamador:

* Se o PSO de origem tiver sido criado por meio de [DeserializeGraphicsPipelineStateX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12device/methods/id3d12device_deserializegraphicspipelinestatex): o chamador deve garantir que as instruções da GPU persistam durante o tempo de vida do objeto original e do objeto derivado.
* Se o PSO de origem tiver sido criado por meio de [CreateGraphicsPipelineState](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nf-d3d12-id3d12device-creategraphicspipelinestate): para garantir que suas instruções da GPU persistam durante o tempo de vida do objeto derivado, o subsistema D3D12 adiciona automaticamente uma contagem de referência ao objeto de origem.

**CreateDerivedGraphicsPipelineStateX** garante que o sombreador não será recompilado nem corrigido como parte do processo de criação.

## Requisitos

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

**Biblioteca:** d3d12\_x.lib

**Plataformas com suporte:** família XBOX One

## Confira também

[ID3D12Device](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [CreateGraphicsPipelineState](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_creategraphicspipelinestate_public.md)
- [CreateComputePipelineState](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcomputepipelinestate_public.md)
- [CreatePipelineLibrary](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device1/methods/id3d12device1_createpipelinelibrary_public.md)
- [SetPipelineState](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setpipelinestate_public.md)
- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
