From f21aa04dca1ab16e57d9bac3f6a08abb7e107d95 Mon Sep 17 00:00:00 2001 From: Brian Osman Date: Mon, 21 Aug 2017 16:48:46 -0400 Subject: Plumb GrContextOptions to GPU sinks in DM We were ignoring the path renderer flag when drawing GMs or SKPs. Bug: skia: Change-Id: Iee443fb70f1faec65e46925fa0e3cea3716d448d Reviewed-on: https://skia-review.googlesource.com/36861 Reviewed-by: Chris Dalton Commit-Queue: Brian Osman --- dm/DM.cpp | 2 +- dm/DMSrcSink.cpp | 8 +++++--- dm/DMSrcSink.h | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'dm') diff --git a/dm/DM.cpp b/dm/DM.cpp index 37ff24d8d6..a442e09050 100644 --- a/dm/DM.cpp +++ b/dm/DM.cpp @@ -861,7 +861,7 @@ static Sink* create_sink(const GrContextOptions& grCtxOptions, const SkCommandLi return new GPUSink(contextType, contextOverrides, gpuConfig->getSamples(), gpuConfig->getUseDIText(), gpuConfig->getColorType(), gpuConfig->getAlphaType(), sk_ref_sp(gpuConfig->getColorSpace()), - FLAGS_gpu_threading); + FLAGS_gpu_threading, grCtxOptions); } } #endif diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp index 9eee2d2fd0..f9e5fd3d21 100644 --- a/dm/DMSrcSink.cpp +++ b/dm/DMSrcSink.cpp @@ -1301,7 +1301,8 @@ GPUSink::GPUSink(GrContextFactory::ContextType ct, SkColorType colorType, SkAlphaType alphaType, sk_sp colorSpace, - bool threaded) + bool threaded, + const GrContextOptions& grCtxOptions) : fContextType(ct) , fContextOverrides(overrides) , fSampleCount(samples) @@ -1309,12 +1310,13 @@ GPUSink::GPUSink(GrContextFactory::ContextType ct, , fColorType(colorType) , fAlphaType(alphaType) , fColorSpace(std::move(colorSpace)) - , fThreaded(threaded) {} + , fThreaded(threaded) + , fBaseContextOptions(grCtxOptions) {} DEFINE_bool(drawOpClip, false, "Clip each GrDrawOp to its device bounds for testing."); Error GPUSink::draw(const Src& src, SkBitmap* dst, SkWStream*, SkString* log) const { - GrContextOptions grOptions; + GrContextOptions grOptions = fBaseContextOptions; src.modifyGrContextOptions(&grOptions); diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h index a4c3c488dd..117514995a 100644 --- a/dm/DMSrcSink.h +++ b/dm/DMSrcSink.h @@ -307,7 +307,7 @@ public: GPUSink(sk_gpu_test::GrContextFactory::ContextType, sk_gpu_test::GrContextFactory::ContextOverrides, int samples, bool diText, SkColorType colorType, SkAlphaType alphaType, sk_sp colorSpace, - bool threaded); + bool threaded, const GrContextOptions& grCtxOptions); Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; bool serial() const override { return !fThreaded; } @@ -326,6 +326,7 @@ private: SkAlphaType fAlphaType; sk_sp fColorSpace; bool fThreaded; + GrContextOptions fBaseContextOptions; }; class PDFSink : public Sink { -- cgit v1.2.3