diff options
author | Adrienne Walker <enne@chromium.org> | 2018-04-18 13:46:25 -0700 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-04-20 17:50:45 +0000 |
commit | 1df7cd871224adeca1d0491c061a16fe4e6d28bc (patch) | |
tree | 234d3f3b6fe200bbd961fc797a1c6a02ff08747b /src/gpu/GrDriverBugWorkarounds.cpp | |
parent | 2748391716b04f700a689ac99bc13fd67d812418 (diff) |
Reland "Add stub gpu workaround generators"
This is a reland of 94d25b970b97c68ddd0b4ceb71f2233aac05e6b5
Original change's description:
> Add stub gpu workaround generators
>
> Like https://chromium-review.googlesource.com/c/chromium/src/+/1005362,
> this patch adds a way for Chrome and Skia to share a set of driver
> workaround names so that they can be turned on by Chrome (or Skia) as
> needed.
>
> To avoid weird cross-repository dependencies, the generator script is
> duplicated in Skia.
>
> This patch just adds a few dummy workaround names to make sure the build
> process is working. The followup to this is to add workaround init
> to GrContext/GrContextOptions and to start implementing individual
> workarounds.
>
> Implementing these workarounds is to support Chrome's "out of process
> raster" which will use Ganesh without a command buffer, and so will not
> have the workarounds that the command buffer provides.
>
> Bug: chromium:829614
> Change-Id: I40745a777a95805995991fedb81657ae418b52d9
> Reviewed-on: https://skia-review.googlesource.com/120608
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>
Bug: chromium:829614
Change-Id: Idb3309ffa894f7585ee493388b56565e9d4a3101
Reviewed-on: https://skia-review.googlesource.com/122800
Auto-Submit: Adrienne Walker <enne@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrDriverBugWorkarounds.cpp')
-rw-r--r-- | src/gpu/GrDriverBugWorkarounds.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/gpu/GrDriverBugWorkarounds.cpp b/src/gpu/GrDriverBugWorkarounds.cpp new file mode 100644 index 0000000000..5ed9d8d2ef --- /dev/null +++ b/src/gpu/GrDriverBugWorkarounds.cpp @@ -0,0 +1,32 @@ +/* + * Copyright 2018 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "GrDriverBugWorkarounds.h" + +#include "SkTypes.h" + +GrDriverBugWorkarounds::GrDriverBugWorkarounds() = default; + +GrDriverBugWorkarounds::GrDriverBugWorkarounds( + const std::vector<int>& enabled_driver_bug_workarounds) { + for (auto id : enabled_driver_bug_workarounds) { + switch (id) { +#define GPU_OP(type, name) \ + case GrDriverBugWorkaroundType::type: \ + name = true; \ + break; + + GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP) +#undef GPU_OP + default: + SK_ABORT("Not implemented"); + break; + } + } +} + +GrDriverBugWorkarounds::~GrDriverBugWorkarounds() = default; |