diff --git a/runtime/os_interface/windows/wddm_residency_controller.cpp b/runtime/os_interface/windows/wddm_residency_controller.cpp index 1d5613aabd..4d94376116 100644 --- a/runtime/os_interface/windows/wddm_residency_controller.cpp +++ b/runtime/os_interface/windows/wddm_residency_controller.cpp @@ -300,7 +300,7 @@ bool WddmResidencyController::trimResidencyToBudget(uint64_t bytes) { bool WddmResidencyController::makeResidentResidencyAllocations(const ResidencyContainer &allocationsForResidency) { const size_t residencyCount = allocationsForResidency.size(); - std::unique_ptr handlesForResidency(new D3DKMT_HANDLE[residencyCount * maxFragmentsCount]); + std::unique_ptr handlesForResidency(new D3DKMT_HANDLE[residencyCount * maxFragmentsCount * maxHandleCount]); uint32_t totalHandlesCount = 0; auto lock = this->acquireLock();