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
////////////////////////////////////////////////////////////////////////////