Chromium Code Reviews| Index: dm/DMSrcSink.cpp |
| diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp |
| index f3ed574d89c24298cde4a17dc8a2b5ad261d0aeb..442e189e38e1d05fe8ec21e167925b5882c61023 100644 |
| --- a/dm/DMSrcSink.cpp |
| +++ b/dm/DMSrcSink.cpp |
| @@ -145,7 +145,9 @@ int GPUSink::enclave() const { |
| return fThreaded ? kAnyThread_Enclave : kGPU_Enclave; |
| } |
| -Error GPUSink::draw(const Src& src, SkBitmap* dst, SkWStream*) const { |
| +DEFINE_bool(gpuStats, false, "Print GPU stats after each gpu sink runs? Requires verbose."); |
|
mtklein
2015/02/02 16:23:17
Seems like --gpuStats is plenty enough to control
|
| + |
| +Error GPUSink::onDraw(const Src& src, SkBitmap* dst, SkWStream*) const { |
| GrContextFactory factory; |
| const SkISize size = src.size(); |
| const SkImageInfo info = |
| @@ -161,6 +163,10 @@ Error GPUSink::draw(const Src& src, SkBitmap* dst, SkWStream*) const { |
| return err; |
| } |
| canvas->flush(); |
| + if (FLAGS_gpuStats) { |
| + canvas->getGrContext()->dumpCacheStats(&fVerboseLog); |
| + canvas->getGrContext()->dumpGpuStats(&fVerboseLog); |
| + } |
| dst->allocPixels(info); |
| canvas->readPixels(dst, 0,0); |
| if (FLAGS_abandonGpuContext) { |
| @@ -173,7 +179,7 @@ Error GPUSink::draw(const Src& src, SkBitmap* dst, SkWStream*) const { |
| PDFSink::PDFSink() {} |
| -Error PDFSink::draw(const Src& src, SkBitmap*, SkWStream* dst) const { |
| +Error PDFSink::onDraw(const Src& src, SkBitmap*, SkWStream* dst) const { |
| // Print the given DM:Src to a PDF, breaking on 8.5x11 pages. |
| SkAutoTUnref<SkDocument> doc(SkDocument::CreatePDF(dst)); |
| @@ -212,7 +218,7 @@ Error PDFSink::draw(const Src& src, SkBitmap*, SkWStream* dst) const { |
| SKPSink::SKPSink() {} |
| -Error SKPSink::draw(const Src& src, SkBitmap*, SkWStream* dst) const { |
| +Error SKPSink::onDraw(const Src& src, SkBitmap*, SkWStream* dst) const { |
| SkSize size; |
| size = src.size(); |
| SkPictureRecorder recorder; |
| @@ -229,7 +235,7 @@ Error SKPSink::draw(const Src& src, SkBitmap*, SkWStream* dst) const { |
| RasterSink::RasterSink(SkColorType colorType) : fColorType(colorType) {} |
| -Error RasterSink::draw(const Src& src, SkBitmap* dst, SkWStream*) const { |
| +Error RasterSink::onDraw(const Src& src, SkBitmap* dst, SkWStream*) const { |
| const SkISize size = src.size(); |
| // If there's an appropriate alpha type for this color type, use it, otherwise use premul. |
| SkAlphaType alphaType = kPremul_SkAlphaType; |
| @@ -245,7 +251,7 @@ Error RasterSink::draw(const Src& src, SkBitmap* dst, SkWStream*) const { |
| ViaMatrix::ViaMatrix(SkMatrix matrix, Sink* sink) : fMatrix(matrix), fSink(sink) {} |
| -Error ViaMatrix::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| +Error ViaMatrix::onDraw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| // We turn our arguments into a Src, then draw that Src into our Sink to fill bitmap or stream. |
| struct ProxySrc : public Src { |
| const Src& fSrc; |
| @@ -266,7 +272,7 @@ Error ViaMatrix::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const |
| ViaPipe::ViaPipe(Sink* sink) : fSink(sink) {} |
| -Error ViaPipe::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| +Error ViaPipe::onDraw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| // We turn ourselves into another Src that draws our argument into bitmap/stream via pipe. |
| struct ProxySrc : public Src { |
| const Src& fSrc; |
| @@ -289,7 +295,7 @@ Error ViaPipe::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| ViaSerialization::ViaSerialization(Sink* sink) : fSink(sink) {} |
| -Error ViaSerialization::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| +Error ViaSerialization::onDraw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| // Record our Src into a picture. |
| SkSize size; |
| size = src.size(); |
| @@ -330,7 +336,7 @@ ViaTiles::ViaTiles(int w, int h, SkBBHFactory* factory, Sink* sink) |
| , fFactory(factory) |
| , fSink(sink) {} |
| -Error ViaTiles::draw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| +Error ViaTiles::onDraw(const Src& src, SkBitmap* bitmap, SkWStream* stream) const { |
| // Record our Src into a picture. |
| SkSize size; |
| size = src.size(); |