@@ -479,38 +479,42 @@ namespace gpgmm::d3d12 {
479479 static_cast <uint64_t >(queryVideoMemoryInfoOut.Budget * mMinPctOfBudgetToReserve ),
480480 pVideoMemoryInfo->AvailableForReservation );
481481
482- const uint64_t oldUsage = pVideoMemoryInfo->CurrentUsage ;
482+ const uint64_t previousUsage = pVideoMemoryInfo->CurrentUsage ;
483483 pVideoMemoryInfo->CurrentUsage =
484484 queryVideoMemoryInfoOut.CurrentUsage - pVideoMemoryInfo->CurrentReservation ;
485485
486- if (oldUsage > pVideoMemoryInfo->CurrentUsage ) {
486+ if (previousUsage > pVideoMemoryInfo->CurrentUsage &&
487+ GPGMM_BYTES_TO_MB (previousUsage - pVideoMemoryInfo->CurrentUsage ) > 0 ) {
487488 gpgmm::DebugLog () << GetMemorySegmentName (memorySegmentGroup, mIsUMA )
488489 << " GPU memory usage went down by "
489- << GPGMM_BYTES_TO_MB (oldUsage - pVideoMemoryInfo->CurrentUsage )
490+ << GPGMM_BYTES_TO_MB (previousUsage - pVideoMemoryInfo->CurrentUsage )
490491 << " MBs." ;
491- } else if (oldUsage < pVideoMemoryInfo->CurrentUsage ) {
492+ } else if (previousUsage < pVideoMemoryInfo->CurrentUsage &&
493+ GPGMM_BYTES_TO_MB (pVideoMemoryInfo->CurrentUsage - previousUsage) > 0 ) {
492494 gpgmm::DebugLog () << GetMemorySegmentName (memorySegmentGroup, mIsUMA )
493495 << " GPU memory usage went up by "
494- << GPGMM_BYTES_TO_MB (pVideoMemoryInfo->CurrentUsage - oldUsage )
496+ << GPGMM_BYTES_TO_MB (pVideoMemoryInfo->CurrentUsage - previousUsage )
495497 << " MBs." ;
496498 }
497499
498500 // If we're restricting the budget, leave the budget as is.
499501 if (!mIsBudgetRestricted ) {
500- const uint64_t oldBudget = pVideoMemoryInfo->Budget ;
502+ const uint64_t previousBudget = pVideoMemoryInfo->Budget ;
501503 pVideoMemoryInfo->Budget = static_cast <uint64_t >(
502504 (queryVideoMemoryInfoOut.Budget - pVideoMemoryInfo->CurrentReservation ) *
503505 mMaxPctOfVideoMemoryToBudget );
504506
505- if (oldBudget > pVideoMemoryInfo->Budget ) {
507+ if (previousBudget > pVideoMemoryInfo->Budget &&
508+ GPGMM_BYTES_TO_MB (previousBudget - pVideoMemoryInfo->Budget ) > 0 ) {
506509 gpgmm::DebugLog () << GetMemorySegmentName (memorySegmentGroup, mIsUMA )
507510 << " GPU memory budget went down by "
508- << GPGMM_BYTES_TO_MB (oldBudget - pVideoMemoryInfo->Budget )
511+ << GPGMM_BYTES_TO_MB (previousBudget - pVideoMemoryInfo->Budget )
509512 << " MBs." ;
510- } else if (oldBudget < pVideoMemoryInfo->Budget ) {
513+ } else if (previousBudget < pVideoMemoryInfo->Budget &&
514+ GPGMM_BYTES_TO_MB (pVideoMemoryInfo->Budget - previousBudget) > 0 ) {
511515 gpgmm::DebugLog () << GetMemorySegmentName (memorySegmentGroup, mIsUMA )
512516 << " GPU memory budget went up by "
513- << GPGMM_BYTES_TO_MB (pVideoMemoryInfo->Budget - oldBudget )
517+ << GPGMM_BYTES_TO_MB (pVideoMemoryInfo->Budget - previousBudget )
514518 << " MBs." ;
515519 }
516520 }
0 commit comments