- Problem with CL_DEVICE_GLOBAL_FREE_MEMORY_AMD query.
Check if allocated memory exceeds the total size.

Change-Id: Ieed8829860663bac1acfa41d21309dff4d8772c7
Этот коммит содержится в:
German Andryeyev
2020-04-16 08:21:21 -04:00
родитель 0318fcccf6
Коммит e289ebdf20
+3 -2
Просмотреть файл
@@ -1852,10 +1852,11 @@ bool Device::globalFreeMemory(size_t* freeMemory) const {
Pal::gpusize local = allocedMem[Pal::GpuHeapLocal];
Pal::gpusize invisible = allocedMem[Pal::GpuHeapInvisible] - resourceCache().lclCacheSize();
Pal::gpusize total_alloced = local + invisible;
// Fill free memory info
freeMemory[TotalFreeMemory] =
static_cast<size_t>((info().globalMemSize_ - (local + invisible)) / Ki);
freeMemory[TotalFreeMemory] = (total_alloced > info().globalMemSize_ ) ? 0 :
static_cast<size_t>((info().globalMemSize_ - total_alloced) / Ki);
if (invisible >= heaps_[Pal::GpuHeapInvisible].heapSize) {
invisible = 0;
} else {