> ## 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 (famille XBOX One)

> Crée efficacement un objet d'état de pipeline graphique dérivé d'un autre objet d'état de pipeline.

Crée un objet d'état de pipeline graphique dérivé d'un autre objet d'état de pipeline (PSO).

## Syntaxe

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

### Paramètres

*pSrcPipelineState*   \_In\_<br />Type : [ID3D12PipelineState](/fr-CA/reference/graphics/d3d12_x/interfaces/id3d12pipelinestate/id3d12pipelinestate)\*

L'état de pipeline source, sous forme de pointeur vers [ID3D12PipelineState](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nn-d3d12-id3d12pipelinestate).

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

Le nombre de structures [D3D12XBOX\_DERIVED\_GRAPHICS\_STATE\_DESC](/fr-CA/reference/graphics/d3d12_x/structs/d3d12xbox_derived_graphics_state_desc) dans **pDescs**.

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

Les descriptions, sous forme de tableau de structures **D3D12XBOX\_DERIVED\_GRAPHICS\_STATE\_DESC**.

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

L'identificateur global unique (GUID) de l'interface d'état de pipeline, [ID3D12PipelineState](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nn-d3d12-id3d12pipelinestate).

Pour récupérer le [REFIID](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-oaut/bbde795f-5398-42d8-9f59-3613da03c318) (ou GUID) de l'interface de l'état de pipeline, utilisez la macro [\_\_uuidof()](https://learn.microsoft.com/en-us/cpp/cpp/uuidof-operator?view=vs-2019). Par exemple, pour obtenir le GUID de l'interface d'une liste de commandes, procédez comme suit :

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

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

L'objet d'état de pipeline graphique dérivé résultant.

### Valeur de retour

Type : HRESULT

L'un des [codes de retour Direct3D 12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12-graphics-reference-returnvalues).

## Remarques

Cette méthode vous permet de créer un objet d'état de pipeline graphique dérivé d'un autre PSO. Le nouvel objet est dérivé en utilisant l'état de l'objet source comme état de base et permet de modifier l'état de profondeur/gabarit, de rastériseur et/ou de fusion.

Cette méthode peut être utile lorsque toutes les permutations de l'état du PSO ne peuvent pas être connues et créées hors ligne à l'aide de [ID3D12Device::DeserializeGraphicsPipelineStateX](/fr-CA/reference/graphics/d3d12_x/interfaces/id3d12device/methods/id3d12device_deserializegraphicspipelinestatex), car **CreateDerivedGraphicsPipelineStateX** permet la création au moment de l'exécution avec des classes d'état arbitraires. **CreateDerivedGraphicsPipelineStateX** est léger en ce qui concerne à la fois le CPU et la mémoire.

Des regroupements d'états individuels (comme l'état de fusion ou de rastériseur) peuvent être modifiés. Tout état non substitué sera défini sur la même valeur que celle du PSO source. NumDescs décrit le nombre de regroupements d'états à modifier. Type identifie le type de chaque regroupement d'états.

Voici les responsabilités de l'appelant :

* Si le PSO source a été créé au moyen de [DeserializeGraphicsPipelineStateX](/fr-CA/reference/graphics/d3d12_x/interfaces/id3d12device/methods/id3d12device_deserializegraphicspipelinestatex) : l'appelant doit s'assurer que les instructions GPU persistent pendant toute la durée de vie de l'objet d'origine et de l'objet dérivé.
* Si le PSO source a été créé au moyen de [CreateGraphicsPipelineState](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nf-d3d12-id3d12device-creategraphicspipelinestate) : afin de garantir que ses instructions GPU persistent pendant toute la durée de vie de l'objet dérivé, le sous-système D3D12 ajoute automatiquement un compteur de références à l'objet source.

**CreateDerivedGraphicsPipelineStateX** garantit que le nuanceur ne sera ni recompilé ni corrigé dans le cadre du processus de création.

## Configuration requise

**En-tête :** d3d12\_x.h

**Bibliothèque :** d3d12\_x.lib

**Plateformes prises en charge :** famille XBOX One

## Voir aussi

[ID3D12Device](/fr-CA/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [CreateGraphicsPipelineState](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_creategraphicspipelinestate_public.md)
- [NDA topic directory - live Microsoft Learn links](/nda/nda-topic-directory.md)
- [CreateComputePipelineState](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcomputepipelinestate_public.md)
