Commit Graph

2583 Commits

Author SHA1 Message Date
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
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
robertphillips
91b0a35873 Cleanup isRect variants
Review URL: https://codereview.chromium.org/832083002
2015-01-05 10:13:46 -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
reed
e87e383351 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:

Review URL: https://codereview.chromium.org/835913002
2015-01-05 04:49:38 -08:00
reed
2e0f7d53bb move remaining virtual draw methods to onDraw
BUG=skia:

Review URL: https://codereview.chromium.org/817723005
2015-01-04 21:09:04 -08:00
reed
f8d18743d4 add toString to SkImage
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/823013003
2015-01-02 20:45:37 -08:00
reed
c4fda92f45 remove unused drawData
BUG=skia:

Review URL: https://codereview.chromium.org/830083002
2015-01-02 06:39:51 -08:00
reed
b2497c2d94 change API contract: disallow zero-sized images or surfaces
BUG=skia:

Review URL: https://codereview.chromium.org/830033003
2014-12-31 12:31:43 -08:00
robertphillips
4f662e62cd Update stroke path to use rect returned from isRect (to fix trailing moveTo bug)
This basically recreates what was done in:

https://codereview.chromium.org/16950021/ (add rect-output parameter to isRect, allowing us to return the correct bounds even if a rectagular path has a trailing moveTo) with the addition of GM representation

BUG=skia:247770

Review URL: https://codereview.chromium.org/834503002
2014-12-29 14:06:51 -08:00
reed
0acf1b4b36 add private flag for sprite-as-bitmap
BUG=skia:3272

Review URL: https://codereview.chromium.org/806853005
2014-12-22 16:12:38 -08:00
scroggo
16c8f14cd4 Remove last trace of SK_LEGACY_ENCODE_BITMAP
Review URL: https://codereview.chromium.org/819173002
2014-12-22 13:50:45 -08:00
reed
d990e2f14f add testing flag to ignore saveLayer bounds
BUG=skia:

Review URL: https://codereview.chromium.org/819123003
2014-12-22 11:58:30 -08:00
jvanverth
fa1e8a7cef Add sRGB texture support.
Review URL: https://codereview.chromium.org/791823003
2014-12-22 08:31:49 -08:00
reed
2d73d80d68 remove dead SK_SUPPORT_LEGACY_IMAGEDECODER_CHOOSER code
BUG=skia:

Review URL: https://codereview.chromium.org/816273002
2014-12-22 07:37:29 -08:00
reed
3b40ee6009 remove dead SK_SUPPORT_LEGACY_N32_NAME code
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/818903004
2014-12-21 14:29:05 -08:00
reed
f7430ccfc0 removed dead SK_SUPPORT_LEGACY_DRAWTEXT_VIRTUAL code
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/817193002
2014-12-21 11:38:35 -08:00
reed
ec57b54ac7 remove dead SK_SUPPORT_LEGACY_DEVICE_CLEAR code
BUG=skia:
TBR=robertphilips@google.com

Review URL: https://codereview.chromium.org/807083003
2014-12-21 11:03:36 -08:00
reed
5e8b1688ee remove dead SK_LEGACY_ENCODE_BITMAP flag
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/820903002
2014-12-20 15:23:55 -08:00
robertphillips
f3f5bad7de Add toString methods to SkImageFilter-derived classes
This isn't definitive but at least makes something show up in the debugger.

Review URL: https://codereview.chromium.org/789163006
2014-12-19 13:49:15 -08:00
reed
53b9e2e0f2 add const to encodePixels pixel parameter
BUG=skia:

Review URL: https://codereview.chromium.org/788143007
2014-12-19 12:26:07 -08:00
scroggo
b64e56941c Remove legacy Picture defines.
No longer needed by Android.

Review URL: https://codereview.chromium.org/788903006
2014-12-19 07:28:00 -08:00
mtklein
8aacf20856 Fill SkRRect::fType proactively.
I found no external mentions of SkRRect::kUnknown_Type.

Motivating race found by TSAN:
http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot/builds/48/steps/dm/logs/stdio

BUG=skia:

Review URL: https://codereview.chromium.org/801693003
2014-12-18 13:29:54 -08:00
reed
68331cd92a remove dead code behind SK_SUPPORT_LEGACY_ALLOCPIXELS_BOOL
BUG=skia:

Review URL: https://codereview.chromium.org/814753004
2014-12-18 12:48:16 -08:00
reed
a3cbc28e88 remove dead code for SK_SUPPORT_LEGACY_TEXTRENDERMODE
BUG=skia:
TBR=robertphilips

Review URL: https://codereview.chromium.org/812363002
2014-12-18 08:13:03 -08:00
joshualitt
5531d51ce7 remove view matrix from context
BUG=skia:

Review URL: https://codereview.chromium.org/808703006
2014-12-17 15:50:11 -08:00
reed
220f926d9d use conics
BUG=skia:

Review URL: https://codereview.chromium.org/455043002
2014-12-17 08:21:05 -08:00
reed
a7a8b10134 add sample for arcTo
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/808793002
2014-12-16 08:07:43 -08:00
joshualitt
9b98932ada This change will ultimately pull uniform color, and to a much lesser degree uniform coverage, into GPs. There are still some loose ends because drawstate has the ability to override the GP, but fixing these cleanly will have to wait until we have deferred geometry in place and can make attribute / uniform decisions on the fly.
BUG=skia:

Review URL: https://codereview.chromium.org/746423007
2014-12-15 14:16:27 -08:00
reed
0393912de7 pass dst-rect through from drawBitmapRect for better precision
BUG=skia:

Review URL: https://codereview.chromium.org/797963002
2014-12-15 13:42:51 -08:00
mtklein
0faaac6418 Look at DYNAMIC_ANNOTATIONS_ENABLED now.
Defining SK_DYNAMIC_ANNOTATIONS_ENABLED as 1 whenever DYNAMIC_ANNOTATIONS_ENABLED was 1
seems to be working fine for Chrome.  Should be we can just use DYNAMIC_ANNOTATIONS_ENABLED.

BUG=skia:

Review URL: https://codereview.chromium.org/810513002
2014-12-15 13:38:07 -08:00
reed
8893e5f030 add paint::getFontBounds()
BUG=skia:

Review URL: https://codereview.chromium.org/804903006
2014-12-15 13:27:26 -08:00
reed
5bcbe91304 Fix rrects that are large enough that we lose/gain a bit when we add the radius to a bounds coordinate.
add test that triggers assert in addRRect

BUG=skia:3239

Review URL: https://codereview.chromium.org/803153003
2014-12-15 12:28:33 -08:00
ehsan.akhgari
6f90475632 Rewrite NaN checks in terms of SkScalarIsNaN()
We are trying to replace Skia's NaN checker with our own in Mozilla,
so it would be nice to have to patch a single place by making sure
these NaN checks used SkScalarIsNaN().

BUG=skia:

Review URL: https://codereview.chromium.org/809443002
2014-12-15 12:08:47 -08:00
junov
3fcc125c77 Remove SkCanvas::isDrawingToLayer
BUG=3245

Review URL: https://codereview.chromium.org/803913005
2014-12-15 11:34:06 -08:00
reed
e05fed0d63 add dumpHex option to rect and rrect, to match path
BUG=skia:

Review URL: https://codereview.chromium.org/801383002
2014-12-15 07:59:53 -08:00
reed
451e822705 add get9 and set9 to matrix, to aid in making keys
BUG=skia:
TBR=
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/806543002
2014-12-13 08:46:49 -08:00
bsalomon
ef3fcd877a More win64 warning fixes
Review URL: https://codereview.chromium.org/798723002
2014-12-12 08:51:39 -08:00
mtklein
f0f1411343 Cull pushCull and popCull from Skia.
These calls are unused and going away.  Waiting on crrev.com/796083002.

BUG=skia:

Review URL: https://codereview.chromium.org/794263002
2014-12-12 08:46:25 -08:00
mtklein
1a4900e8be Force embedding full font when serializing pictures.
We can't do this unconditionally or pipe will become stupidly slow.

DM's serialize mode fails subtly on Mac when we force embedding, so I've
#ifdef'd that away.  Other platforms look fine.

BUG=skia:

Review URL: https://codereview.chromium.org/796523002
2014-12-11 11:06:00 -08:00
scroggo
895c43b28b Replace EncodeBitmap with an interface.
Gives more flexibility to the caller to decide whether to use the
encoded data returned by refEncodedData().

Provides an implementation that supports the old version of
SkPicture::serialize().

TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely

BUG=skia:3190

Review URL: https://codereview.chromium.org/784643002
2014-12-11 10:53:58 -08:00
reed
2ff1fcede1 Defer saves() until they're needed
patch from issue 759443006 at patchset 40001 (http://crrev.com/759443006#ps40001)

BUG=skia:

Review URL: https://codereview.chromium.org/767333002
2014-12-11 07:07:38 -08:00
mtklein
59f939eda6 Include SkTypes.h from SkDynamicAnnotations.h
This allows us to control SK_DYNAMIC_ANNOTATIONS_ENABLED by Sk*Config.h files.
This is a no-op today, because we control it from the compiler command line.

BUG=430815

Review URL: https://codereview.chromium.org/787003003
2014-12-10 10:49:42 -08:00
reed
96472deea7 dd readPixels to SkImage
patch from issue 789673007 at patchset 1 (http://crrev.com/789673007#ps1)

BUG=skia:

Review URL: https://codereview.chromium.org/793723002
2014-12-10 09:53:42 -08:00
Florin Malita
c54d8db4d1 Remove SkCanvas::drawBitmapMatrix()
R=mtklein@google.com, reed@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/789033002
2014-12-10 12:02:16 -05:00
reed
3054be16df Remove canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001)

BUG=skia:
TBR=
re-landing after chrome fixes have landed

Review URL: https://codereview.chromium.org/784223007
2014-12-10 07:24:28 -08:00
reed
7543aa2b36 add readPixels to SkSurface (later try to remove it from SkCanvas)
BUG=skia:
TBR=bsalomon, robertphilips

Review URL: https://codereview.chromium.org/789993002
2014-12-09 14:39:44 -08:00
reed
a8918a0650 Revert of remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul (patchset #3 id:40001 of https://codereview.chromium.org/790733003/)
Reason for revert:
need to update chrome first

Original issue's description:
> remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
>
> patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2c1605a1fbaa2e35a27399a34254fb1200ec2ae6

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

Review URL: https://codereview.chromium.org/791763002
2014-12-09 13:55:20 -08:00
junov
f3c78ccf56 Adding an option for pixelated rendering in SkPictureImageFilter
BUG=skia:3209

Review URL: https://codereview.chromium.org/787073003
2014-12-09 13:07:22 -08:00
reed
2c1605a1fb remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001)

BUG=skia:

Review URL: https://codereview.chromium.org/790733003
2014-12-09 12:33:38 -08:00
reed
a8b326c01a change SkPoint::setLength to set itself to (0,0) if it starting length is degenerate.
BUG=skia:3203
TBR=caryclark

Review URL: https://codereview.chromium.org/785933003
2014-12-09 11:50:33 -08:00
egdaniel
9513143efa Make all blending up to GrOptDrawState be handled by the xp/xp factory.
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4

Review URL: https://codereview.chromium.org/759713002
2014-12-09 11:15:44 -08:00
scroggo
3030445799 Revert of Replace EncodeBitmap with an interface. (patchset #12 id:210001 of https://codereview.chromium.org/784643002/)
Reason for revert:
Failing serialization tasks in DM:

http://build.chromium.org/p/client.skia/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/352/steps/dm/logs/stdio

Original issue's description:
> Replace EncodeBitmap with an interface.
>
> Gives more flexibility to the caller to decide whether to use the
> encoded data returned by refEncodedData().
>
> Provides an implementation that supports the old version of
> SkPicture::serialize().
>
> TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely
>
> BUG=skia:3190
>
> Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1
>
> Committed: https://skia.googlesource.com/skia/+/02b217f80b01a7dda8493422e5257c36a9ce8464

TBR=reed@google.com,rmistry@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:3190

Review URL: https://codereview.chromium.org/783393004
2014-12-09 08:27:37 -08:00
scroggo
02b217f80b Replace EncodeBitmap with an interface.
Gives more flexibility to the caller to decide whether to use the
encoded data returned by refEncodedData().

Provides an implementation that supports the old version of
SkPicture::serialize().

TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely

BUG=skia:3190

Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1

Review URL: https://codereview.chromium.org/784643002
2014-12-09 07:44:36 -08:00
robertphillips
c0708cb7bc Revert of Replace EncodeBitmap with an interface. (patchset #11 id:190001 of https://codereview.chromium.org/784643002/)
Reason for revert:
Compilation is failing on some bots

Original issue's description:
> Replace EncodeBitmap with an interface.
>
> Gives more flexibility to the caller to decide whether to use the
> encoded data returned by refEncodedData().
>
> Provides an implementation that supports the old version of
> SkPicture::serialize().
>
> TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely
>
> BUG=skia:3190
>
> Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1

TBR=reed@google.com,scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:3190

Review URL: https://codereview.chromium.org/787833002
2014-12-09 05:35:07 -08:00
scroggo
0c4aba6edb Replace EncodeBitmap with an interface.
Gives more flexibility to the caller to decide whether to use the
encoded data returned by refEncodedData().

Provides an implementation that supports the old version of
SkPicture::serialize().

TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely

BUG=skia:3190

Review URL: https://codereview.chromium.org/784643002
2014-12-09 05:23:12 -08:00
egdaniel
8d95ffa497 Revert of Make all blending up to GrOptDrawState be handled by the xp/xp factory. (patchset #7 id:140001 of https://codereview.chromium.org/759713002/)
Reason for revert:
break many gm's

Original issue's description:
> Make all blending up to GrOptDrawState be handled by the xp/xp factory.
>
> In this cl the blending information is extracted for the xp and stored in the ODS
> which is then used as it currently is. In the follow up cl, an XP backend will be added
> and at that point all blending work will take place inside XP's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4

TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/766653008
2014-12-08 13:26:43 -08:00
egdaniel
7c66342a39 Make all blending up to GrOptDrawState be handled by the xp/xp factory.
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.

BUG=skia:

Review URL: https://codereview.chromium.org/759713002
2014-12-08 11:20:40 -08:00
fmalita
2be0fd8dcb Constify CreatePictureShader's picture arg.
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/768113004
2014-12-08 09:04:05 -08:00
reed
08c357c914 remove device::clear -- no longer called
BUG=skia:

Review URL: https://codereview.chromium.org/778373003
2014-12-08 08:00:29 -08:00
reed
b9bb38cd18 make SkColorShader private, use public factory
BUG=skia:

Need https://codereview.chromium.org/785823002/ to land first

Review URL: https://codereview.chromium.org/788533002
2014-12-08 06:06:36 -08:00
reed
f4e0d9eb2d clear() is now an alias for drawPaint, so remove its virtual
Needs these to land first:
https://codereview.chromium.org/733343005
https://codereview.chromium.org/777413004

BUG=skia:

Review URL: https://codereview.chromium.org/780393002
2014-12-05 20:49:03 -08:00
reed
8eddfb50c0 Change clear() to respect the clip
This reverts commit af641a1c10.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/783493002
2014-12-04 07:50:14 -08:00
reed
b8eb85cd2f make clear private (before we delete it)
BUG=skia:

Review URL: https://codereview.chromium.org/781593002
2014-12-04 03:48:34 -08:00
reed
e5750729e4 Revert of Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/777003002/)
Reason for revert:
fix landed in chrome to allow this (I hope)

Original issue's description:
> Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/765643004/)
>
> Reason for revert:
> ../../skia/ext/bitmap_platform_device_cairo.cc:131:13: error: no member named 'eraseColor' in 'skia::BitmapPlatformDevice'
>
>
> Original issue's description:
> > remove unused device::eraseColor
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/b1ab276c3719d6690e58f347c25126d2b8929c5d
>
> TBR=reed@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8b0197ef2e32be9d62e79d58f8b50811975c79c6

TBR=halcanary@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/779543004
2014-12-03 13:17:29 -08:00
halcanary
8b0197ef2e Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/765643004/)
Reason for revert:
../../skia/ext/bitmap_platform_device_cairo.cc:131:13: error: no member named 'eraseColor' in 'skia::BitmapPlatformDevice'

Original issue's description:
> remove unused device::eraseColor
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/b1ab276c3719d6690e58f347c25126d2b8929c5d

TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/777003002
2014-12-03 10:41:11 -08:00
egdaniel
378092f3d1 Add XferProcessor factory in GrPaint and GrDrawState.
In this CL the XP should have zero effect on the actual rendering pipeline.

BUG=skia:

Review URL: https://codereview.chromium.org/751283002
2014-12-03 10:40:13 -08:00
reed
b1ab276c37 remove unused device::eraseColor
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/765643004
2014-12-03 09:47:48 -08:00
reed
af641a1c10 Revert "Change clear() to respect the clip"
This reverts commit 3729469d6a.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/778563002
2014-12-02 19:40:18 -08:00
mtklein
701dd4fbd7 Flail a little against LLVM crash.
Cannot reproduce this in my local Chromium checkout (using their Clang, just like the bots).

BUG=skia:

TBR=reed@google.com

Review URL: https://codereview.chromium.org/764433003
2014-12-02 13:17:06 -08:00
scroggo
ca0e67261e Remove SK_SUPPORT_DEPRECATED_SCALARROUND.
Our clients no longer require it.

Review URL: https://codereview.chromium.org/772933002
2014-12-02 12:30:38 -08:00
Justin Novosad
5234075b1c Adding a PictureResolution option to SkPictureImageFilter
This change adds an option to SkPictureImageFilter to make it
rasterize SkPicture in a resolution that matches the local coordinate
space (equivalent to the record-time device space).

BUG=skia:3176
R=reed@google.com, senorblanco@chromium.org

Review URL: https://codereview.chromium.org/753073010
2014-12-02 14:50:56 -05:00
reed
3729469d6a Change clear() to respect the clip
patch from issue 769703002 at patchset 1 (http://crrev.com/769703002#ps1)

BUG=skia:

Review URL: https://codereview.chromium.org/772533004
2014-12-02 10:08:11 -08:00
mtklein
cc969c4dd9 Make SkColorTable explicitly thread-safe.
Mostly this means using SkLazyPtr for the 16-bit cache.
We can remove the copy constructor now and just ref it instead.

BUG=skia:

Review URL: https://codereview.chromium.org/769323002
2014-12-02 10:02:47 -08:00
mtklein
775b8199a2 SkColorTable locking serves no purpose anymore.
The only thing the unlock methods were doing was assert their balance.
This removes the unlock methods and renames the lock methods "read".

BUG=skia:

Review URL: https://codereview.chromium.org/719213008
2014-12-02 09:11:25 -08:00
mtklein
05d611574a SkDrawLooper: No need for virtual bounds computation methods.
No subclass overrides either method.

This is just warmup.  Perf is neutral.  The real meat of the time spent
is inside canComputeFastBounds / computeFastBounds, not getting to them.

BUG=skia:

Review URL: https://codereview.chromium.org/772573003
2014-12-01 13:03:22 -08:00
mtklein
3f3b3d0035 Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
This was needed for pictures before v33, and we're now requiring v35+.

Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88

Review URL: https://codereview.chromium.org/769953002
2014-12-01 11:47:08 -08:00
scroggo
ca92fbd029 Remove orphaned SkImageDecoder::Target.
This was used by an experimental method on SkImageDecoder, which no
longer exists.

Review URL: https://codereview.chromium.org/760923003
2014-12-01 11:35:19 -08:00
mtklein
af57903f33 Force SkMatrix type while recording too.
This switches to a new way of doing this, enforcing the caching with the type
recorded rather than having to do it in SkRecorder.  Should be more foolproof.

Updated SkPath and SkBitmap's equivalents too.  ImmutableBitmap was close,
but using inheritance now makes the rest of the code less weird.

BUG=437511

I'm not sure whether or not this will _fix_ the SkMatrix aspect of that bug.
There may be other SkMatrices that we're racing on.  It does cover the obvious
ones, though, and removing the SkTRacy<> wrapper will allow TSAN to show
us any other races.

It turned out to be easier to turn missing optional matrices into I early rather
than late.  I figure this should be harmless.  Recording and playback perf both
look neutral.

Review URL: https://codereview.chromium.org/773433003
2014-12-01 11:03:37 -08:00
mtklein
6e78293ee8 Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/)
Reason for revert:
Breaks canary builds.  Will reland after the Chromium change lands.

Original issue's description:
> Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
>
> This was needed for pictures before v33, and we're now requiring v35+.
>
> Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88

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

Review URL: https://codereview.chromium.org/768183002
2014-12-01 10:56:05 -08:00
mtklein
52c293547b Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
This was needed for pictures before v33, and we're now requiring v35+.

Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc

BUG=skia:

Review URL: https://codereview.chromium.org/769953002
2014-12-01 10:23:11 -08:00
cdalton
20b373cf31 Add color emoji fallback for nvpr text
BUG=skia:

Review URL: https://codereview.chromium.org/759613005
2014-12-01 08:38:55 -08:00
mtklein
5c9c9be1f5 Force path bounds in recording.
The use of SKTRacy isn't safe in SkPathRef.
There are logical dependencies between the racy fields.

Doesn't seem to affect recording performance:

$ c --match skp --config nonrendering
               tabl_techmeme.skp	81.1us ->   86us	1.06x
                 desk_mapsvg.skp	1.23ms -> 1.26ms	1.02x
           desk_yahooanswers.skp	 114us ->  117us	1.02x
                tabl_sahadan.skp	70.9us ->   72us	1.02x
               desk_fontwipe.skp	31.6us ->   32us	1.01x
           tabl_cuteoverload.skp	 414us ->  419us	1.01x
             desk_mobilenews.skp	 503us ->  508us	1.01x
               desk_tigersvg.skp	 150us ->  152us	1.01x
               desk_samoasvg.skp	 608us ->  610us	1x
                   tabl_digg.skp	 636us ->  638us	1x
                 tabl_pravda.skp	 155us ->  156us	1x
     desk_jsfiddlehumperclip.skp	33.9us -> 33.9us	1x
      tabl_culturalsolutions.skp	 295us ->  295us	1x
                desk_youtube.skp	 447us ->  448us	1x
                    desk_gws.skp	 144us ->  144us	1x
               tabl_frantzen.skp	  42us ->   42us	1x
                  tabl_gspro.skp	50.1us ->   50us	1x
         tabl_googlecalendar.skp	 165us ->  165us	1x
                desk_twitter.skp	 359us ->  358us	1x
              desk_wordpress.skp	 588us ->  583us	0.99x
         desk_jsfiddlebigcar.skp	32.8us -> 32.5us	0.99x
                desk_booking.skp	 838us ->  827us	0.99x
          tabl_androidpolice.skp	1.42ms ->  1.4ms	0.99x
                desk_blogger.skp	 378us ->  372us	0.98x
                desk_wowwiki.skp	1.11ms -> 1.09ms	0.98x
                   tabl_cnet.skp	 115us ->  112us	0.97x
            desk_silkfinance.skp	57.7us -> 55.9us	0.97x
                    tabl_cnn.skp	 136us ->  131us	0.97x
                 desk_sfgate.skp	 396us ->  377us	0.95x
             tabl_deviantart.skp	 107us ->  102us	0.95x
                tabl_mozilla.skp	 1.4ms -> 1.32ms	0.94x
BUG=437511

Review URL: https://codereview.chromium.org/762313002
2014-12-01 06:59:55 -08:00
mtklein
88fd0fbccc Bump min picture version.
Chrome Stable is M39, which produces picture format v35:
    https://chromium.googlesource.com/skia/+/chrome/m39/include/core/SkPicture.h

We don't need any code to deal with pictures older than v35.

(When M40 goes stable, we can step up to v37, the current latest version.)

BUG=skia:

Review URL: https://codereview.chromium.org/770703002
2014-12-01 06:56:38 -08:00
scroggo
f3ca41c723 Add an Android-framework-only stable ID to SkPixelRef.
BUG:b/18245805

Review URL: https://codereview.chromium.org/752203002
2014-11-25 13:42:12 -08:00
mtklein
21180e2651 Revert of Blink hasn't rolled yet, better. (patchset #1 id:1 of https://codereview.chromium.org/758693002/)
Reason for revert:
Try again, for real.

Original issue's description:
> Blink hasn't rolled yet, better.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/89ff0846fd9dacf5f081373746624d450a5f8c26

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

Review URL: https://codereview.chromium.org/754303004
2014-11-25 07:30:19 -08:00
reed
26a6bf6a26 free up picturerecorder refs after returning picture or drawable
this just accelerates what would happen on the next beginRecording() call or the destructor. chrome has unittests that break (shaders on the stack) if we hold on to the internals past endRecording().

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/758813002
2014-11-24 19:59:23 -08:00
reed
1bdfd3f4f0 option to return drawable from recording
patch from issue 747033005 at patchset 80001 (http://crrev.com/747033005#ps80001)

BUG=skia:

Review URL: https://codereview.chromium.org/732653004
2014-11-24 14:41:51 -08:00
Mike Klein
89ff0846fd Blink hasn't rolled yet, better.
BUG=skia:

Review URL: https://codereview.chromium.org/758693002
2014-11-24 17:31:54 -05:00
mtklein
a2a5cd4405 Revert of Blink hasn't rolled yet. (patchset #1 id:1 of https://codereview.chromium.org/754133002/)
Reason for revert:
Not thorough enough.

Original issue's description:
> Blink hasn't rolled yet.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/fa14113d0563686af9f7e2d8e041dd7bf538cfa2

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

Review URL: https://codereview.chromium.org/752303002
2014-11-24 14:28:55 -08:00
reed
3c850c561f restore old convention of asserting refcnt==1 in destructor
BUG=skia:

Review URL: https://codereview.chromium.org/757563003
2014-11-24 14:13:55 -08:00
Mike Klein
fa14113d05 Blink hasn't rolled yet.
BUG=skia:

Review URL: https://codereview.chromium.org/754133002
2014-11-24 16:26:15 -05:00
mtklein
bbb61d7268 make SkRefCnt::getRefCnt() debug-only, remove it from SkNVRefCnt.
Only (unused) API removed.
TBR=reed@google.com

BUG=skia:3160

Review URL: https://codereview.chromium.org/752263002
2014-11-24 13:09:39 -08:00
reed
90d0ff013b add some debugging to SkNVRefCnt
BUG=skia:

Review URL: https://codereview.chromium.org/745383003
2014-11-24 12:02:31 -08:00
scroggo
01c412e40a Remove android-framework-only unused parameter.
Allows -Werror=unused-parameter to build on android framework.

Review URL: https://codereview.chromium.org/757633002
2014-11-24 09:05:35 -08:00
mtklein
04c9695055 Remove Picture deletion listeners.
Looks like we can just have ~SkPicture put the message on the bus directly.

BUG=skia:3144

Review URL: https://codereview.chromium.org/751663002
2014-11-24 08:20:58 -08:00
reed
735f548c51 use int instead of size_t to match skia convention
BUG=skia:
TBR=mtklein@google.com

Review URL: https://codereview.chromium.org/753903002
2014-11-23 18:37:14 -08:00
mtklein
19ac76753e SkPicture::SnapshotArray doesn't really stand to benefit from refcounting.
BUG=skia:

Review URL: https://codereview.chromium.org/748803005
2014-11-21 12:20:35 -08:00
mtklein
1794651509 Switch SkBitmapProcState's SkFractionalInt to 32.32.
16 bits are not enough to hold the integral part of fx in
Clamp_S32_opaque_D32_nofilter_DX_shaderproc.

Weirdly, no GM diffs on my desktop.

BUG=skia:3096

Review URL: https://codereview.chromium.org/733163003
2014-11-21 12:10:33 -08:00
mtklein
09a22e9597 Watch out for SkFixed overflow in SkMipMap.cpp.
Tested with -fsanitize=signed-integer-overflow.
This new assert used to trigger in MipMap unit test.

Don't appear to be any GM diffs.

BUG=skia:

Review URL: https://codereview.chromium.org/729373004
2014-11-21 11:38:53 -08:00