mtklein
08d1fccf6e
Add SkNVRefCnt, prune down SkPicture's size
...
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
2014-11-20 09:18:32 -08:00
mtklein
cdeeb095a6
SkRecord: Pack SkRegion::Op and AA bit together.
...
Saves 4 bytes per clip op.
BUG=skia:
Review URL: https://codereview.chromium.org/741093002
2014-11-20 09:14:28 -08:00
mtklein
378e70d8e5
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:
Review URL: https://codereview.chromium.org/735233003
2014-11-20 08:58:02 -08:00
bsalomon
072803144a
Stop overloading internal_dispose in SkTextBlob and SkData
...
Review URL: https://codereview.chromium.org/737093002
2014-11-20 08:02:46 -08:00
mtklein
7cc1a34fbf
Make sure pictures draw Clears even when the clip is empty.
...
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
2014-11-20 08:01:09 -08:00
joshualitt
9176e2c159
dstCopy on optdrawstate
...
BUG=skia:
Review URL: https://codereview.chromium.org/735363003
2014-11-20 07:28:52 -08:00
rosca
ace7f42769
Preventing division by 0 in non-separable blend mode shaders.
...
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
2014-11-20 07:24:32 -08:00
kkinnunen
e097be50bd
Implement conics for NVPR
...
Implement conics for NVPR. Verified with currently disabled conicpaths
gm, produces mostly same shapes with nvprmsaa4 and msaa4.
BUG=skia:2033
Review URL: https://codereview.chromium.org/694503003
2014-11-19 22:49:03 -08:00
Greg Humphreys
ac1383db67
even more stragglers -- hopefully this makes the gtx machine go green?
...
BUG=skia:
Review URL: https://codereview.chromium.org/716243005
2014-11-19 17:28:53 -05:00
Greg Humphreys
c58a33c95b
more rebaseline stragglers
...
BUG=skia:
Review URL: https://codereview.chromium.org/726373004
2014-11-19 17:02:31 -05:00
mtklein
008f1ea581
Store DM failures in an array, not a single string.
...
This should fix the problem where a repeatedly failing test causes this assertion:
../../src/core/SkString.cpp:572: failed assertion "length >= 0 && length < SkToInt(kBufferSize)"
Example output:
0 GMs x 7 configs, 2 tests, 0 pictures
0 tasks left, 100 failed
Failures:
test RTree: ../../tests/RTreeTest.cpp:77 0 != rtree.getCount()
test RTree: ../../tests/RTreeTest.cpp:77 0 != rtree.getCount()
test RTree: ../../tests/RTreeTest.cpp:77 0 != rtree.getCount()
test RTree: ../../tests/RTreeTest.cpp:77 0 != rtree.getCount()
< 95 lines elided >
test RTree: ../../tests/RTreeTest.cpp:77 0 != rtree.getCount()
100 failures.
BUG=skia:
Review URL: https://codereview.chromium.org/741833002
2014-11-19 13:36:19 -08:00
Greg Humphreys
c66d813c18
a few straggling rebaselines
...
BUG=skia:
Review URL: https://codereview.chromium.org/742893002
2014-11-19 16:35:20 -05:00
bsalomon
04ddf89627
Small cleanups after GrDrawState/GrOptDrawState base class elimination.
...
Review URL: https://codereview.chromium.org/739133004
2014-11-19 12:36:22 -08:00
tomhudson
158fcaa031
Implement SkPicture::bytesUsed() for SkRecord backend
...
BUG=chromium:230419
R=mtklein@google.com ,reed@google.com
Review URL: https://codereview.chromium.org/490253003
2014-11-19 10:41:14 -08:00
mtklein
72f92acd47
No need to short circuit the query rect here anymore.
...
Whatever assertion was triggering in SkRTree.cpp seems to be gone now.
BUG=432991
Review URL: https://codereview.chromium.org/725373003
2014-11-19 10:37:20 -08:00
mtklein
48b411af76
Remove debug-only fData from SKTDArray.
...
It makes the code harder to read, and makes Debug and Release SkTDArrays
different sizes. Looks like fData is left over from when debuggers weren't
very good at inspecting data structures.
No API changes.
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/739263002
2014-11-19 09:41:27 -08:00
joshualitt
54e0c12a5a
scissor state on optstate
...
waiting
BUG=skia:
Review URL: https://codereview.chromium.org/742763002
2014-11-19 09:38:51 -08:00
fmalita
65d79cefe2
Add an image filter row to GM:lcdtextprops
...
We should be disabling LCD text when rendering image filters, but
currently don't. Add a GM to capture this behavior.
R=reed@google.com
Review URL: https://codereview.chromium.org/741433003
2014-11-19 09:23:22 -08:00
bsalomon
26bdfcb4e4
Remove /arch:SSE2 from Win 64 Release builds
...
Review URL: https://codereview.chromium.org/740733002
2014-11-19 08:59:58 -08:00
humper
ad5e9a5327
add runtime config option to retain stream for custom typefaces
...
BUG=skia:
Review URL: https://codereview.chromium.org/729973004
2014-11-19 08:32:19 -08:00
joshualitt
02bcd9db00
move GrGeometryProcessor to src
...
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/739943003
2014-11-19 08:24:09 -08:00
bsalomon
ae59b77612
Create GrOptDrawState before recording draw in GrInOrderDrawBuffer
...
Review URL: https://codereview.chromium.org/739673002
2014-11-19 08:23:49 -08:00
reed
78e2768897
Allow pictures to have a full bounds
...
This reverts commit 7c4cdd2c5b
.
BUG=skia:
Review URL: https://codereview.chromium.org/738083002
2014-11-19 08:04:34 -08:00
reed
7c4cdd2c5b
Revert of allow pictures to have a full bounds (patchset #3 id:40001 of 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
2014-11-19 07:17:17 -08:00
reed
7e76bff26e
allow pictures to have a full bounds
...
BUG=skia:
Review URL: https://codereview.chromium.org/736583004
2014-11-19 06:59:41 -08:00
egdaniel
ec03a46080
Add processor name to comment when printing out shaders.
...
BUG=skia:
Review URL: https://codereview.chromium.org/735153002
2014-11-19 06:22:39 -08:00
reed
b07a94f1cb
add roundOut that returns its result
...
BUG=skia:
Review URL: https://codereview.chromium.org/742663002
2014-11-19 05:03:18 -08:00
skia.buildbots
b50612cbda
Update SKP version
...
Automatic commit by the RecreateSKPs bot.
TBR=
Review URL: https://codereview.chromium.org/738003002
2014-11-18 23:06:53 -08:00
reed
d02cf2664d
change roundOut() to take a dst, so we can use that signature to return IRect
...
BUG=skia:
TBR=robertphilips
Review URL: https://codereview.chromium.org/731373003
2014-11-18 18:06:45 -08:00
joshualitt
d31985ecc8
setting patch_primitive_nvprmsaa4 on K1 to ignore
...
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/743563003
2014-11-18 17:38:36 -08:00
joshualitt
7eb8c7b00a
drawinfo carries bufferinfo
...
BUG=skia:
Review URL: https://codereview.chromium.org/737723003
2014-11-18 14:24:27 -08:00
Greg Humphreys
914dd53a42
ignore dashcubics test pending skia bug 2049
...
BUG=skia:2049
Review URL: https://codereview.chromium.org/741533002
2014-11-18 15:42:19 -05:00
Greg Humphreys
82e3552d68
a few straggling rebaselines
...
BUG=skia:
Review URL: https://codereview.chromium.org/738943003
2014-11-18 15:23:05 -05:00
Greg Humphreys
ccedeccdb7
more rebaselines for the perspective test server
...
BUG=skia:
Review URL: https://codereview.chromium.org/727063004
2014-11-18 15:19:45 -05:00
Greg Humphreys
174b2232d3
rebaseline new GTX images from drive update on linux
...
BUG=skia:
TBR=borenet
NOTRY=true
Review URL: https://codereview.chromium.org/735833002
2014-11-18 15:15:27 -05:00
robertphillips
8037653195
Add computation of saveLayer information to RecordingBench
...
In (Add flag to beginRecording to request saveLayer information - https://codereview.chromium.org/721883002/ ) I claimed the extra recording cost would be negligible. This CL attempts to put some numbers behind that.
Review URL: https://codereview.chromium.org/741523002
2014-11-18 11:53:02 -08:00
halcanary
6fd5e6e261
http://skbug.com/3130 step 4 (include/utils/SkWGL.h gone for good)
...
BUG=skia:3130
Review URL: https://codereview.chromium.org/729363003
2014-11-18 11:30:20 -08:00
reed
6be2aa9a25
wip for drawables
...
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
2014-11-18 11:08:05 -08:00
reed
ad3a8846f8
rebaseline after dont-normalize-matrix cl
...
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/738743003
2014-11-18 09:57:50 -08:00
joshualitt
780b11e4ec
fix for use of uninit variable
...
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/740463002
2014-11-18 09:40:40 -08:00
mtklein
0bd57b2e1e
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=client.skia.android:Test-Android-Nexus5-Adreno330-Arm7-Release-Trybot
Review URL: https://codereview.chromium.org/730193003
2014-11-18 09:32:36 -08:00
mtklein
a06a953121
Prune SkRTree
...
- 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
2014-11-18 09:27:49 -08:00
mtklein
52b7822fa6
Revert of SkVarAlloc::approxBytesAllocated (patchset #5 id:80001 of 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
2014-11-18 08:15:23 -08:00
bsalomon
6d467ecb81
minor cleanup in GrGpu.h
...
Review URL: https://codereview.chromium.org/731073003
2014-11-18 07:36:19 -08:00
reed
611f3bb4cf
rebaseline perspective gm after matrix dont-renormalize-cl
...
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/741433002
2014-11-18 07:32:26 -08:00
mtklein
f27f1bcce5
SkVarAlloc::approxBytesAllocated()
...
This is what I was getting at on the other CL.
BUG=skia:
Review URL: https://codereview.chromium.org/730193003
2014-11-18 07:24:14 -08:00
reed
9b1dd15d6d
don't normalize after perspective concat
...
BUG=skia:
Review URL: https://codereview.chromium.org/734513004
2014-11-18 06:04:37 -08:00
kkinnunen
542ecbb2bd
Remove unused NVPR related GL tokens
...
Remove unused NVPR related GL tokens.
Also replace GR_GL_PATH_INITIAL_END_CAP and GR_GL_PATH_TERMINAL_END_CAP
with a single call setting GR_GL_PATH_END_CAPS. Skia does not and
probably will not have different initial and terminal caps. This came up
in the review of command buffer implementation of the extension.
If more NVPR features will be used, the respective tokens can be added
back per implemented feature.
Review URL: https://codereview.chromium.org/723453002
2014-11-18 05:13:48 -08:00
kkinnunen
b33402bc87
Do not calculate many sierpinski fractals for each nanobench run unless needed
...
Removes work done by the constructors of picture_nesting benches,
and moves the work to the Benchmark::onPreDraw override.
This avoids PictureNesting::sierpinsky showing up in profile traces
when profiling other benches.
Review URL: https://codereview.chromium.org/725523002
2014-11-18 04:50:50 -08:00
skia.buildbots
a8f38238d6
Update SKP version
...
Automatic commit by the RecreateSKPs bot.
TBR=
Review URL: https://codereview.chromium.org/733323002
2014-11-17 23:03:57 -08:00