Enable reduceOpsTaskSplitting by default

Chrome does not rely on the default – this option is under a finch trial
named "ReduceOpsTaskSplitting." See crbug.com/1210578.

Android does not rely on the default – the flag is controlled by a
property named "renderthread.skia.reduceopstasksplitting", and enabled
by default. See b/183612348.

Flutter does not rely on the default – they explicitly disable the
option. See https://github.com/flutter/engine/pull/26568.

Our tools do not rely on the default – they enable the flag unless the
user passes --dontReduceOpsTaskSplitting on command line. Our bots
run with the flag enabled except the NUC5PPYH, for the sake of coverage.

The flag has no effect for Adreno 620 and 640, on drivers older than
v571, due to a driver bug.

Bug: skia:10877
Change-Id: Iafc84f3463194f0cf6cf135b2be05ec8eb08e446
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419836
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This commit is contained in:
Adlai Holler 2021-06-21 11:11:44 -04:00 committed by Skia Commit-Bot
parent 7b8d2147d7
commit 4ff6072351
3 changed files with 8 additions and 2 deletions

View File

@ -12,6 +12,9 @@ Milestone 93
* Removed SkShaders::Lerp. It was unused (and easy to replicate with SkRuntimeEffect).
https://review.skia.org/419796
* The default value of GrContextOptions::fReduceOpsTaskSplitting is now enabled.
https://review.skia.org/419836
* * *
Milestone 92

View File

@ -196,7 +196,10 @@ struct SK_API GrContextOptions {
Enable fUseDrawInsteadOfClear = Enable::kDefault;
/**
* Experimental: Allow Ganesh to more aggressively reorder operations.
* Allow Ganesh to more aggressively reorder operations to reduce the number of render passes.
* Offscreen draws will be done upfront instead of interrupting the main render pass when
* possible. May increase VRAM usage, but still observes the resource cache limit.
* Enabled by default.
*/
Enable fReduceOpsTaskSplitting = Enable::kDefault;

View File

@ -73,7 +73,7 @@ bool GrRecordingContext::init() {
}
#endif
bool reduceOpsTaskSplitting = false;
bool reduceOpsTaskSplitting = true;
if (this->caps()->avoidReorderingRenderTasks()) {
reduceOpsTaskSplitting = false;
} else if (GrContextOptions::Enable::kYes == this->options().fReduceOpsTaskSplitting) {