History log of /external/skia/dm/DMSrcSink.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6fbf4b3a7f0a3304649c482ab0a911dc147a6825 06-May-2015 mtklein <mtklein@chromium.org> Do we still need this DOUBLE_LOOP feature?

If so, let's do it this way so it works for all source types and doesn't need
to be chosen at compile time.

BUG=skia:

Review URL: https://codereview.chromium.org/1129693003
/external/skia/dm/DMSrcSink.h
7882924c10fadaed427b6aa65dc7aa6577b94f32 06-May-2015 mtklein <mtklein@chromium.org> DM: add Via abstract class

BUG=skia:

Review URL: https://codereview.chromium.org/1117183007
/external/skia/dm/DMSrcSink.h
d31c13d0441aecc8b2a4fa4f45fd5e59584cb3ea 05-May-2015 mtklein <mtklein@chromium.org> DM: add a Via to simulate SP pictures.

Will use this to test the other CL that adds small SkPicture implementations.

Not quite sure why patch_primitive doesn't draw the same in 8888 and sp-8888, but everything else does, so I'm not going to let that hold me back for now.

BUG=skia:

Review URL: https://codereview.chromium.org/1126613005
/external/skia/dm/DMSrcSink.h
06a22f618cd2adbbd33634a701b5cf8353886d63 05-May-2015 reed <reed@google.com> add deferred config to DM

BUG=skia:

Review URL: https://codereview.chromium.org/1113273006
/external/skia/dm/DMSrcSink.h
438b2adefb9e9213e0ddaf0609405d3087a1cf0a 09-Apr-2015 msarett <msarett@google.com> ***Disables swizzles to 565.
We may want to enable swizzles to 565
for images that are encoded in a format
similar to 565, however, we do not want
to take images that decode naturally to
kN32 and then convert them to 565.

***Enable swizzles to kIndex_8. For images
encoded in a color table format, we suggest
that they be decoded to kIndex_8. When we
decode, we only allow conversion to kIndex_8
if it matches the suggested color type (except
wbmp which seems good as is).

***Modify dm to test images that decode to
kIndex_8.

BUG=skia:3257
BUG=skia:3440

Review URL: https://codereview.chromium.org/1055743003
/external/skia/dm/DMSrcSink.h
b7e8d69fc21a3043348fd9b76876471e0a6ae7fe 07-Apr-2015 mtklein <mtklein@chromium.org> Add a Via to DM that records into two pictures and draws using the second.

I'm going to start hacking on SkCanvas a bit to allow a fast reset method,
and I want to have some testing checking me.

BUG=skia:

Review URL: https://codereview.chromium.org/1062043004
/external/skia/dm/DMSrcSink.h
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
/external/skia/dm/DMSrcSink.h
9c59ebc0db7cade1537591813430f7be47123e76 25-Mar-2015 scroggo <scroggo@google.com> Test scanline decoding in DM.

BUG=skia:3475

Review URL: https://codereview.chromium.org/999173010
/external/skia/dm/DMSrcSink.h
478652e918d73a4c0330e27e03eaa9564138c0f7 25-Mar-2015 scroggo <scroggo@google.com> Add copyright headers DM.

Review URL: https://codereview.chromium.org/1037713003
/external/skia/dm/DMSrcSink.h
9b77ddde08efe702256355a333cf31ade8f15bb0 19-Mar-2015 scroggo <scroggo@google.com> Run CodecSrc DM.

Rather than making SkCodec an option instead of SkImageDecoder,
create a separate CodecSrc. This allows us to compare the two.

For both CodecSrc and ImageSrc, do not decode to a gpu backend.

BUG=skia:3475

Review URL: https://codereview.chromium.org/978823002
/external/skia/dm/DMSrcSink.h
4089ef7c982592fadeec441438c551ffb4c746be 05-Mar-2015 mtklein <mtklein@chromium.org> DM: support non-fatal errors

Tasks that produce a non-fatal error will bail out before writing their output to
disk and hash to dm.json, but not count as failures.

This also makes true failures bail out before writing their results. If the DM
program failed, we probably don't want to triage that image result.

We use this new feature first to skip image subset decoding when we detect it's
not supported. Here's a snippet of an example run, where in this case only
.webp are subset decodable:

...
( 15MB 12) 172µs 8888 subset color_wheel.jpg (skipped: Subset decoding not supported.)
( 15MB 11) 9.05ms 8888 subset randPixels.webp
( 16MB 10) 863µs 8888 subset baby_tux.png (skipped: Subset decoding not supported.)
...

Only outputs corresponding to the .webp show up, both on disk and in the .json.

BUG=skia:

Review URL: https://codereview.chromium.org/980333002
/external/skia/dm/DMSrcSink.h
47ef4d5d934bba86848aa238efab21f54a160c1a 03-Mar-2015 halcanary <halcanary@google.com> XPS, DM: add SkDocument::CreateXPS

- SkDocument::CreateXPS() function added, returns NULL on non-Windows OS.

- DM: (Windows only) an XPSSink is added, fails on non-Windows OS

- DM: Common code for PDFSink::draw and XPSSink::draw are factored into
draw_skdocument static function.

- SkDocument_XPS (Windows only) implementation of SkDocument via
SkXPSDevice.

- SkDocument_XPS_None (non-Windows) returns NULL for
SkDocument::CreateXPS().

- gyp/xps.gyp refactored.

- SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 )

- SkXPSDevice::drawPath supports conics via SkAutoConicToQuads.

Review URL: https://codereview.chromium.org/963953002
/external/skia/dm/DMSrcSink.h
c2574f3657b1359496a4eba5b191961974b3a64f 03-Mar-2015 halcanary <halcanary@google.com> Revert of XPS, DM: add SkDocument::CreateXPS (patchset #8 id:310001 of https://codereview.chromium.org/963953002/)

Reason for revert:
breaking iOS build.

Original issue's description:
> XPS, DM: add SkDocument::CreateXPS
>
> - SkDocument::CreateXPS() function added, returns NULL on non-Windows OS.
>
> - DM: (Windows only) an XPSSink is added, fails on non-Windows OS
>
> - DM: Common code for PDFSink::draw and XPSSink::draw are factored into
> draw_skdocument static function.
>
> - SkDocument_XPS (Windows only) implementation of SkDocument via
> SkXPSDevice.
>
> - SkDocument_XPS_None (non-Windows) returns NULL for
> SkDocument::CreateXPS().
>
> - gyp/xps.gyp refactored.
>
> - SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 )
>
> - SkXPSDevice::drawPath supports conics via SkAutoConicToQuads.
>
> NOPRESUBMIT=true
>
> Committed: https://skia.googlesource.com/skia/+/00d39bcbfc8394a9b48b86b04ab06ec19091fa43

TBR=reed@google.com,bungeman@google.com,mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/978443002
/external/skia/dm/DMSrcSink.h
00d39bcbfc8394a9b48b86b04ab06ec19091fa43 03-Mar-2015 halcanary <halcanary@google.com> XPS, DM: add SkDocument::CreateXPS

- SkDocument::CreateXPS() function added, returns NULL on non-Windows OS.

- DM: (Windows only) an XPSSink is added, fails on non-Windows OS

- DM: Common code for PDFSink::draw and XPSSink::draw are factored into
draw_skdocument static function.

- SkDocument_XPS (Windows only) implementation of SkDocument via
SkXPSDevice.

- SkDocument_XPS_None (non-Windows) returns NULL for
SkDocument::CreateXPS().

- gyp/xps.gyp refactored.

- SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 )

- SkXPSDevice::drawPath supports conics via SkAutoConicToQuads.

NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/963953002
/external/skia/dm/DMSrcSink.h
792c80f5a7b66e75d42664ccb298f31962c6654c 20-Feb-2015 halcanary <halcanary@google.com> PDF: Now threadsafe!

The PDF canvas is now just as threadsafe as any other Skia canvas.

DM updated to thread PDF tests.

SkDocument_PDF now owns SkPDFCanon, and pointers to that canon are
passed around to all classes that need access to the canon.

BUG=skia:2683

Review URL: https://codereview.chromium.org/944643002
/external/skia/dm/DMSrcSink.h
d603b22903bf7c023226bf52bd7c1f49a9bee1bf 17-Feb-2015 mtklein <mtklein@chromium.org> Suggested version with 'undo'.

BUG=skia:

Review URL: https://codereview.chromium.org/931483002
/external/skia/dm/DMSrcSink.h
ad66f9b15fd44468b5f013534ee333dc68d6bed6 14-Feb-2015 mtklein <mtklein@chromium.org> DM: don't leak the null canvas in NullSink.

Also make NullSink a real boy: declared among the other Sinks, impl in .cpp.

BUG=skia:

Review URL: https://codereview.chromium.org/922293003
/external/skia/dm/DMSrcSink.h
b9eb4ac0f1c29d6fe10ad7ff81ed8326ac1ea043 03-Feb-2015 mtklein <mtklein@chromium.org> patch from issue 886233004 at patchset 40001 (http://crrev.com/886233004#ps40001)

... with changes proposed in the review.

BUG=skia:

Review URL: https://codereview.chromium.org/894013002
/external/skia/dm/DMSrcSink.h
8a4527e98a57b1d2dd248a635f0c4fa227be2089 01-Feb-2015 mtklein <mtklein@chromium.org> SVG backend in DM

Not enabled by default, but this should get you SKPs, GMs etc for free to play with.

$ out/Debug/dm -w svgs --src gm skp --config svg

BUG=skia:

Review URL: https://codereview.chromium.org/892693002
/external/skia/dm/DMSrcSink.h
edc93bc74003e2c19219ba0b30383868b5371a96 30-Jan-2015 mtklein <mtklein@chromium.org> Suggestions and merge in the other CL.

I had some suggestions on the subset CL, and took the opportunity to rebase it
against head and merge in the other color type CL.

BUG=skia:

Review URL: https://codereview.chromium.org/893703002
/external/skia/dm/DMSrcSink.h
8d17a13a71edb0d8412e4354c428582b74587b79 30-Jan-2015 mtklein <mtklein@chromium.org> DM: paths as implict strings too.

BUG=skia:

Review URL: https://codereview.chromium.org/891823002
/external/skia/dm/DMSrcSink.h
022afb8384019b448c7c1c62a9ff63fa9e477737 30-Jan-2015 halcanary <halcanary@google.com> DM::NullSink

Motivation: The null sink can act as a control for experiments.

Review URL: https://codereview.chromium.org/873723007
/external/skia/dm/DMSrcSink.h
9c3f17d6e859a11535f40497cb9f6e777d15f62e 28-Jan-2015 mtklein <mtklein@chromium.org> Fold gmtoskp into DM, as --src gm --config skp.

BUG=skia:

Review URL: https://codereview.chromium.org/885733002
/external/skia/dm/DMSrcSink.h
55e88b226ccb85d2c712a9e3e9e1f5bdcaac05ac 22-Jan-2015 mtklein <mtklein@chromium.org> More natural way to serialize GPU tasks and tests.

This basically takes out the Windows-only hacks and promotes them to
cross-platform behavior driven by --gpu_threading.
- When --gpu_threading is false (the default), this puts GPU tasks and tests
together in the same GPU enclave. They all run serially.
- When --gpu_threading is true, both the tests and the tasks run totally
independently, just like the thread-safe CPU-bound work.

BUG=skia:3255

Review URL: https://codereview.chromium.org/847273005
/external/skia/dm/DMSrcSink.h
7edca21226017e6b87a0c95fa571d34c36ceca04 21-Jan-2015 mtklein <mtklein@chromium.org> Don't test pipe modes nobody uses.

SkDeferredCanvas uses a simple pipe: no cross-process, no shared-address, etc.
(see src/utils/SkDeferredCanvas.cpp:306).

We could just remove these modes from the bot configs, but I'd like to take the
opportunity to simplify the DM code too. I'll happily volunteer to put things
back should we decide we want to test these modes.

BUG=skia:

Review URL: https://codereview.chromium.org/861303003
/external/skia/dm/DMSrcSink.h
a1193e4b0e34a7e4e1bd33e9708d7341679f8321 21-Jan-2015 scroggo <scroggo@google.com> Make SkStream *not* ref counted.

SkStream is a stateful object, so it does not make sense for it to have
multiple owners. Make SkStream inherit directly from SkNoncopyable.

Update methods which previously called SkStream::ref() (e.g.
SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(),
which required the existing owners to call SkStream::unref()) to take
ownership of their SkStream parameters and delete when done (including
on failure).

Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some
cases this means heap allocating streams that were previously stack
allocated.

Respect ownership rules of SkTypeface::CreateFromStream() and
SkImageDecoder::buildTileIndex().

Update the comments for exceptional methods which do not affect the
ownership of their SkStream parameters (e.g.
SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be
explicit about ownership.

Remove test_stream_life, which tested that buildTileIndex() behaved
correctly when SkStream was a ref counted object. The test does not
make sense now that it is not.

In SkPDFStream, remove the SkMemoryStream member. Instead of using it,
create a new SkMemoryStream to pass to fDataStream (which is now an
SkAutoTDelete).

Make other pdf rasterizers behave like SkPDFDocumentToBitmap.

SkPDFDocumentToBitmap delete the SkStream, so do the same in the
following pdf rasterizers:

SkPopplerRasterizePDF
SkNativeRasterizePDF
SkNoRasterizePDF

Requires a change to Android, which currently treats SkStreams as ref
counted objects.

Review URL: https://codereview.chromium.org/849103004
/external/skia/dm/DMSrcSink.h
75d98fd6f23fc73aad3ce87d6c4b6c41c2d1536e 18-Jan-2015 mtklein <mtklein@chromium.org> DM: Don't hold onto data longer than needed.

On my laptop, this cuts peak memory usage by more than half.

BUG=skia:3255

Review URL: https://codereview.chromium.org/859623002
/external/skia/dm/DMSrcSink.h
82d2843cc59dc048b7d8d1d928dab743d8e85a3b 15-Jan-2015 mtklein <mtklein@chromium.org> turn back on gpu tests

NOTREECHECKS=true

BUG=skia:3255

Review URL: https://codereview.chromium.org/817573004
/external/skia/dm/DMSrcSink.h
748ca3bf2d170708f263693e8579e6722389d0ef 15-Jan-2015 mtklein <mtklein@chromium.org> Sketch DM refactor.

BUG=skia:3255

I think this supports everything DM used to, but has completely refactored how
it works to fit the design in the bug.

Configs like "tiles-gpu" are automatically wired up.

I wouldn't suggest looking at this as a diff. There's just a bunch of deleted
files, a few new files, and one new file that shares a name with a deleted file
(DM.cpp).

NOTREECHECKS=true

Committed: https://skia.googlesource.com/skia/+/709d2c3e5062c5b57f91273bfc11a751f5b2bb88

Review URL: https://codereview.chromium.org/788243008
/external/skia/dm/DMSrcSink.h
114c3cd0543d77aa0ac08d8af436ac7f9d32714d 15-Jan-2015 mtklein <mtklein@google.com> Revert of Sketch DM refactor. (patchset #45 id:850001 of https://codereview.chromium.org/788243008/)

Reason for revert:
plenty of data

Original issue's description:
> Sketch DM refactor.
>
> BUG=skia:3255
>
>
> I think this supports everything DM used to, but has completely refactored how
> it works to fit the design in the bug.
>
> Configs like "tiles-gpu" are automatically wired up.
>
> I wouldn't suggest looking at this as a diff. There's just a bunch of deleted
> files, a few new files, and one new file that shares a name with a deleted file
> (DM.cpp).
>
> NOTREECHECKS=true
>
> Committed: https://skia.googlesource.com/skia/+/709d2c3e5062c5b57f91273bfc11a751f5b2bb88

TBR=bsalomon@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:3255

Review URL: https://codereview.chromium.org/853883004
/external/skia/dm/DMSrcSink.h
709d2c3e5062c5b57f91273bfc11a751f5b2bb88 15-Jan-2015 mtklein <mtklein@chromium.org> Sketch DM refactor.

BUG=skia:3255

I think this supports everything DM used to, but has completely refactored how
it works to fit the design in the bug.

Configs like "tiles-gpu" are automatically wired up.

I wouldn't suggest looking at this as a diff. There's just a bunch of deleted
files, a few new files, and one new file that shares a name with a deleted file
(DM.cpp).

NOTREECHECKS=true

Review URL: https://codereview.chromium.org/788243008
/external/skia/dm/DMSrcSink.h