summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adlai Holler <adlai@google.com> 2021-03-24 13:26:56 -0400
committer Adlai Holler <adlai@google.com> 2021-03-25 13:39:50 +0000
commitdfc7d4cc7b6ece90b50fede1de04a6d92e7e8e7a (patch)
tree546324b078ce0b0e81d0c0883a644325c663604e
parentd19254d3abc4579c0bbaa83f26bb5558f3fd3f1d (diff)
Add a system property to control Skia reduceOpsTaskSplitting
We are testing this flag with a subset of devices in dogfood and need to have this plumbing available. Bug: 183612348 Change-Id: I8041053ff3da94b08cd6793fac3ff282bc73da9a
-rw-r--r--libs/hwui/renderthread/RenderThread.cpp6
-rw-r--r--libs/hwui/renderthread/RenderThread.h6
2 files changed, 12 insertions, 0 deletions
diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp
index 5dc02e8454ac..db7642d99bb1 100644
--- a/libs/hwui/renderthread/RenderThread.cpp
+++ b/libs/hwui/renderthread/RenderThread.cpp
@@ -40,6 +40,7 @@
#include <utils/Mutex.h>
#include <thread>
+#include <android-base/properties.h>
#include <ui/FatVector.h>
namespace android {
@@ -251,6 +252,11 @@ void RenderThread::requireVkContext() {
void RenderThread::initGrContextOptions(GrContextOptions& options) {
options.fPreferExternalImagesOverES3 = true;
options.fDisableDistanceFieldPaths = true;
+ if (android::base::GetBoolProperty(PROPERTY_REDUCE_OPS_TASK_SPLITTING, false)) {
+ options.fReduceOpsTaskSplitting = GrContextOptions::Enable::kYes;
+ } else {
+ options.fReduceOpsTaskSplitting = GrContextOptions::Enable::kNo;
+ }
}
void RenderThread::destroyRenderingContext() {
diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h
index a7d1ba8dafd7..48e3e12536d2 100644
--- a/libs/hwui/renderthread/RenderThread.h
+++ b/libs/hwui/renderthread/RenderThread.h
@@ -38,6 +38,12 @@
#include "thread/ThreadBase.h"
#include "utils/TimeUtils.h"
+/**
+ * (Bool) Turns on the Skia GPU option "reduceOpsTaskSplitting" which improves GPU
+ * efficiency but may increase VRAM consumption. Default is false.
+ */
+#define PROPERTY_REDUCE_OPS_TASK_SPLITTING "renderthread.skia.reduceopstasksplitting"
+
namespace android {
class Bitmap;