Always use dedicated VkImage memory on NexusPlayer and Mali.

Fixes issues caused by https://skia-review.googlesource.com/c/skia/+/135260

Bug: skia:
Change-Id: I99db232c6ba56f4adccf6cfaa9c29a4bec900d9b
Reviewed-on: https://skia-review.googlesource.com/135448
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp
index 602e9e1..cc9d0ca 100644
--- a/src/gpu/vk/GrVkCaps.cpp
+++ b/src/gpu/vk/GrVkCaps.cpp
@@ -22,7 +22,7 @@
     fMustSubmitCommandsBeforeCopyOp = false;
     fMustSleepOnTearDown  = false;
     fNewCBOnPipelineChange = false;
-    fCanUseWholeSizeOnFlushMappedMemory = true;
+    fShouldAlwaysUseDedicatedImageMemory = false;
 
     /**************************************************************************
     * GrDrawTargetCaps fields
@@ -223,6 +223,12 @@
         this->applyDriverCorrectnessWorkarounds(properties);
     }
 
+    // On nexus player we disable suballocating VkImage memory since we've seen large slow downs on
+    // bot run times.
+    if (kImagination_VkVendor == properties.vendorID) {
+        fShouldAlwaysUseDedicatedImageMemory = true;
+    }
+
     this->applyOptionsOverrides(contextOptions);
     fShaderCaps->applyOptionsOverrides(contextOptions);
 }
@@ -252,6 +258,11 @@
         fNewCBOnPipelineChange = true;
     }
 
+    // On Mali galaxy s7 we see lots of rendering issues when we suballocate VkImages.
+    if (kARM_VkVendor == properties.vendorID) {
+        fShouldAlwaysUseDedicatedImageMemory = true;
+    }
+
     ////////////////////////////////////////////////////////////////////////////
     // GrCaps workarounds
     ////////////////////////////////////////////////////////////////////////////
@@ -265,10 +276,6 @@
         fMaxVertexAttributes = SkTMin(fMaxVertexAttributes, 32);
     }
 
-    if (kIntel_VkVendor == properties.vendorID) {
-        fCanUseWholeSizeOnFlushMappedMemory = false;
-    }
-
     ////////////////////////////////////////////////////////////////////////////
     // GrShaderCaps workarounds
     ////////////////////////////////////////////////////////////////////////////