Merge tag 'android-security-13.0.0_r8' into int/13/fp3

Android Security 13.0.0 Release 8 (10286630)

* tag 'android-security-13.0.0_r8':
  Fix a bug when getting a gzip header extra field with inflate().

Change-Id: I268ba9f63b99c351c4baff8f66ff6614b3013685
diff --git a/src/libANGLE/renderer/vulkan/RendererVk.cpp b/src/libANGLE/renderer/vulkan/RendererVk.cpp
index 5ca545e..db519f0 100644
--- a/src/libANGLE/renderer/vulkan/RendererVk.cpp
+++ b/src/libANGLE/renderer/vulkan/RendererVk.cpp
@@ -3089,8 +3089,9 @@
     ANGLE_FEATURE_CONDITION(&mFeatures, bindEmptyForUnusedDescriptorSets,
                             IsAndroid() && isQualcomm);
 
-    ANGLE_FEATURE_CONDITION(&mFeatures, perFrameWindowSizeQuery,
-                            isIntel || (IsWindows() && isAMD) || IsFuchsia() || isSamsung);
+    ANGLE_FEATURE_CONDITION(
+        &mFeatures, perFrameWindowSizeQuery,
+        IsAndroid() || isIntel || (IsWindows() && isAMD) || IsFuchsia() || isSamsung);
 
     // Disabled on AMD/windows due to buggy behavior.
     ANGLE_FEATURE_CONDITION(&mFeatures, disallowSeamfulCubeMapEmulation, IsWindows() && isAMD);
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);
 }