D3D12: check if resource manager exists before releasing

ClusterFuzz injects errors into the device which may not
initialize the resource manager which would later fail upon
shutdown. This adds a check to see if the resource manager
exists before releasing the pool.

BUG=chromium:1117595

Change-Id: Ie2b90f947f3ddd3906ecabc65e959915c1f7e386
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27040
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
This commit is contained in:
Bryan Bernhart 2020-08-20 17:06:39 +00:00 committed by Commit Bot service account
parent ab4e4feb01
commit ef0fee48c4
1 changed files with 3 additions and 1 deletions

View File

@ -571,7 +571,9 @@ namespace dawn_native { namespace d3d12 {
} }
// Release recycled resource heaps. // Release recycled resource heaps.
mResourceAllocatorManager->DestroyPool(); if (mResourceAllocatorManager != nullptr) {
mResourceAllocatorManager->DestroyPool();
}
// We need to handle clearing up com object refs that were enqeued after TickImpl // We need to handle clearing up com object refs that were enqeued after TickImpl
mUsedComObjectRefs.ClearUpTo(std::numeric_limits<Serial>::max()); mUsedComObjectRefs.ClearUpTo(std::numeric_limits<Serial>::max());