diff options
author | Mike Klein <mtklein@chromium.org> | 2017-04-21 14:58:03 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-04-25 22:47:52 +0000 |
commit | 101806f4526d0ba5d48515c82a28dbf6956aca4d (patch) | |
tree | 0c41b4fa746dc44afecbc2e8a9c816cccda54308 /src/core/SkAnalyticEdge.h | |
parent | 0c66640ec83af956ab3f6451bd7befd44e73b3b5 (diff) |
Inject a dsb into SkAnalyticEdge::setLine() to work around ARMv7 CPU erratum.
BUG=chromium:710131
Change-Id: I4568bc24cc8fabb6f9df3b7645b01a98e11791b8
Reviewed-on: https://skia-review.googlesource.com/14062
Reviewed-by: Doug Anderson <dianders@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core/SkAnalyticEdge.h')
-rw-r--r-- | src/core/SkAnalyticEdge.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/SkAnalyticEdge.h b/src/core/SkAnalyticEdge.h index 65fb11c69c..6c75d157ce 100644 --- a/src/core/SkAnalyticEdge.h +++ b/src/core/SkAnalyticEdge.h @@ -131,6 +131,9 @@ struct SkAnalyticCubicEdge : public SkAnalyticEdge { }; bool SkAnalyticEdge::setLine(const SkPoint& p0, const SkPoint& p1) { +#if defined(__arm__) + asm volatile("dsb"); // crbug.com/710131 +#endif fRiteE = nullptr; // We must set X/Y using the same way (e.g., times 4, to FDot6, then to Fixed) as Quads/Cubics. |