ID3D12Device5::RemoveDevice, méthode (d3d12.h)
Vous pouvez appeler RemoveDevice pour indiquer au runtime Direct3D 12 que l’appareil GPU a rencontré un problème et ne peut plus être utilisé. Ainsi, les clôtures surveillées de tous les appareils seront signalées. En général, votre application n’a pas besoin d’appeler explicitement RemoveDevice.
Syntaxe
void RemoveDevice();
Valeur de retour
None
Notes
Étant donné que la suppression de l’appareil déclenche la signalisation de toutes les clôtures à UINT64_MAX
, vous pouvez créer un rappel pour la suppression d’appareil à l’aide d’un événement.
HANDLE deviceRemovedEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
assert(deviceRemovedEvent != NULL);
_deviceFence->SetEventOnCompletion(UINT64_MAX, deviceRemoved);
HANDLE waitHandle;
RegisterWaitForSingleObject(
&waitHandle,
deviceRemovedEvent,
OnDeviceRemoved,
_device.Get(), // Pass the device as our context
INFINITE, // No timeout
0 // No flags
);
void OnDeviceRemoved(PVOID context, BOOLEAN)
{
ID3D12Device* removedDevice = (ID3D12Device*)context;
HRESULT removedReason = removedDevice->GetDeviceRemovedReason();
// Perform app-specific device removed operation, such as logging or inspecting DRED output
}
Spécifications
Client minimal pris en charge | Windows 10 Build 20348 |
Serveur minimal pris en charge | Windows 10 Build 20348 |
Plateforme cible | Windows |
En-tête | d3d12.h |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour