Vulkan: Fix VVL due to memory map range VVL: VUID-VkMappedMemoryRange-size-01390 * Updated BufferBlock::map() so the device memory uses the actually allocated buffer size. * To flush and invalidate a mapped memory range (non-coherent), the memory size is now aligned with nonCoherentAtomSize from the physical device limits. * Added an assert to make sure that the mapped size is within the allocated buffer size range. * Unskipped ExternalBufferTestES31 cases for Pixel6, except one case which seems to take a long time and result in timeout. * BufferDoesNotLeakAHB Bug: angleproject:394685081 Change-Id: Iddfb45997fed53c5ee99938d9bb57b670550b9a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6238059 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>