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

# ReportGpuHaltX (consoles XBOX Series)

> Signale un arrêt pendant l'exécution du GPU.

Signale un arrêt pendant l'exécution du GPU. Un arrêt peut être dû à un blocage du GPU, à une exception de nuanceur ou au débogage en direct à la demande.

Un arrêt peut être fatal, par exemple lorsque le GPU se bloque, ou il peut s'agir d'une simple pause, par exemple dans les scénarios de débogage à la demande et d'exception de nuanceur. Le titre doit alors être arrêté ou peut continuer en conséquence. Cette API permet aux développeurs de spécifier le type de débogage GPU qu'ils souhaitent effectuer et si le titre doit continuer ou s'arrêter après un arrêt.

## Syntaxe

```cpp theme={null}
void ReportGpuHaltX(  
         D3D12XBOX_REPORT_GPU_HALT_FLAGS Flags  
)  
```

### Paramètres

*Flags*   \_In\_\
Type : [D3D12XBOX\_REPORT\_GPU\_HALT\_FLAGS](/fr/reference/graphics/d3d12_xs/enums/d3d12xbox_report_gpu_halt_flags)

Options utilisées pour signaler l'arrêt du GPU, sous la forme d'une combinaison OR au niveau du bit de constantes d'énumération **D3D12XBOX\_REPORT\_GPU\_HALT\_FLAGS**.

### Valeur de retour

Type : void

<a id="GpuFullStop" />

## Remarques

Le titre doit vérifier la pulsation (heartbeat) du GPU et signaler un arrêt du GPU au pilote graphique. Voici un exemple de code montrant comment procéder :

```cpp theme={null}
void GpuFullStop(ID3D12Device* device, ID3D12CommandQueue* commandQueue)
{
    Microsoft::WRL::ComPtr<ID3D12Fence> fence = nullptr;
    DX::ThrowIfFailed(device->CreateFence(0, D3D12_FENCE_FLAG_NONE, IID_GRAPHICS_PPV_ARGS(fence.ReleaseAndGetAddressOf())));

    commandQueue->Signal(fence.Get(), 1);

    auto originalTime = GetTickCount();
    while (0 == fence->GetCompletedValue())
    {
        auto currentTime = GetTickCount();
        auto waitTime = 5000U; // 5 seconds
        if (currentTime > originalTime + waitTime)
        {
            D3D12XBOX_REPORT_GPU_HALT_FLAGS flags = D3D12XBOX_REPORT_GPU_HALT_FLAG_NO_TERMINATION;

            if (m_terminateTitle)
            {
                flags = D3D12XBOX_REPORT_GPU_HALT_FLAG_ALL;
            }

            if (m_noDebugBreak)
            {
                flags |= D3D12XBOX_REPORT_GPU_HALT_FLAG_NO_BREAK;
            }

            if (!m_liveDebug)
            {
                flags |= D3D12XBOX_REPORT_GPU_HALT_FLAG_NO_LIVE_DEBUG;
            }

            if (!m_generateHixDump)
            {
                flags |= D3D12XBOX_REPORT_GPU_HALT_FLAG_NO_DUMP;
            }

            ID3D12Device11* device11 = nullptr;
            DX::ThrowIfFailed(device->QueryInterface(IID_GRAPHICS_PPV_ARGS(&device11)));

            device11->ReportGpuHaltX(flags);
        }
        else
        {
            auto sleepTime = 10U; // 10 ms
            Sleep(sleepTime);
        }
    }
}
```

## Configuration requise

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

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

**Plateformes prises en charge :** consoles XBOX Series

## Voir aussi

[ID3D12Device11](/fr/reference/graphics/d3d12_xs/interfaces/ID3D12Device11/id3d12device11)

[EnableLiveDebuggingX](/fr/reference/graphics/d3d12_xs/interfaces/ID3D12Device11/methods/id3d12device11_enablelivedebuggingx)

[SetHangCallbacksX](/fr/reference/graphics/d3d12_x/interfaces/id3d12device/methods/id3d12device_sethangcallbacksx)

[Débogage de nuanceur en direct pour XBOX Hang Investigation](https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/tools-console/xbox-tools-and-apis/hix/live-debugging)

[Débogage en direct sur les exceptions de nuanceur dans PIX](https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/tools-console/xbox-tools-and-apis/pix/pix-shader-exceptions-live-debugging)

[Débogage en direct à la demande dans PIX](https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/tools-console/xbox-tools-and-apis/pix/pix-on-demand-live-debugging)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr/nda/nda-topic-directory.md)
- [Captures PIX GPU Trace sur les consoles XBOX Series](/fr/tools/tools-console/pix/gpu-trace/index.md)
- [RemoveDevice (consoles XBOX Series)](/fr/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_removedevice_public.md)
- [CreateCommittedResource1 (consoles XBOX Series)](/fr/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [D3D12_RAYTRACING_INSTANCE_DESC (consoles XBOX Series)](/fr/reference/graphics/d3d12/structs/d3d12_raytracing_instance_desc_public.md)
