aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Optimize highQualityFilterGravatar qiankun.miao2014-11-25
| | | | | | | | | | | | | | | | | | 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
* Add SkBlendARGB32_SSE2() to clean up codeGravatar qiankun.miao2014-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related nanobench results: before: maxrss loops min median mean max stddev samples config bench 10M 2 31.9µs 32.4µs 33.3µs 38.7µs 6% █▄▂▂▂▁▂▁▁▁ 8888 bitmap_BGRA_8888_A_scale_bicubic 10M 13 43.8µs 51.8µs 49.6µs 57.9µs 11% ▁▁▁▁▂▆▇▆▅█ 8888 bitmap_BGRA_8888_A_scale_bilerp 10M 13 23.7µs 24.3µs 26µs 32.7µs 13% ▅█▆▁▁▁▁▂▁▁ 8888 bitmap_Index_8_A 10M 4 1.68µs 1.7µs 4.09µs 25.4µs 183% █▁▁▁▁▁▁▁▁▁ 8888 text_16_AA_88 10M 144 1.76µs 1.77µs 1.78µs 1.81µs 1% █▂▇▂▅▁▁▁▁▁ 8888 text_16_AA_FF 10M 10 4.7µs 5.34µs 5.61µs 8.63µs 21% █▂▂▃▂▁▁▁▁▄ 8888 rotated_rects_aa_alternating_transparent_and_opaque_src 10M 50 4.44µs 4.47µs 4.5µs 4.71µs 2% █▅▃▂▂▂▁▁▁▁ 8888 rotated_rects_aa_changing_opaque_src 10M 51 4.39µs 4.78µs 5.21µs 6.62µs 17% ▁▆▆▇▁▁█▁▂▂ 8888 rotated_rects_aa_same_opaque_src 10M 50 4.47µs 5.79µs 5.43µs 6.14µs 11% ▄▂▁▃▇▇▆▇▇█ 8888 rotated_rects_aa_alternating_transparent_and_opaque_srcover 10M 30 4.35µs 6.06µs 5.84µs 7.63µs 16% ▅▅▅▄▅▅▄█▁▁ 8888 rotated_rects_aa_changing_transparent_srcover 10M 44 4.31µs 4.51µs 4.76µs 6.25µs 13% ▄▂▂▁█▃▁▃▁▁ 8888 rotated_rects_aa_changing_opaque_srcover 10M 46 4.36µs 4.42µs 4.75µs 6.19µs 14% ▆█▃▁▁▁▁▁▁▁ 8888 rotated_rects_aa_same_transparent_srcover 10M 47 4.29µs 4.35µs 4.44µs 5.15µs 6% ▃▂▂▁▁█▁▁▁▁ 8888 rotated_rects_aa_same_opaque_srcover 10M 3 39.1µs 39.2µs 50.7µs 153µs 71% █▁▁▁▁▁▁▁▁▁ 8888 rectori 10M 1 2.3ms 2.31ms 2.35ms 2.74ms 6% ▁▁▁▁▁▁▁▁█▂ 8888 maskcolor 10M 1 2.33ms 2.34ms 2.53ms 3.14ms 11% ▁▁▁▁▁▁▅█▄▄ 8888 maskopaque 10M 11 15µs 15.3µs 15.7µs 18.3µs 7% ▅▃▂▂▁▁▁▁█▁ 8888 rrects_3_stroke_4 10M 46 3.99µs 4.07µs 4.14µs 4.54µs 4% █▅▅▃▂▂▁▁▁▁ 8888 rrects_3 10M 16 15.6µs 15.9µs 16.1µs 17.5µs 4% █▄▃▂▂▂▁▂▁▁ 8888 ovals_3_stroke_4 10M 40 5.09µs 5.18µs 5.23µs 5.67µs 3% █▅▃▂▂▁▃▁▁▁ 8888 ovals_3 10M 231 1.92µs 1.93µs 1.94µs 2µs 1% █▃▂▁▃▁▁▁▁▁ 8888 zeroradroundrect 10M 924 3.88µs 3.93µs 4.11µs 4.95µs 9% ▁█▆▃▁▁▁▁▁▁ 8888 arbroundrect 10M 8 8.11µs 8.47µs 8.48µs 8.85µs 3% █▅▇▄▄▂▁▄▄▆ 8888 merge_large 10M 14 6.71µs 6.92µs 6.96µs 7.46µs 3% ▃▆▁█▃▃▃▂▂▁ 8888 merge_small 11M 2 225µs 227µs 229µs 233µs 1% ███▃▇▂▃▁▃▂ 8888 displacement_full_large 16M 1 381µs 401µs 401µs 421µs 3% ▅▅▅█▆▄▄▃▃▁ 8888 displacement_alpha_large 19M 1 507µs 508µs 509µs 512µs 0% █▃▂▆▂▂▃▂▃▁ 8888 displacement_zero_large 19M 19 9µs 9.11µs 9.15µs 9.67µs 2% ▄▂▂▂█▂▁▁▁▂ 8888 displacement_full_small 19M 5 54.2µs 54.5µs 54.9µs 58µs 2% █▃▂▂▁▁▃▁▁▁ 8888 blurroundrect_WH[100x100]_cr[90] 20M 1 229µs 230µs 231µs 240µs 2% █▄▃▂▂▁▁▁▁▂ 8888 GM_varied_text_clipped_no_lcd 20M 1 267µs 269µs 270µs 279µs 1% █▄▃▂▂▂▂▂▁▁ 8888 GM_varied_text_ignorable_clip_no_lcd 22M 1 1.95ms 1.97ms 2.03ms 2.46ms 8% ▁▁▁▁▁▁▁▂█▃ 8888 GM_convex_poly_clip after: maxrss loops min median mean max stddev samples config bench 10M 2 31.5µs 32.3µs 32.8µs 37.2µs 5% █▄▃▂▂▂▁▁▁▁ 8888 bitmap_BGRA_8888_A_scale_bicubic 10M 13 43.9µs 44µs 44.1µs 44.9µs 1% █▂▁▁▁▆▁▁▁▂ 8888 bitmap_BGRA_8888_A_scale_bilerp 10M 19 22.7µs 23.3µs 25.6µs 32.4µs 14% ▁▁▁▁▁▅▆▁▅█ 8888 bitmap_Index_8_A 10M 5 1.79µs 1.97µs 3.85µs 21.1µs 158% █▁▁▁▁▁▁▁▁▁ 8888 text_16_AA_88 10M 141 1.83µs 1.83µs 1.85µs 1.93µs 2% ▅▁▁█▁▁▁▁▁▁ 8888 text_16_AA_FF 10M 10 4.65µs 4.92µs 5.06µs 6.56µs 11% █▃▃▂▂▂▁▁▁▁ 8888 rotated_rects_aa_alternating_transparent_and_opaque_src 10M 51 4.35µs 4.48µs 4.83µs 6.68µs 17% ▂▁▁▁▁▁▁▂▆█ 8888 rotated_rects_aa_changing_opaque_src 10M 51 4.38µs 4.79µs 4.85µs 5.84µs 11% ▁█▁▃▃▁▄▁▄▇ 8888 rotated_rects_aa_same_opaque_src 10M 32 5.58µs 6.24µs 6.1µs 6.39µs 5% █▂█▆▁▇▄▅▇▇ 8888 rotated_rects_aa_alternating_transparent_and_opaque_srcover 10M 42 4.28µs 5.59µs 5.11µs 6.01µs 15% ▂▂█▇█▂▁▆▁▇ 8888 rotated_rects_aa_changing_transparent_srcover 10M 48 4.24µs 4.33µs 4.58µs 6.46µs 15% ▁▁▁▁▁█▃▂▁▁ 8888 rotated_rects_aa_changing_opaque_srcover 10M 48 4.28µs 4.3µs 4.4µs 5.12µs 6% ▂▂▁▁▁▁▁▁▁█ 8888 rotated_rects_aa_same_transparent_srcover 10M 46 4.24µs 4.29µs 4.66µs 7.11µs 20% ▁▁▁▁▁▁▁▁▃█ 8888 rotated_rects_aa_same_opaque_srcover 10M 3 39.3µs 39.4µs 51.4µs 154µs 70% █▁▁▁▁▁▁▁▁▁ 8888 rectori 10M 1 2.32ms 2.43ms 2.53ms 3.14ms 11% ▁▁▁▁▂▄█▃▅▁ 8888 maskcolor 10M 1 2.33ms 2.37ms 2.54ms 3.21ms 12% ▁▁▁▁▁▂█▅▆▁ 8888 maskopaque 10M 10 15.3µs 15.6µs 15.8µs 17.2µs 4% █▅▃▂▂▂▁▁▁▁ 8888 rrects_3_stroke_4 10M 46 4.03µs 4.09µs 4.15µs 4.47µs 4% █▄▆▂▂▂▁▁▁▁ 8888 rrects_3 10M 15 15.9µs 16.2µs 16.3µs 17.8µs 4% █▄▃▂▂▂▁▁▁▁ 8888 ovals_3_stroke_4 10M 40 5.14µs 5.26µs 5.29µs 5.72µs 3% █▅▃▂▂▁▂▂▁▁ 8888 ovals_3 10M 222 1.91µs 1.99µs 2.21µs 2.91µs 19% ▂▁▁▁▁▁▂▇▇█ 8888 zeroradroundrect 10M 462 3.9µs 3.96µs 4.23µs 5.22µs 12% ▆▄█▁▂▁▁▁▁▁ 8888 arbroundrect 10M 8 8.2µs 8.59µs 8.62µs 8.97µs 3% ▆▄█▄▅▃▁▆▄█ 8888 merge_large 10M 14 6.73µs 6.88µs 6.86µs 7.08µs 2% ▄█▁▂▄▂▅▄▂▅ 8888 merge_small 11M 2 221µs 234µs 237µs 263µs 5% ▄▃▃▃▄▃▂▁▇█ 8888 displacement_full_large 16M 1 387µs 416µs 427µs 471µs 7% ▇█▁▃▃▁▃▃▇▆ 8888 displacement_alpha_large 19M 1 512µs 521µs 528µs 594µs 5% █▂▂▂▁▁▂▃▁▁ 8888 displacement_zero_large 19M 18 9.06µs 9.12µs 9.13µs 9.23µs 1% █▃▃▃▄▃▆▁▅▅ 8888 displacement_full_small 19M 5 55.6µs 55.9µs 56.5µs 59.5µs 2% █▃▂▁▁▁▁▁▅▁ 8888 blurroundrect_WH[100x100]_cr[90] 20M 1 229µs 233µs 235µs 254µs 3% █▄▃▂▂▁▁▂▁▁ 8888 GM_varied_text_clipped_no_lcd 20M 1 270µs 271µs 272µs 278µs 1% █▄▃▂▂▂▁▂▁▇ 8888 GM_varied_text_ignorable_clip_no_lcd 22M 1 1.96ms 2ms 2.06ms 2.45ms 7% ▂▂▁▁▁▁▁▃█▄ 8888 GM_convex_poly_clip BUG=skia: Review URL: https://codereview.chromium.org/754733002
* Cleanup with SkAlphaMulQ_SSE2()Gravatar qiankun.miao2014-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | Related nanobench results: before: 10M 18 7.03µs 7.31µs 7.38µs 8.46µs 6% ▂▁▂▂▂▃▄▁█▁ 8888 bitmaprect_80_filter_identity 10M 43 6.96µs 6.97µs 6.99µs 7.19µs 1% ▁▂▁▁▁▁▁█▁▁ 8888 bitmaprect_80_nofilter_identity 10M 14 35.7µs 35.8µs 35.9µs 36.3µs 1% ▃▂▁▂▁█▂▁▁▁ 8888 bitmap_BGRA_8888_update_scale_bilerp 10M 16 35.5µs 35.6µs 35.7µs 36.3µs 1% █▅▂▁▁▁▃▂▁▁ 8888 bitmap_BGRA_8888_update_volatile_scale_bilerp 10M 16 35.4µs 35.4µs 35.5µs 36.8µs 1% ▂▁█▁▁▁▁▂▁▁ 8888 bitmap_BGRA_8888_scale_bilerp 10M 25 16.4µs 16.6µs 16.7µs 17.4µs 2% ▂▁▁▂▁▁▁▅▅█ 8888 bitmap_Index_8 10M 15 37.9µs 38µs 38µs 38.4µs 0% ▄▆▂▁▁▁█▂▁▁ 8888 bitmap_RGB_565 10M 33 11.1µs 11.1µs 11.1µs 11.2µs 0% ▆▂█▂▂▂▁▁▂▁ 8888 bitmap_BGRA_8888_scale after: 10M 9 7.04µs 7.06µs 7.1µs 7.32µs 1% █▅▂▁▁▂▁▁▁▁ 8888 bitmaprect_80_filter_identity 10M 18 7.01µs 7.02µs 7.05µs 7.25µs 1% █▂▁▁▁▁▁▁▁▁ 8888 bitmaprect_80_nofilter_identity 10M 5 33.9µs 34µs 34.1µs 34.5µs 1% █▃▂▂▁▁▁▅▃▂ 8888 bitmap_BGRA_8888_update_scale_bilerp 10M 7 35.5µs 35.5µs 35.6µs 36.3µs 1% ▃▂▂▁▂▁▂▁█▂ 8888 bitmap_BGRA_8888_update_volatile_scale_bilerp 10M 7 35.5µs 35.5µs 35.7µs 36.8µs 1% ▂▁▁▁▁▁▁▁▁█ 8888 bitmap_BGRA_8888_scale_bilerp 10M 11 16.4µs 16.4µs 16.4µs 16.6µs 0% █▂▁▁▂▁▁▁▂▁ 8888 bitmap_Index_8 10M 7 37.3µs 37.4µs 38.4µs 47.8µs 9% ▁▁▁▁▁▁▁▁▁█ 8888 bitmap_RGB_565 10M 33 11µs 11µs 11.1µs 11.2µs 1% ▄█▅▃▂▁▁▁▁▁ 8888 bitmap_BGRA_8888_scale BUG=skia: Review URL: https://codereview.chromium.org/755573002
* Use scratch keys for stencil buffers.Gravatar bsalomon2014-11-25
| | | | | | | | BUG=skia:2889 Committed: https://skia.googlesource.com/skia/+/91175f19664a62851da4ca4e0984a7c7c45b258f Review URL: https://codereview.chromium.org/747043004
* free up picturerecorder refs after returning picture or drawableGravatar reed2014-11-24
| | | | | | | | | 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
* more cGravatar reed2014-11-24
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/736133006
* SkRecord: outline methods that are not called O(N) times.Gravatar mtklein2014-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* option to return drawable from recordingGravatar reed2014-11-24
| | | | | | | | patch from issue 747033005 at patchset 80001 (http://crrev.com/747033005#ps80001) BUG=skia: Review URL: https://codereview.chromium.org/732653004
* Revert "Use scratch keys for stencil buffers."Gravatar bsalomon2014-11-24
| | | | | | | | | | | | | | | | This reverts commit 91175f19664a62851da4ca4e0984a7c7c45b258f. Revert "Cleanup res cache bench and split out into a unit test." This reverts commit 4e4303f002c5958c6c958e7ba8e49b24c25f0b22. Revert "rebaselines" This reverts commit 65ba7b57759bfca60b24bc34dc46fc8caaf146f0. TBR=tomhudson@google.com Review URL: https://codereview.chromium.org/752233002
* Revert of Revert of Add gpu support for Apple specific 'Vertex Arrays' ↵Gravatar tomhudson2014-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions (patchset #1 id:1 of https://codereview.chromium.org/750973003/) Reason for revert: Original patchset seems to have been exonerated. Crash was mac-specific, but appears to be triggered by a non-mac-specific change (https://codereview.chromium.org/747043004/); suspecting driver bug? Original issue's description: > Revert of Add gpu support for Apple specific 'Vertex Arrays' functions (patchset #2 id:20001 of https://codereview.chromium.org/754653002/) > > Reason for revert: > Suspected in DM crashes, e.g. > > 2033 tasks left 344M peak 843ms tabl-cuteoverload_skp > Signal 11: > _sigtramp (+0x1a) > create_surface(CanvasConfig const&, GrContext*) (+0x1b2) > test_WritePixels(skiatest::Reporter*, GrContextFactory*) (+0x8d4) > skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (+0x21) > skiatest::Test::run() (+0x7c) > DM::GpuTestTask::draw(GrContextFactory*) (+0x8c) > DM::GpuTask::run(GrContextFactory*) (+0xa6) > DM::TaskRunner::wait() (+0x7f) > dm_main() (+0x33f) > main (+0x27) > > > On all MacMini platforms (the following URL with -Mac{10.6,10.7,10.8}- and -{Debug,Release}): > > http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug > > > Original issue's description: > > Add gpu support for Apple specific 'Vertex Arrays' functions > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/af000f469e1b0153ce445c96ca3d20e6d12224cc > > TBR=bsalomon@google.com,paraboul@gmail.com > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/55fe3d7748b873e362edc4e6a43bd77914ed25fb TBR=bsalomon@google.com,paraboul@gmail.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/734633005
* Revert of Add gpu support for Apple specific 'Vertex Arrays' functions ↵Gravatar tomhudson2014-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #2 id:20001 of https://codereview.chromium.org/754653002/) Reason for revert: Suspected in DM crashes, e.g. 2033 tasks left 344M peak 843ms tabl-cuteoverload_skp Signal 11: _sigtramp (+0x1a) create_surface(CanvasConfig const&, GrContext*) (+0x1b2) test_WritePixels(skiatest::Reporter*, GrContextFactory*) (+0x8d4) skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (+0x21) skiatest::Test::run() (+0x7c) DM::GpuTestTask::draw(GrContextFactory*) (+0x8c) DM::GpuTask::run(GrContextFactory*) (+0xa6) DM::TaskRunner::wait() (+0x7f) dm_main() (+0x33f) main (+0x27) On all MacMini platforms (the following URL with -Mac{10.6,10.7,10.8}- and -{Debug,Release}): http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug Original issue's description: > Add gpu support for Apple specific 'Vertex Arrays' functions > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/af000f469e1b0153ce445c96ca3d20e6d12224cc TBR=bsalomon@google.com,paraboul@gmail.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/750973003
* Add support for hoisting layers in pictures drawn with a matrixGravatar robertphillips2014-11-24
| | | | | | | | 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
* Add Sk prefix to CreateBitmapShader.Gravatar mtklein2014-11-24
| | | | | | | | It's neither static nor namespaced, so we should probably prefix it. BUG=skia: Review URL: https://codereview.chromium.org/754083002
* Remove Picture deletion listeners.Gravatar mtklein2014-11-24
| | | | | | | | Looks like we can just have ~SkPicture put the message on the bus directly. BUG=skia:3144 Review URL: https://codereview.chromium.org/751663002
* Add gpu support for Apple specific 'Vertex Arrays' functionsGravatar paraboul2014-11-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/754653002
* Use scratch keys for stencil buffers.Gravatar bsalomon2014-11-24
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/747043004
* Cleanup of S32_D565_Opaque_SSE2()Gravatar qiankun.miao2014-11-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/725693003
* Create GrOptDrawState directly in the cmd buffer in GrIODB.Gravatar bsalomon2014-11-24
| | | | Review URL: https://codereview.chromium.org/746243002
* Add pop_back to GrTRecorder.hGravatar bsalomon2014-11-21
| | | | Review URL: https://codereview.chromium.org/750613002
* Clean up FreeType code for 2.3.8.Gravatar bungeman2014-11-21
| | | | | | | We already require FreeType 2.3.8 in order to compile and run. Make this requirement explicit and take advantage of it. Review URL: https://codereview.chromium.org/748063003
* SkPicture::SnapshotArray doesn't really stand to benefit from refcounting.Gravatar mtklein2014-11-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/748803005
* Switch SkBitmapProcState's SkFractionalInt to 32.32.Gravatar mtklein2014-11-21
| | | | | | | | | | | 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
* Watch out for SkFixed overflow in SkMipMap.cpp.Gravatar mtklein2014-11-21
| | | | | | | | | | | 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
* SkData -> SkPicture::SnapshotArrayGravatar mtklein2014-11-21
| | | | | | | | | | 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
* clarify samplecount field in imagegpuGravatar reed2014-11-21
| | | | | | | BUG=skia: TBR=bsalomon Review URL: https://codereview.chromium.org/750023002
* Fix error in Ganesh' tiled bitmap drawingGravatar robertphillips2014-11-21
| | | | | | | | When the paint filter level is high ShouldUseBicubic doesn't always return true. In this case the paint's filter level will differ from the filtering Ganesh will use. This was leading to a mismatch between the tiling computed in SkGpuDevice::drawBitmapCommon and the one in SkGpuDevice::drawTiledBitmap. The end result of this was that the max texture restriction could be violated which is currently being seen on the Xoom & N7 bots. Both of them have a max texture size of 2048 which is invoking the tiled drawbitmap case. Review URL: https://codereview.chromium.org/752623002
* remove GrAllocPoolGravatar joshualitt2014-11-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/742253002
* All the small packing tweaks mentioned in the bug.Gravatar mtklein2014-11-21
| | | | | | BUG=skia:3144 Review URL: https://codereview.chromium.org/748063002
* add SkImage::newSurfaceGravatar reed2014-11-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/741763002
* simplify uniqueID code in pictureGravatar reed2014-11-21
| | | | | | | | patch from issue 750003002 at patchset 1 (http://crrev.com/750003002#ps1) BUG=skia: Review URL: https://codereview.chromium.org/752573002
* Add MultiPictureDraw to nanobenchGravatar robertphillips2014-11-21
| | | | | | | | | | 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
* Revert of Add MultiPictureDraw to nanobench (patchset #7 id:120001 of ↵Gravatar robertphillips2014-11-21
| | | | | | | | | | | | | | | | | | | | | | 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
* Add MultiPictureDraw to nanobenchGravatar robertphillips2014-11-21
| | | | | | | | 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
* Revert of SkCanvas::clear() should call down to devices even when the clip ↵Gravatar fmalita2014-11-20
| | | | | | | | | | | | | | | | | | | | | | | 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
* Adding GeometryData objectGravatar joshualitt2014-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/745663002
* Disable LCD text explicitly in SkPictureImageFilter::onFilterImage()Gravatar fmalita2014-11-20
| | | | | | | | | | | 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
* Don't use NULL GrOptDrawState to indicate that draw should be skipped.Gravatar bsalomon2014-11-20
| | | | Review URL: https://codereview.chromium.org/742853002
* Add SkNVRefCnt, prune down SkPicture's sizeGravatar mtklein2014-11-20
| | | | | | | | | | | | | | 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
* SkRecord: Pack SkRegion::Op and AA bit together.Gravatar mtklein2014-11-20
| | | | | | | | Saves 4 bytes per clip op. BUG=skia: Review URL: https://codereview.chromium.org/741093002
* SkCanvas::clear() should call down to devices even when the clip is empty.Gravatar mtklein2014-11-20
| | | | | | | | SkDrawIter had a lovely, completely unused, option for this. Oversight? BUG=skia: Review URL: https://codereview.chromium.org/735233003
* Stop overloading internal_dispose in SkTextBlob and SkDataGravatar bsalomon2014-11-20
| | | | Review URL: https://codereview.chromium.org/737093002
* Make sure pictures draw Clears even when the clip is empty.Gravatar mtklein2014-11-20
| | | | | | | | | | | | 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
* dstCopy on optdrawstateGravatar joshualitt2014-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/735363003
* Preventing division by 0 in non-separable blend mode shaders.Gravatar rosca2014-11-20
| | | | | | | | | 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
* Implement conics for NVPRGravatar kkinnunen2014-11-19
| | | | | | | | | 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
* Small cleanups after GrDrawState/GrOptDrawState base class elimination.Gravatar bsalomon2014-11-19
| | | | Review URL: https://codereview.chromium.org/739133004
* Implement SkPicture::bytesUsed() for SkRecord backendGravatar tomhudson2014-11-19
| | | | | | | BUG=chromium:230419 R=mtklein@google.com,reed@google.com Review URL: https://codereview.chromium.org/490253003
* No need to short circuit the query rect here anymore.Gravatar mtklein2014-11-19
| | | | | | | | Whatever assertion was triggering in SkRTree.cpp seems to be gone now. BUG=432991 Review URL: https://codereview.chromium.org/725373003
* scissor state on optstateGravatar joshualitt2014-11-19
| | | | | | | | waiting BUG=skia: Review URL: https://codereview.chromium.org/742763002
* add runtime config option to retain stream for custom typefacesGravatar humper2014-11-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/729973004