tests: Fix unexpected errors in InvalidMemoryMapping

Old tests for offset/size range violations did not respect device
limits.

Change-Id: I83a1360197db1cdf6a2d9fcc521627643d3ef74d
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index 91f855b..d10b5cf 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -1393,6 +1393,8 @@
     VkDeviceMemory mem;
     VkMemoryRequirements mem_reqs;
 
+    const VkDeviceSize atom_size = m_device->props.limits.nonCoherentAtomSize;
+
     VkBufferCreateInfo buf_info = {};
     buf_info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
     buf_info.pNext = NULL;
@@ -1450,31 +1452,33 @@
     m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Unmapping Memory without memory being mapped: ");
     vkUnmapMemory(m_device->device(), mem);
     m_errorMonitor->VerifyFound();
+
     // Now map memory and cause errors due to flushing invalid ranges
-    err = vkMapMemory(m_device->device(), mem, 16, VK_WHOLE_SIZE, 0, (void **)&pData);
+    err = vkMapMemory(m_device->device(), mem, 4 * atom_size, VK_WHOLE_SIZE, 0, (void **)&pData);
     ASSERT_VK_SUCCESS(err);
     VkMappedMemoryRange mmr = {};
     mmr.sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
     mmr.memory = mem;
-    mmr.offset = 15; // Error b/c offset less than offset of mapped mem
+    mmr.offset = atom_size; // Error b/c offset less than offset of mapped mem
     m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, VALIDATION_ERROR_00642);
     vkFlushMappedMemoryRanges(m_device->device(), 1, &mmr);
     m_errorMonitor->VerifyFound();
+
     // Now flush range that oversteps mapped range
     vkUnmapMemory(m_device->device(), mem);
-    err = vkMapMemory(m_device->device(), mem, 0, 256, 0, (void **)&pData);
+    err = vkMapMemory(m_device->device(), mem, 0, 4 * atom_size, 0, (void **)&pData);
     ASSERT_VK_SUCCESS(err);
-    mmr.offset = 16;
-    mmr.size = 256; // flushing bounds (272) exceed mapped bounds (256)
+    mmr.offset = atom_size;
+    mmr.size = 4 * atom_size; // Flushing bounds exceed mapped bounds
     m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, VALIDATION_ERROR_00642);
     vkFlushMappedMemoryRanges(m_device->device(), 1, &mmr);
     m_errorMonitor->VerifyFound();
 
     // Now flush range with VK_WHOLE_SIZE that oversteps offset
     vkUnmapMemory(m_device->device(), mem);
-    err = vkMapMemory(m_device->device(), mem, 128, 256, 0, (void **)&pData);
+    err = vkMapMemory(m_device->device(), mem, 2 * atom_size, 4 * atom_size, 0, (void **)&pData);
     ASSERT_VK_SUCCESS(err);
-    mmr.offset = 64;
+    mmr.offset = atom_size;
     mmr.size = VK_WHOLE_SIZE;
     m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, VALIDATION_ERROR_00643);
     vkFlushMappedMemoryRanges(m_device->device(), 1, &mmr);