Commit Graph

15685 Commits

Author SHA1 Message Date
mtklein
7e44bb1916 Remove macros that make it look like it's a good idea to not be able to flatten.
There are only a handful of SkFlattenables that are not flattenable.  That
there are any seems highly illogical.  To make this look less like a normal
thing, this removes both macros that marked SkFlattenables as non-flattenable
(in slightly different ways).

The handful of SkFlattenables in our codebase that can't be flattened now
assert violently that they can't be flattened.  They're internal or
part of animator... places where we'll never actually flatten them.

TestLooper and DummyRasterizer were so trivial that I just made them flattenable.

BUG=skia:

Review URL: https://codereview.chromium.org/841753002
2015-01-07 09:06:08 -08:00
robertphillips
152f524fd3 It is dangerous to ignore SkRect::intersect's return value
Review URL: https://codereview.chromium.org/833943002
2015-01-07 09:01:13 -08:00
sugoi
bd0d9da981 Verify size_t overflow
In 32 bits, it's possible that multiplying 2 32b values might overflow a size_t, which could be 32b unsigned in that context, so I added a check for size_t overflow.

BUG=445831

Review URL: https://codereview.chromium.org/836733005
2015-01-07 08:47:44 -08:00
mtklein
36a364a846 Make DCShader serializable.
This allows a test pipeline like dcshader GM -> pipe -> gpu backend.

BUG=skia:

Review URL: https://codereview.chromium.org/816403007
2015-01-07 08:02:28 -08:00
caryclark
ac8d8b8f13 revert buildbot breaker
Hals's change broke a buildbot has shown here

http://build.chromium.org/p/client.skia/builders/Test-Win7-ShuttleA-HD2000-x86-Release/builds/510/steps/gm/logs/stdio

Got unknown flag "--useDocumentInsteadOfDevice". Exiting.

TBR=halcanary

Review URL: https://codereview.chromium.org/832183006
2015-01-07 07:36:52 -08:00
kkinnunen
0cfeaf3ac1 debugger: Update inspector view data consistently while paused
Make all fields of inspector view (details tab, clipstack tab, geometry
view) update the correct info when user selects a draw command. Also
update the info regardless if the painting is paused or not.

Current clip and matrix will not update consistently even after this
patch, as they depend on stateful debug canvas draw (may be fixed
later).

Review URL: https://codereview.chromium.org/835903002
2015-01-07 07:33:47 -08:00
skia.buildbots
1f611d6d84 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/843493002
2015-01-07 07:31:47 -08:00
robertphillips
783fe16b8e Rename SkDrawPictureCallback to SkPicture::AbortCallback
Committed: https://skia.googlesource.com/skia/+/7ef197255deb4e2fa64c03c7130d56ddf164e83c

Review URL: https://codereview.chromium.org/829983003
2015-01-07 07:28:41 -08:00
egdaniel
c56fb00373 Rebasing more conic stuff
TBR=
NOTRY=True
NOTREECHECKS=True
BUG=skia:

Review URL: https://codereview.chromium.org/837913002
2015-01-07 07:26:40 -08:00
reed
2d7c17b0b1 rebaseline after use-conics
BUG=skia:
TBR=
NOTRY=True
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/800193004
2015-01-07 07:04:09 -08:00
egdaniel
0f3dfd0085 More rebases from conic change
TBR=
NOTRY=True
NOTREECHECKS=True
BUG=skia:

Review URL: https://codereview.chromium.org/841693003
2015-01-07 06:51:02 -08:00
reed
d0949088ff rebaseline after use-conics
BUG=skia:
TBR=
NOTRY=True
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/841703002
2015-01-07 06:08:50 -08:00
reed
9810cd25ce use conics for ovals and roundrects
This reverts commit e3b61eb799.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/834303002
2015-01-06 16:26:16 -08:00
reed
8ea6dabbb1 Revert of Rename SkDrawPictureCallback to SkPicture::AbortCallback (patchset #2 id:20001 of https://codereview.chromium.org/829983003/)
Reason for revert:
speculative revert to unblock DEPS roll

Original issue's description:
> Rename SkDrawPictureCallback to SkPicture::AbortCallback
>
> Committed: https://skia.googlesource.com/skia/+/7ef197255deb4e2fa64c03c7130d56ddf164e83c

TBR=reed@google.com,robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/824013004
2015-01-06 16:15:25 -08:00
halcanary
66b29a6ad5 Remove SkPDFDocument and SkPDFDevice from the public headers.
Committed: https://skia.googlesource.com/skia/+/8b1f761365df6652ea9304b6572d2dd91917b9aa

Review URL: https://codereview.chromium.org/841533002
2015-01-06 15:13:49 -08:00
tomhudson
f7be779e1d Comment out unused names in src/core/SkGlyphCache.h
Android violates our encapsulation and depends on this file;
to keep their compiles clean they want us to hide the names
of unused parameters.

Follow-up to https://codereview.chromium.org/726923002/.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/839583005
2015-01-06 12:59:05 -08:00
robertphillips
7ef197255d Rename SkDrawPictureCallback to SkPicture::AbortCallback
Review URL: https://codereview.chromium.org/829983003
2015-01-06 12:26:08 -08:00
reed
b5d818ab04 will write a custom one for blink later
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/810603003
2015-01-06 11:30:45 -08:00
reed
b5bd9c113e rebaseline after conic fixes
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/831993004
2015-01-06 09:55:34 -08:00
reed
efdac514a9 Revert "Remove SkPDFDocument and SkPDFDevice from the public headers."
This reverts commit 8b1f761365.

BUG=skia:
TBR=
NOTRY=True
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/839603002
2015-01-06 09:54:14 -08:00
halcanary
8b1f761365 Remove SkPDFDocument and SkPDFDevice from the public headers.
Review URL: https://codereview.chromium.org/841533002
2015-01-06 09:30:10 -08:00
robertphillips
c4bd39c903 Require explicit disabling of cross process pictureimagefilters
This is to allow capturing .skp files with their pictureimagefilters intact.

This is a companion to https://codereview.chromium.org/810933004/ (Provide a way of allowing cross process pictureimagefilters).

Review URL: https://codereview.chromium.org/834673006
2015-01-06 09:17:02 -08:00
reed
3f4e045b4f fixes for conics
- use std tolerance in edgebuilder, since the path has not been scaled-up to its super-sample size (that happens in the builder methods.

- off-by-1 fix for pathops when using the output of the conicquadder

BUG=skia:

Review URL: https://codereview.chromium.org/837023002
2015-01-06 07:44:21 -08:00
reed
3a3baf6c4b add --listfailingbase option
BUG=skia:

Review URL: https://codereview.chromium.org/833223002
2015-01-06 07:39:55 -08:00
skia.buildbots
bfaf83cef4 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/840533002
2015-01-06 07:19:59 -08:00
reed
e3b61eb799 Revert of use conics for ovals and roundrects (patchset #1 id:1 of https://codereview.chromium.org/817283005/)
Reason for revert:
need fix in edgebuilder+aa

Original issue's description:
> use conics for ovals and roundrects
>
> adapted from https://codereview.chromium.org/831313002/
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/2bf1c4d58b84c73c6421edcb25e3afb4971da200

TBR=reed@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/840573002
2015-01-06 07:17:49 -08:00
reed
1b74730c6b improve sanity checks on gradient constructor parameters
BUG=445807

Review URL: https://codereview.chromium.org/837013002
2015-01-06 07:13:19 -08:00
reed
e0d5a27970 Revert of add missed tests for conics (patchset #1 id:1 of https://codereview.chromium.org/835993004/)
Reason for revert:
need to fix edgebuilder+aa

Original issue's description:
> add missed tests for conics
>
> BUG=skia:
> TBR=
> NOTRY=True
> NOTREECHECKS=True
>
> Committed: https://skia.googlesource.com/skia/+/6b0f701687edcdfc4fc996aed085054912866aff

TBR=reed@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/797403003
2015-01-06 07:12:42 -08:00
reed
6b0f701687 add missed tests for conics
BUG=skia:
TBR=
NOTRY=True
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/835993004
2015-01-05 21:01:40 -08:00
reed
2bf1c4d58b use conics for ovals and roundrects
adapted from https://codereview.chromium.org/831313002/

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/817283005
2015-01-05 20:15:28 -08:00
tfarina
aa458fb20a Cleanup: More override fixes - another round.
BUG=skia:3075
TEST=ninja -C out/Debug
TBR=reed@google.com

Review URL: https://codereview.chromium.org/831113002
2015-01-05 17:18:51 -08:00
fmalita
4dd6b72b31 Rebaseline thinstrokedrects GM
BUG=skia:3278
TBR=caryclark@google.com
NOTRY=true

Review URL: https://codereview.chromium.org/836023002
2015-01-05 16:10:38 -08:00
kkinnunen
26e5400de4 Remove draw window size state from SkDebugCanvas
The SkDebugCanvas can be (or is currently) being used to draw to multiple
different canvases. If this use-case is intended, then storing draw
-related state in the canvas causes bugs.

Remove draw window size state form SkDebugCanvas. Instead, use the canvas
base layer size as the window size to clip to. This is consistent with
the current use in debugger.

This is part of work trying to remove bugs in debugger that result from
replaying one SkDrawCanvas to two different canvases. Currently the
SkDrawCanvas stores state that can only be valid if it is used for one
canvas.

Review URL: https://codereview.chromium.org/835113002
2015-01-05 12:58:56 -08:00
egdaniel
8aa5b8f852 Rebase perspective gpu gm's after conic change
TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/831333002
2015-01-05 12:55:46 -08:00
robertphillips
9790a7b36b Cap id size returned by GrScratchKey::GenerateResourceType
kkinnunen@ has been seeing compiler warnings on GrScratchKey::GenerateResourceType (https://codereview.chromium.org/833913002/ - Cast the scratch resource key in order to fix a warning)(presumably due to the unsigned/signed comparison in kInvalidResourceType == type). This CL limits the returned id to its effective range to, hopefully, clarify the whole int32_t -> uint32_t conversion & wrapping problem.

Review URL: https://codereview.chromium.org/827923006
2015-01-05 12:29:15 -08:00
robertphillips
2b6ab61e22 Remove SkPath::asRect
AFAICT the asRect entry point is not needed.

Greg: GPU
Reed: API
Cary: Path

Review URL: https://codereview.chromium.org/833193002
2015-01-05 12:22:14 -08:00
kkinnunen
5a2315e750 debugger: Update the picture view when the first command is selected
Update the picture view in the debugger when the first command is
selected. DebugCanvas::drawTo(index) draws up to and including the index.

Review URL: https://codereview.chromium.org/837483002
2015-01-05 11:51:13 -08:00
fmalita
b280646beb Fix thin rect stroking.
When both edges of a thin (sub-unit) stroke fall within the same pixel, we compute the wrong coverage and also blit the same line twice.

To avoid these issues, tweak the inner/outer hulls to ensure one of the edges is always pixel-aligned.

BUG=skia:3278
R=reed@google.com

Review URL: https://codereview.chromium.org/819253003
2015-01-05 11:31:02 -08:00
jcgregorio
942262fcb5 First set of minimal docs for the new Markdown server, which will eventually replace https://sites.google.com/site/skiadocs/.
Design of the new Markdown server is documented here:

  https://github.com/google/skia-buildbot/blob/master/doc/README.md

  You can see the server up and running here: http://skiadocs.com:8000/

  This is *reed because it adds a new top level directory to the skia repo.

BUG=skia:

Review URL: https://codereview.chromium.org/835083003
2015-01-05 11:17:27 -08:00
robertphillips
53a8f216a8 Update PdfViewer's SkNulCanvas
This appears to have been missed in https://codereview.chromium.org/831253002/ (move remaining virtual draw methods to onDraw)

Review URL: https://codereview.chromium.org/839433002
2015-01-05 11:11:21 -08:00
egdaniel
af18a09d13 Add conic support to Default and AAConvex path redender.
This is achieved but chopping up conics into quads.

With this change conics should be ready to be used on the gpu side of things

BUG=skia:3258

Review URL: https://codereview.chromium.org/825443002
2015-01-05 10:22:28 -08:00
robertphillips
91b0a35873 Cleanup isRect variants
Review URL: https://codereview.chromium.org/832083002
2015-01-05 10:13:46 -08:00
reed
40c85e41b8 Revert of Revert of enable conics gm (patchset #1 id:1 of https://codereview.chromium.org/811863006/)
Reason for revert:
maybe this wasn't the cause of the chromeos crash?

Original issue's description:
> Revert of enable conics gm (patchset #3 id:40001 of https://codereview.chromium.org/835593002/)
>
> Reason for revert:
> did I break the build?
>
> Original issue's description:
> > enable conics gm
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/03119ba4f815bc2c2774a9349ca8278ab1695072
>
> TBR=egdaniel@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ede901c7a2e21a44552b8c1436d9521ce33f4de5

TBR=egdaniel@google.com,reed@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/836773002
2015-01-05 10:01:25 -08:00
robertphillips
f1cdead599 Print out failing PathRef test on ChromeOS
This is intended to provide additional information for a flaky assertion failure on ChromeOS Daisy.

BUG=skia:3282

Review URL: https://codereview.chromium.org/821683002
2015-01-05 09:20:04 -08:00
halcanary
50b9307e96 Correctly declare skiagm::DCShader to be not flattenable.
Motivation: As part of my testing I serialize all of our GMs to SKP
files.  This was breaking my code.

Review URL: https://codereview.chromium.org/832393002
2015-01-05 08:55:34 -08:00
halcanary
abe4baa2c3 experimental skp_to_pdf_md5 program.
This program takes a list of Skia Picture (SKP) files and
renders each as a multipage PDF, then prints out the MD5
checksum of the PDF file.  This can be used to verify that
changes to the PDF backend will not change PDF output.

Review URL: https://codereview.chromium.org/832403002
2015-01-05 08:55:24 -08:00
joshualitt
9face9b67c removing dashcubics from ignore, may cause failures
NOTRY=True
TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/834673004
2015-01-05 08:34:28 -08:00
reed
41af966ab3 Revert of Revert of move remaining virtual draw methods to onDraw (patchset #1 id:1 of https://codereview.chromium.org/835913002/)
Reason for revert:
test to see if it wasn't this CL that broke chromeos

Original issue's description:
> Revert of move remaining virtual draw methods to onDraw (patchset #5 id:80001 of https://codereview.chromium.org/817723005/)
>
> Reason for revert:
> did this cause chromeos heap corruption on skp?
>
> Original issue's description:
> > move remaining virtual draw methods to onDraw
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/2e0f7d53bba5438c9bf11ee5ccae2c301e348419
>
> TBR=robertphillips@google.com,djsollen@google.com,bsalomon@google.com,mtklein@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e87e383351e1547b21d96d02bcd0c3cbbe0837f1

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

Review URL: https://codereview.chromium.org/831253002
2015-01-05 07:49:08 -08:00
mtklein
49aabde6ef Clean up dead clear() code in SkRecord.
This removes the SkRecords::Clear struct and everything that refers to it.
Notice there is nothing actually creating a Clear, which means this is all
dead code.

Now that all ops obey the clip, I don't think we need the weird
inflate-empty-to-epsilon hack for BBH queries.

BUG=skia:

Review URL: https://codereview.chromium.org/835813002
2015-01-05 07:02:45 -08:00
reed
5f2ee72f97 add SkGeometry.h to core.gypi
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/820683005
2015-01-05 06:47:44 -08:00