diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2016-08-15 15:00:12 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2016-08-17 15:34:27 -0600 |
| commit | 9eb241b38d338f05d694242aa663c0972e5c01b7 (patch) | |
| tree | ae9ced84e89ef76d16cdb423561500f9a9c8591d /layers/core_validation.cpp | |
| parent | 5cf2d27bca81fb746697493a8e78bb9e582c2865 (diff) | |
| download | usermoji-9eb241b38d338f05d694242aa663c0972e5c01b7.tar.xz | |
layers: GH822, handle WHOLE_SIZE for mapped memory
A support routine for FlushMappedMemoryRanges and InvalidateMapped-
MemoryRanges ignored VK_WHOLE_SIZE, causing invalid memory accesses.
Change-Id: I28616faa1339a394a3462e72780efd1b852ac489
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index e6c50c32..5801cf50 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -10317,7 +10317,8 @@ static bool validateAndCopyNoncoherentMemoryToDriver(layer_data *my_data, uint32 auto mem_info = getMemObjInfo(my_data, pMemRanges[i].memory); if (mem_info) { if (mem_info->p_data) { - VkDeviceSize size = mem_info->mem_range.size; + VkDeviceSize size = + (mem_info->mem_range.size != VK_WHOLE_SIZE) ? mem_info->mem_range.size : mem_info->alloc_info.allocationSize; VkDeviceSize half_size = (size / 2); char *data = static_cast<char *>(mem_info->p_data); for (auto j = 0; j < half_size; ++j) { |
