> ## 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/reference/graphics/d3d12_x/interfaces/id3d12pipelinestate/id3d12pipelinestate)\*

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

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

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

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

Descriptions, sous la forme d'un tableau de structures **D3D12XBOX\_DERIVED\_GRAPHICS\_STATE\_DESC**.

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

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\*\*

Objet d'état de pipeline graphique dérivé résultant.

### Valeur renvoyée

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 connexion à l'aide de [ID3D12Device::DeserializeGraphicsPipelineStateX](/fr/reference/graphics/d3d12_x/interfaces/id3d12device/methods/id3d12device_deserializegraphicspipelinestatex), car **CreateDerivedGraphicsPipelineStateX** permet une création au moment de l'exécution avec des classes d'état arbitraires. **CreateDerivedGraphicsPipelineStateX** est léger en termes de CPU et de mémoire.

Les regroupements d'états individuels (tels que l'état de fusion ou de rastériseur) peuvent être modifiés. Tout état non remplacé est 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éé via [DeserializeGraphicsPipelineStateX](/fr/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éé via [CreateGraphicsPipelineState](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/nf-d3d12-id3d12device-creategraphicspipelinestate) : pour 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 décompte 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/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [CreateGraphicsPipelineState](/fr/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_creategraphicspipelinestate_public.md)
- [CreateComputePipelineState](/fr/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcomputepipelinestate_public.md)
- [CreatePipelineLibrary](/fr/reference/graphics/d3d12/interfaces/id3d12device1/methods/id3d12device1_createpipelinelibrary_public.md)
- [SetPipelineState](/fr/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setpipelinestate_public.md)
- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr/nda/nda-topic-directory.md)
