From 98e0b79a522756210517b7bc6c50c667674f8f4a Mon Sep 17 00:00:00 2001 From: Bill Hollings Date: Fri, 6 Dec 2019 10:18:13 -0500 Subject: [PATCH] Fix inconsistency in reporting device local memory between type and heap on macOS. --- Docs/Whats_New.md | 1 + MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Docs/Whats_New.md b/Docs/Whats_New.md index d292e640..5b9aa650 100644 --- a/Docs/Whats_New.md +++ b/Docs/Whats_New.md @@ -27,6 +27,7 @@ Released TBD - Fix image subresource sizing calculations for heap-based textures. - Fix `MTLHeap` memory leak in `MVKDeviceMemory`. - Fix tessellation break when control stage declares but does not use position builtin. +- Fix inconsistency in reporting device local memory between type and heap on macOS. - Cube demo use `VK_EXT_metal_surface` extension. - Support *Xcode 11.2*. diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm index c21786d0..d88a9e36 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKDevice.mm @@ -1844,7 +1844,7 @@ void MVKPhysicalDevice::initMemoryProperties() { // This means we really have two heaps. The second heap is system memory. _memoryProperties.memoryHeapCount = 2; _memoryProperties.memoryHeaps[1].size = mvkGetSystemMemorySize(); - _memoryProperties.memoryHeaps[1].flags = 0; + _memoryProperties.memoryHeaps[1].flags = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT; _memoryProperties.memoryTypes[2].heapIndex = 1; // Shared memory in the shared heap } #endif