diff options
author | Nataraj Deshpande <nataraj.deshpande@intel.com> | 2020-07-08 15:39:30 -0700 |
---|---|---|
committer | Nataraj Deshpande <nataraj.deshpande@intel.com> | 2020-07-09 19:06:41 -0700 |
commit | 302959347fe3fafd4c61d0e068a76d941155ac7b (patch) | |
tree | 69f51dab036f2b574bc06234ec52a4e38130254d | |
parent | b50322e8226e1720630dc21d96ba2c49d07ffb76 (diff) | |
download | skqp-302959347fe3fafd4c61d0e068a76d941155ac7b.tar.gz |
Select the Heap based on device alignment
Fixes vulkan crashes in CtsSkQPTestCases on
platforms with 64k surface alignment.
Bug: b/154244495
Test: Run CtsSkQPTestCases
Change-Id: I0d8124739403b6623f3cf9f55169fdbded974a36
-rw-r--r-- | src/gpu/vk/GrVkMemory.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gpu/vk/GrVkMemory.cpp b/src/gpu/vk/GrVkMemory.cpp index e391d02aee..affa5f604e 100644 --- a/src/gpu/vk/GrVkMemory.cpp +++ b/src/gpu/vk/GrVkMemory.cpp @@ -191,7 +191,8 @@ bool GrVkMemory::AllocAndBindImageMemory(const GrVkGpu* gpu, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, &typeIndex, &heapIndex)); - if (memReqs.size <= kMaxSmallImageSize) { + // select the heap based on the device alignment + if (align_size(memReqs.size, memReqs.alignment) <= kMaxSmallImageSize) { heap = gpu->getHeap(GrVkGpu::kSmallOptimalImage_Heap); } else { heap = gpu->getHeap(GrVkGpu::kOptimalImage_Heap); |