| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/763503003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/755363002
|
|
|
|
|
|
| |
BUG:b/18245805
Review URL: https://codereview.chromium.org/752203002
|
|
|
|
|
|
|
|
|
|
| |
CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Release-Trybot,Test-Mac10.7-MacMini4.1-GeForce320M-x86_64-Release-Trybot,Test-Win7-ShuttleA-HD2000-x86-Debug-GDI-Trybot
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/e4bf793120d3bfc9b003d11880a3fb73ff2b89e9
Review URL: https://codereview.chromium.org/698873003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current code assumes that text on Mac is freely scalable,
or at least that the text size is just a part of the transform.
However, it appears that application of the 'trak' table,
as well as other optical adjustments, may rely on the text size
directly.
This change passes the text size requested directly to CoreText.
BUG=chromium:427528
Review URL: https://codereview.chromium.org/752183002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
portable version:
before:
10M 1 806µs 807µs 810µs 821µs 1% █▂▁▁▃▁▁▁█▁ 8888 bitmap_BGRA_8888_A_scale_rotate_bicubic
after:
10M 1 566µs 568µs 569µs 579µs 1% ▄▂▂█▂▁▁▁▃▁ 8888 bitmap_BGRA_8888_A_scale_rotate_bicubic
SSE version:
before:
10M 1 485µs 486µs 487µs 494µs 1% ▇▂▁▁▁▁█▂▁▁ 8888 bitmap_BGRA_8888_A_scale_rotate_bicubic
after:
10M 1 419µs 420µs 421µs 430µs 1% ▅▃▂▁▁█▂▁▁▁ 8888 bitmap_BGRA_8888_A_scale_rotate_bicubic
BUG=skia:
Review URL: https://codereview.chromium.org/759603002
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Looks like a noop-to-minor-win:
tabl_sahadan.skp 94.9us -> 98.6us 1x
desk_jsfiddlebigcar.skp 38.9us -> 39.7us 1x
desk_silkfinance.skp 78us -> 78.9us 1x
desk_jsfiddlehumperclip.skp 43.8us -> 44.3us 1x
desk_sfgate.skp 547us -> 548us 1x
tabl_gmail.skp 19.9us -> 19.8us 1x
tabl_worldjournal.skp 230us -> 229us 1x
desk_css3gradients.skp 248us -> 247us 1x
tabl_cnn.skp 205us -> 203us 0.99x
desk_linkedin.skp 342us -> 340us 0.99x
desk_wowwiki.skp 1.63ms -> 1.62ms 0.99x
tabl_cnet.skp 142us -> 141us 0.99x
desk_pokemonwiki.skp 9.76ms -> 9.67ms 0.99x
desk_espn.skp 267us -> 264us 0.99x
desk_youtube.skp 576us -> 570us 0.99x
tabl_pravda.skp 238us -> 235us 0.99x
tabl_ukwsj.skp 566us -> 560us 0.99x
tabl_engadget.skp 630us -> 622us 0.99x
desk_googlespreadsheetdashed.skp 1.66ms -> 1.64ms 0.99x
desk_mobilenews.skp 486us -> 480us 0.99x
tabl_googlecalendar.skp 211us -> 208us 0.99x
desk_samoasvg.skp 740us -> 730us 0.99x
desk_gws.skp 187us -> 184us 0.99x
desk_ebay.skp 234us -> 230us 0.99x
desk_mapsvg.skp 1.6ms -> 1.58ms 0.98x
tabl_nytimes.skp 130us -> 128us 0.98x
tabl_googleblog.skp 305us -> 300us 0.98x
desk_fontwipe.skp 40.3us -> 39.6us 0.98x
desk_tigersvg.skp 189us -> 186us 0.98x
tabl_androidpolice.skp 662us -> 650us 0.98x
desk_wordpress.skp 824us -> 809us 0.98x
tabl_mlb.skp 338us -> 331us 0.98x
tabl_culturalsolutions.skp 390us -> 382us 0.98x
desk_baidu.skp 213us -> 208us 0.98x
tabl_gspro.skp 72.9us -> 71.1us 0.97x
tabl_nofolo.skp 74us -> 71.9us 0.97x
desk_yahooanswers.skp 173us -> 168us 0.97x
tabl_frantzen.skp 57.3us -> 55.6us 0.97x
desk_chalkboard.skp 891us -> 865us 0.97x
desk_pinterest.skp 154us -> 149us 0.97x
desk_blogger.skp 537us -> 519us 0.97x
tabl_hsfi.skp 10.1us -> 9.69us 0.96x
desk_gmailthread.skp 333us -> 318us 0.96x
tabl_digg.skp 926us -> 883us 0.95x
desk_googlespreadsheet.skp 586us -> 558us 0.95x
desk_forecastio.skp 101us -> 95.7us 0.95x
desk_booking.skp 1.1ms -> 1.04ms 0.95x
tabl_deviantart.skp 144us -> 136us 0.95x
desk_facebook.skp 584us -> 553us 0.95x
desk_weather.skp 289us -> 272us 0.94x
desk_googlehome.skp 61.1us -> 57.5us 0.94x
desk_googleplus.skp 914us -> 849us 0.93x
desk_twitter.skp 499us -> 463us 0.93x
BUG=skia:
Review URL: https://codereview.chromium.org/756783002
|
|
|
|
|
|
|
|
| |
patch from issue 747033005 at patchset 80001 (http://crrev.com/747033005#ps80001)
BUG=skia:
Review URL: https://codereview.chromium.org/732653004
|
|
|
|
|
|
|
|
| |
Although Chromium doesn't use the drawPicture matrix parameter for their tiling, our local code does. Without such drawPicture calls break layer hoisting.
BUG=skia:2315
Review URL: https://codereview.chromium.org/748853002
|
|
|
|
|
|
|
|
| |
It's neither static nor namespaced, so we should probably prefix it.
BUG=skia:
Review URL: https://codereview.chromium.org/754083002
|
|
|
|
|
|
|
|
| |
Looks like we can just have ~SkPicture put the message on the bus directly.
BUG=skia:3144
Review URL: https://codereview.chromium.org/751663002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/748803005
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
Restores type safety with all the same features.
(Also note, less code: 29 insertions, 50 deletions.)
BUG=skia:
Review URL: https://codereview.chromium.org/746553002
|
|
|
|
|
|
| |
BUG=skia:3144
Review URL: https://codereview.chromium.org/748063002
|
|
|
|
|
|
|
|
| |
patch from issue 750003002 at patchset 1 (http://crrev.com/750003002#ps1)
BUG=skia:
Review URL: https://codereview.chromium.org/752573002
|
|
|
|
|
|
|
|
|
|
| |
I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.
TBR=bsalomon@google.com
Committed: https://skia.googlesource.com/skia/+/0ddad31012dabfc1267effc8071d37f7d606efbe
Review URL: https://codereview.chromium.org/731973005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/731973005/)
Reason for revert:
Needs more work
Original issue's description:
> Add MultiPictureDraw to nanobench
>
> I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.
>
> TBR=bsalomon@google.com
>
> Committed: https://skia.googlesource.com/skia/+/0ddad31012dabfc1267effc8071d37f7d606efbe
TBR=mtklein@google.com,bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/750583002
|
|
|
|
|
|
|
|
| |
I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/731973005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is empty. (patchset #1 id:1 of https://codereview.chromium.org/735233003/)
Reason for revert:
Chrome unit_tests failures on Mac & Win, blocking the roll: http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/5613
Original issue's description:
> SkCanvas::clear() should call down to devices even when the clip is empty.
>
> SkDrawIter had a lovely, completely unused, option for this. Oversight?
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/378e70d8e561b72a904286ea231946f5c8345b9a
TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/748733002
|
|
|
|
|
|
|
|
|
|
|
| |
As an intermediate fix for
https://code.google.com/p/skia/issues/detail?id=3142, we can use a
non-public SkCanvas constructor and force-disable LCD text.
BUG=skia:3142
R=reed@google.com,senorblanco@google.com
Review URL: https://codereview.chromium.org/725243004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SkNVRefCnt is a variant of SkRefCnt that's Not Virtual, so weighs 4 bytes
instead of 8 or 16. There's only benefit to doing this if the deriving class
does not otherwise need a vtable, e.g. SkPicture.
I've stripped out some cruft from SkPicture, rearranged fields to pack tightly,
and added compile asserts for the sizes of SkPicture, SkRecord, and
SkVarAlloc.
BUG=skia:3144
Review URL: https://codereview.chromium.org/741793002
|
|
|
|
|
|
|
|
| |
Saves 4 bytes per clip op.
BUG=skia:
Review URL: https://codereview.chromium.org/741093002
|
|
|
|
|
|
|
|
| |
SkDrawIter had a lovely, completely unused, option for this. Oversight?
BUG=skia:
Review URL: https://codereview.chromium.org/735233003
|
|
|
|
| |
Review URL: https://codereview.chromium.org/737093002
|
|
|
|
|
|
|
|
|
|
|
|
| |
We fix this by rewriting empty queries to very tiny queries, which will certainly
hit ops that span the entire picture (like Clear) and hopefully not much more.
(This doesn't quite work in the full cull rect world if [0,0,ε,ε] doesn't
overlap the picture. Let's cross that bridge when we get there.)
BUG=432991
Review URL: https://codereview.chromium.org/732723004
|
|
|
|
|
|
|
|
|
| |
In the software path, the same issue has been fixed some time ago:
https://codereview.chromium.org/114173002
BUG=skia:
Review URL: https://codereview.chromium.org/666043003
|
|
|
|
|
|
|
| |
BUG=chromium:230419
R=mtklein@google.com,reed@google.com
Review URL: https://codereview.chromium.org/490253003
|
|
|
|
|
|
|
|
| |
Whatever assertion was triggering in SkRTree.cpp seems to be gone now.
BUG=432991
Review URL: https://codereview.chromium.org/725373003
|
|
|
|
|
|
|
|
| |
This reverts commit 7c4cdd2c5b7b6c71fa0e7612594f7885f2dbf264.
BUG=skia:
Review URL: https://codereview.chromium.org/738083002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/736583004/)
Reason for revert:
needed to update legacy width() helpers
Original issue's description:
> allow pictures to have a full bounds
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7e76bff26e7c74902841ca4f607eb0b24a833a4a
TBR=fmalita@google.com,mtklein@google.com,robertphillips@google.com,fmalita@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/722043005
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/736583004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/742663002
|
|
|
|
|
|
|
|
|
|
|
|
| |
Idea:
1. in its mutable recording state, keep a table of drawables on the side, and store an index in the record list.
2. In "immediate-mode" draw, just call the clients drawable directly (need access to our private list to turn the stored index into a proc)
3. when we "snap", we replace the list of drawables with a list of (sub) pictures, and then during playback of the snapped picture, we invoke a private drawable which just calls "drawPicture" on the index'd subpicture.
Review URL: https://codereview.chromium.org/727363003
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is what I was getting at on the other CL.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/f27f1bcce50c8f95aea8469684a70b70c9baee09
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-Nexus5-Adreno330-Arm7-Release-Trybot
Review URL: https://codereview.chromium.org/730193003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Propagate a bunch of constant parameters through.
- Delete code that's not used when bulk loading.
- Allocate all Nodes together.
- Stay in SkRect.
Doing a single malloc for the nodes can't not have improved memory usage.
Looks like this might improve record performance ~5%, probably mostly from
staying in SkRects. This finally dethrones building the BBH as the hot spot.
(Now it's mapping user bounds back to device bounds and adjusting for paints.)
Recording time changes from my MBP:
desk_rectangletransition.skp 11.5us -> 11.7us 1x
desk_forecastio.skp 115us -> 114us 0.98x
desk_booking.skp 550us -> 541us 0.98x
tabl_mercurynews.skp 176us -> 173us 0.98x
tabl_hsfi.skp 294us -> 287us 0.98x
desk_wordpress.skp 351us -> 343us 0.98x
tabl_worldjournal.skp 439us -> 426us 0.97x
tabl_gmail.skp 20.3us -> 19.7us 0.97x
desk_youtubetvvideo.skp 10.8us -> 10.4us 0.97x
desk_googleplus.skp 1.1ms -> 1.07ms 0.97x
tabl_slashdot.skp 106us -> 103us 0.97x
desk_jsfiddlebigcar.skp 26.7us -> 25.7us 0.96x
tabl_techmeme.skp 95.4us -> 91.7us 0.96x
tabl_deviantart.skp 133us -> 127us 0.96x
desk_pinterest.skp 40.6us -> 38.9us 0.96x
desk_carsvg.skp 195us -> 187us 0.96x
tabl_engadget.skp 376us -> 359us 0.96x
tabl_sahadan.skp 60.5us -> 57.5us 0.95x
tabl_culturalsolutions.skp 255us -> 242us 0.95x
tabl_gspro.skp 58.3us -> 55.5us 0.95x
desk_linkedin.skp 146us -> 138us 0.94x
desk_ebay.skp 192us -> 181us 0.94x
tabl_cnn.skp 467us -> 440us 0.94x
desk_jsfiddlehumperclip.skp 29.9us -> 28.1us 0.94x
desk_tigersvg.skp 43.2us -> 40.5us 0.94x
desk_yahooanswers.skp 131us -> 123us 0.94x
desk_googlespreadsheetdashed.skp 1.18ms -> 1.11ms 0.94x
desk_blogger.skp 193us -> 181us 0.94x
tabl_mozilla.skp 1.82ms -> 1.7ms 0.94x
tabl_mlb.skp 145us -> 136us 0.93x
mobi_wikipedia.skp 577us -> 539us 0.93x
tabl_frantzen.skp 54.1us -> 50.4us 0.93x
desk_baidu.skp 87.9us -> 81.9us 0.93x
desk_techcrunch.skp 224us -> 209us 0.93x
desk_sfgate.skp 206us -> 192us 0.93x
tabl_ukwsj.skp 269us -> 250us 0.93x
desk_facebook.skp 316us -> 293us 0.93x
desk_gmailthread.skp 205us -> 190us 0.93x
tabl_googlecalendar.skp 158us -> 147us 0.93x
tabl_digg.skp 382us -> 354us 0.93x
desk_amazon.skp 106us -> 98.5us 0.93x
tabl_androidpolice.skp 693us -> 642us 0.93x
tabl_nytimes.skp 206us -> 191us 0.92x
desk_gws.skp 124us -> 114us 0.92x
desk_youtube.skp 255us -> 235us 0.92x
tabl_cuteoverload.skp 583us -> 537us 0.92x
desk_oldinboxapp.skp 18us -> 16.6us 0.92x
desk_mobilenews.skp 297us -> 273us 0.92x
tabl_pravda.skp 168us -> 154us 0.92x
tabl_vnexpress.skp 236us -> 217us 0.92x
desk_css3gradients.skp 202us -> 185us 0.92x
tabl_gamedeksiam.skp 508us -> 464us 0.91x
desk_wowwiki.skp 1.02ms -> 929us 0.91x
desk_espn.skp 209us -> 191us 0.91x
desk_chalkboard.skp 315us -> 284us 0.9x
desk_mapsvg.skp 607us -> 543us 0.89x
desk_pokemonwiki.skp 5.18ms -> 4.62ms 0.89x
desk_samoasvg.skp 335us -> 298us 0.89x
desk_youtubetvbrowse.skp 10.1us -> 8.59us 0.85x
BUG=skia:3085, skia:2834
Review URL: https://codereview.chromium.org/734723002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/730193003/)
Reason for revert:
Android needs dlmalloc_usable_size().
Original issue's description:
> SkVarAlloc::approxBytesAllocated()
>
> This is what I was getting at on the other CL.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/f27f1bcce50c8f95aea8469684a70b70c9baee09
>
> CQ_EXTRA_TRYBOTS=Test-Android-Nexus5-Adreno330-Arm7-Release-Trybot
TBR=reed@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/741443002
|
|
|
|
|
|
|
|
| |
This is what I was getting at on the other CL.
BUG=skia:
Review URL: https://codereview.chromium.org/730193003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/734513004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL fixes the case where a bad initial vector (i.e., nearly zero) managed to short circuit all of the convexicator's logic. The initial bad vector would become the last vector and then never get displaced.
The history of this is:
https://codereview.chromium.org/298973004/
Switched the convexicator to not advance the last vector when the cross product wasn't significant
https://codereview.chromium.org/573763002/
Fixed a bug (crbug.com/412640) wherein a zero area path was being incorrectly categorized as convex b.c. opposite but equal vectors were not signaling concavity.
BUG=433683
Review URL: https://codereview.chromium.org/727283003
|
|
|
|
|
|
|
|
|
|
| |
Chromium creates a picture to contain their picture pile in order to use MultiPictureDraw. They currently do not create a bounding box for that picture but I still need layer information for it. This change allows Chromium to continue without a BBH but still have layer information.
In the future, the brute force BBH might be suitable for their use case.
Please see gpu_raster_worker_pool.cc in (Add flag to beginRecording to request saveLayer information - https://codereview.chromium.org/721883002/) for where this is happening in Chromium.
Review URL: https://codereview.chromium.org/733963004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- move field declarations together and pack them a little tighter
- get rid of fData
- remove dead code in debugger, including unused SkPicturePlayback subclass
There are now no more long-lived SkPictureData! (Really, there never were,
but now we don't pretend to support them.)
BUG=skia:
No API changes.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/725143002
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow us to add nonnull-attribute to the UBSAN bot.
We are in fact hitting a case where one of the arguments is null and the other
not, which seems dicey. I think the scenario is comparing the empty pathref
with another path ref that's just been COWed, without any verbs or points yet.
BUG=skia:
Review URL: https://codereview.chromium.org/732643002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/728673002
|
|
|
|
|
|
|
|
|
|
|
| |
We're currently overwriting the paint LCD text flag based on the the run
font data => this cancels any LCD filtering we might have performed
higher up the stack.
BUG=423362
R=reed@google.com
Review URL: https://codereview.chromium.org/718913003
|
|
|
|
|
|
|
|
|
|
|
| |
This means we can store fLgMinSize in 4 bits (TBD).
Local perf comparison calls this harmless-to-slightly-helpful. Nothing to get
excited about, but seems to certainly not harm perf.
BUG=skia:
Review URL: https://codereview.chromium.org/722293003
|
|
|
|
|
|
|
|
| |
This define was added with "Always round text position correctly."
9447103029273a9f8dd7f5997e8af7a1e3ee7488 . The affected clients
have been rebaselined and this is no longer defined anywhere.
Review URL: https://codereview.chromium.org/722333002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL updates various files in the includes directory to ensure that (1) they do
not depend on headers in /src and (2) that they minimize their dependence on external
headers.
To ensure that we don't regress this behavior a new build target has been added to
build a single cpp file that contains all* public includes and is compiled with
only those directories in the include path.
* The exception is those includes that depend on OS specific headers
BUG=skia:2941
NOTRY=true
Review URL: https://codereview.chromium.org/721903002
|