Merge tag 'android-13.0.0_r32' into int/13/fp3

Android 13.0.0 release 32

* tag 'android-13.0.0_r32':
  Vulkan: Always enable mVirtualBlockMutex
  Empty commit to merge VMA crash fix
  DO NOT MERGE: Enable perFrameWindowSizeQuery on Android
  Empty commit for perFrameWindowSizeQuery

Change-Id: Ie294ca3c3baa06180686deaf933a540083d242f8
diff --git a/src/libANGLE/renderer/vulkan/vk_utils.cpp b/src/libANGLE/renderer/vulkan/vk_utils.cpp
index 7285841..0a2fb13 100644
--- a/src/libANGLE/renderer/vulkan/vk_utils.cpp
+++ b/src/libANGLE/renderer/vulkan/vk_utils.cpp
@@ -1618,7 +1618,6 @@
     ASSERT(!mBuffer.valid());
     ASSERT(!mDeviceMemory.valid());
 
-    mVirtualBlockMutex.init(renderer->isAsyncCommandQueueEnabled());
     ANGLE_VK_TRY(context, mVirtualBlock.init(renderer->getDevice(), flags, size));
 
     mBuffer              = std::move(buffer);
@@ -1664,7 +1663,7 @@
 
 void BufferBlock::free(VkDeviceSize offset)
 {
-    std::lock_guard<ConditionalMutex> lock(mVirtualBlockMutex);
+    std::unique_lock<std::mutex> lock(mVirtualBlockMutex);
     mVirtualBlock.free(offset);
 }
 
diff --git a/src/libANGLE/renderer/vulkan/vk_utils.h b/src/libANGLE/renderer/vulkan/vk_utils.h
index a53c8a4..37f07ac 100644
--- a/src/libANGLE/renderer/vulkan/vk_utils.h
+++ b/src/libANGLE/renderer/vulkan/vk_utils.h
@@ -945,9 +945,7 @@
     int32_t getAndIncrementEmptyCounter();
 
   private:
-    // Protect multi-thread access to mVirtualBlock, which could be possible when asyncCommandQueue
-    // is enabled.
-    ConditionalMutex mVirtualBlockMutex;
+    mutable std::mutex mVirtualBlockMutex;
     VirtualBlock mVirtualBlock;
 
     Buffer mBuffer;
@@ -1025,7 +1023,7 @@
 
 ANGLE_INLINE VkBool32 BufferBlock::isEmpty()
 {
-    std::lock_guard<ConditionalMutex> lock(mVirtualBlockMutex);
+    std::unique_lock<std::mutex> lock(mVirtualBlockMutex);
     return vma::IsVirtualBlockEmpty(mVirtualBlock.getHandle());
 }
 
@@ -1054,7 +1052,7 @@
                                             VkDeviceSize alignment,
                                             VkDeviceSize *offsetOut)
 {
-    std::lock_guard<ConditionalMutex> lock(mVirtualBlockMutex);
+    std::unique_lock<std::mutex> lock(mVirtualBlockMutex);
     mCountRemainsEmpty = 0;
     return mVirtualBlock.allocate(size, alignment, offsetOut);
 }