aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* fix memory leak, remake Imageshader to use sk_spGravatar reed2016-08-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2239723002 Review-Url: https://codereview.chromium.org/2239723002
* Remove a useless call: Calling lineVec.dot(qPts[0])Gravatar jcgregorio2016-08-11
| | | | | | | | | | | This is from https://github.com/google/skia/pull/9, an external pull request from https://github.com/sylvestre. BUG=skia: R=bsalomon GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234563003 Review-Url: https://codereview.chromium.org/2234563003
* Revert of SkLiteDL: turn vtable sideways (patchset #7 id:120001 of ↵Gravatar reed2016-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2231103002/ ) Reason for revert: speculative revert to fix DEPS roll Original issue's description: > SkLiteDL: turn vtable sideways > > Instead of using virtuals for polymorphism, store each polymorphic operation > in its own array of function pointers. This removes an indirection when calling > the function, and lets us use nullptr as a signal to skip the call entirely. > > Unfortunately (as the old code is rather simpler) this makes an unambiguous speed improvement. > > Before: > curr/maxrss loops min median mean max stddev samples config bench > 21/26 MB 2 44.6µs 46.4µs 48.3µs 274µs 13% 51724 nonrendering desk_nytimes.skp > 23/26 MB 11 11.4µs 11.9µs 12.4µs 75.1µs 15% 36716 nonrendering keymobi_nytimes_com_.skp > > After: > 19/26 MB 4 40.4µs 41.6µs 42.5µs 197µs 10% 29379 nonrendering desk_nytimes.skp > 20/26 MB 14 10.5µs 10.7µs 11.2µs 59.5µs 13% 31971 nonrendering keymobi_nytimes_com_.skp > > Broader comparison: > keymobi_linkedin.skp 1.76us -> 1.77us 1x > keymobi_bing_com_search_q_sloth.skp 5.09us -> 5.05us 0.99x > keymobi_digg_com.skp 17.4us -> 17.3us 0.99x > keymobi_theverge_com.skp 3.37us -> 3.34us 0.99x > top25desk_mail_google_com_mail_.skp 30.8us -> 30.4us 0.99x > tabl_gmail.skp 3.44us -> 3.38us 0.98x > top25desk_wikipedia__1_tab_.skp 100us -> 97.7us 0.98x > keymobi_cnn_com_2012_10_03_poli.skp 52.9us -> 51.7us 0.98x > desk_chalkboard.skp 107us -> 104us 0.97x > desk_css3gradients.skp 17.8us -> 17.3us 0.97x > keymobi_androidpolice_com_2012_.skp 42.3us -> 41.1us 0.97x > desk_googlehome.skp 1.94us -> 1.88us 0.97x > keymobi_mlb_com_.skp 5.38us -> 5.18us 0.96x > top25desk_pinterest.skp 92.1us -> 88.5us 0.96x > keymobi_iphone_capitolvolkswage.skp 15.1us -> 14.5us 0.96x > keymobi_techcrunch_com.skp 9.45us -> 9.05us 0.96x > desk_espn.skp 31.3us -> 30us 0.96x > keymobi_slashdot_org_.skp 8.72us -> 8.34us 0.96x > desk_tiger8svg.skp 30.6us -> 29.2us 0.96x > keymobi_blogger.skp 4.09us -> 3.91us 0.95x > keymobi_baidu_com_s_wd_barack_o.skp 11.9us -> 11.3us 0.95x > keymobi_cuteoverload_com.skp 54.2us -> 51.6us 0.95x > keymobi_deviantart_com_.skp 17.2us -> 16.4us 0.95x > desk_mapsvg.skp 163ns -> 155ns 0.95x > keymobi_pinterest.skp 6.97us -> 6.62us 0.95x > top25desk_games_yahoo_com.skp 94.1us -> 89.3us 0.95x > top25desk_google_com_calendar_.skp 18us -> 17us 0.95x > keymobi_google_co_uk_search_hl_.skp 11.4us -> 10.8us 0.95x > tabl_pravda.skp 38.5us -> 36.4us 0.94x > desk_gmailthread.skp 19us -> 17.9us 0.94x > keymobi_reddit_com_r_programmin.skp 76.1us -> 71.7us 0.94x > top25desk_linkedin.skp 20us -> 18.8us 0.94x > tabl_gamedeksiam.skp 118us -> 112us 0.94x > keymobi_boingboing_net.skp 20.4us -> 19.1us 0.93x > top25desk_google_com__hl_en_q_b.skp 17.6us -> 16.4us 0.93x > keymobi_amazon_com_gp_aw_s_ref_.skp 12.5us -> 11.6us 0.93x > keymobi_sfgate_com_.skp 16.6us -> 15.5us 0.93x > keymobi_booking_com_searchresul.skp 16.2us -> 15.1us 0.93x > tabl_digg.skp 28.8us -> 26.8us 0.93x > tabl_mozilla.skp 80.4us -> 74.6us 0.93x > desk_wowwiki.skp 39.2us -> 36.4us 0.93x > top25desk_youtube_com.skp 42us -> 38.9us 0.93x > top25desk_facebook.skp 23.7us -> 22us 0.93x > top25desk_blogger.skp 38.2us -> 35.4us 0.93x > keymobi_online_wsj_com_home_pag.skp 12.8us -> 11.9us 0.93x > top25desk_wordpress.skp 28.9us -> 26.8us 0.93x > top25desk_answers_yahoo_com.skp 37.2us -> 34.4us 0.93x > keymobi_plus_google_com_app_bas.skp 9.56us -> 8.85us 0.93x > keymobi_wordpress.skp 16.1us -> 14.9us 0.92x > keymobi_mobile_news_sandbox_goo.skp 27.1us -> 24.9us 0.92x > top25desk_techcrunch_com.skp 31.1us -> 28.6us 0.92x > keymobi_worldjournal_com_.skp 50.7us -> 46.5us 0.92x > keymobi_theverge_com_2012_10_28.skp 26.2us -> 24us 0.92x > desk_jsfiddlebigcar.skp 1.73us -> 1.59us 0.92x > top25desk_weather_com.skp 31.3us -> 28.7us 0.92x > top25desk_google_com_search_q_c.skp 48.2us -> 44.1us 0.92x > top25desk_twitter.skp 27.8us -> 25.5us 0.92x > tabl_worldjournal.skp 29.3us -> 26.8us 0.91x > desk_nytimes.skp 46us -> 42us 0.91x > top25desk_docs___1_open_documen.skp 6.04us -> 5.51us 0.91x > keymobi_wikipedia__1_tab_.skp 59.7us -> 54.4us 0.91x > desk_unicodetable.skp 1.12ms -> 1.02ms 0.91x > top25desk_ebay_com.skp 17.8us -> 16.2us 0.91x > keymobi_ftw_usatoday_com_2014_0.skp 26.8us -> 24.3us 0.91x > top25desk_sports_yahoo_com_.skp 49.9us -> 45.3us 0.91x > keymobi_cnn_com.skp 9.94us -> 9.03us 0.91x > keymobi_m_youtube_com_watch_v_9.skp 13.4us -> 12.2us 0.91x > top25desk_amazon_com.skp 26.6us -> 24.1us 0.91x > keymobi_news_yahoo_com.skp 17.5us -> 15.8us 0.9x > keymobi_wowwiki_com_world_of_wa.skp 11.2us -> 10.2us 0.9x > top25desk_plus_google_com_11003.skp 93.5us -> 84.4us 0.9x > desk_carsvg.skp 53.5us -> 48.2us 0.9x > top25desk_news_yahoo_com.skp 44.7us -> 40.3us 0.9x > keymobi_wikipedia__1_tab____del.skp 59.4us -> 53.4us 0.9x > desk_googlespreadsheet.skp 66us -> 59.2us 0.9x > keymobi_answers_yahoo_com_quest.skp 30.2us -> 27us 0.89x > desk_ugamsolutions.skp 13us -> 11.6us 0.89x > keymobi_shop_mobileweb_ebay_com.skp 6.96us -> 6.21us 0.89x > keymobi_nytimes_com_.skp 12.1us -> 10.8us 0.89x > keymobi_gsp_ro.skp 5.54us -> 4.92us 0.89x > top25desk_booking_com.skp 54.9us -> 48.6us 0.89x > top25desk_espn.skp 37us -> 32.6us 0.88x > keymobi_facebook_com_barackobam.skp 23.3us -> 20.4us 0.88x > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231103002 > > Committed: https://skia.googlesource.com/skia/+/ac243914af957a806d842318a43dddaf5f941dc3 TBR=mtklein@google.com,mtklein@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2232183002
* Deserialize pictures with custom image-deserializerGravatar reed2016-08-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187613002 Review-Url: https://codereview.chromium.org/2187613002
* Add better bounds checks for getTime to fix perf debug assert belowGravatar hstern2016-08-10
| | | | | | | | | | | | | | | | Due to rounding, we request a length slightly larger than the total length in MeasureBench. This will be fixed in a following CL and there will be another CL adding unit tests for bounds checking and other problems. Revert "Revert 386ba54 and 4ab47e0 : perf debug assert." This reverts commit 69aaa5a49a10454d573cbd8c5d980029d78ae459. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233983003 Review-Url: https://codereview.chromium.org/2233983003
* Add a full clear method to GrDrawTarget.Gravatar bsalomon2016-08-10
| | | | | | | This will allow us to avoid ClearBatch creation for successive clears. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233043002 Review-Url: https://codereview.chromium.org/2233043002
* SkLiteDL: turn vtable sidewaysGravatar mtklein2016-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using virtuals for polymorphism, store each polymorphic operation in its own array of function pointers. This removes an indirection when calling the function, and lets us use nullptr as a signal to skip the call entirely. Unfortunately (as the old code is rather simpler) this makes an unambiguous speed improvement. Before: curr/maxrss loops min median mean max stddev samples config bench 21/26 MB 2 44.6µs 46.4µs 48.3µs 274µs 13% 51724 nonrendering desk_nytimes.skp 23/26 MB 11 11.4µs 11.9µs 12.4µs 75.1µs 15% 36716 nonrendering keymobi_nytimes_com_.skp After: 19/26 MB 4 40.4µs 41.6µs 42.5µs 197µs 10% 29379 nonrendering desk_nytimes.skp 20/26 MB 14 10.5µs 10.7µs 11.2µs 59.5µs 13% 31971 nonrendering keymobi_nytimes_com_.skp Broader comparison: keymobi_linkedin.skp 1.76us -> 1.77us 1x keymobi_bing_com_search_q_sloth.skp 5.09us -> 5.05us 0.99x keymobi_digg_com.skp 17.4us -> 17.3us 0.99x keymobi_theverge_com.skp 3.37us -> 3.34us 0.99x top25desk_mail_google_com_mail_.skp 30.8us -> 30.4us 0.99x tabl_gmail.skp 3.44us -> 3.38us 0.98x top25desk_wikipedia__1_tab_.skp 100us -> 97.7us 0.98x keymobi_cnn_com_2012_10_03_poli.skp 52.9us -> 51.7us 0.98x desk_chalkboard.skp 107us -> 104us 0.97x desk_css3gradients.skp 17.8us -> 17.3us 0.97x keymobi_androidpolice_com_2012_.skp 42.3us -> 41.1us 0.97x desk_googlehome.skp 1.94us -> 1.88us 0.97x keymobi_mlb_com_.skp 5.38us -> 5.18us 0.96x top25desk_pinterest.skp 92.1us -> 88.5us 0.96x keymobi_iphone_capitolvolkswage.skp 15.1us -> 14.5us 0.96x keymobi_techcrunch_com.skp 9.45us -> 9.05us 0.96x desk_espn.skp 31.3us -> 30us 0.96x keymobi_slashdot_org_.skp 8.72us -> 8.34us 0.96x desk_tiger8svg.skp 30.6us -> 29.2us 0.96x keymobi_blogger.skp 4.09us -> 3.91us 0.95x keymobi_baidu_com_s_wd_barack_o.skp 11.9us -> 11.3us 0.95x keymobi_cuteoverload_com.skp 54.2us -> 51.6us 0.95x keymobi_deviantart_com_.skp 17.2us -> 16.4us 0.95x desk_mapsvg.skp 163ns -> 155ns 0.95x keymobi_pinterest.skp 6.97us -> 6.62us 0.95x top25desk_games_yahoo_com.skp 94.1us -> 89.3us 0.95x top25desk_google_com_calendar_.skp 18us -> 17us 0.95x keymobi_google_co_uk_search_hl_.skp 11.4us -> 10.8us 0.95x tabl_pravda.skp 38.5us -> 36.4us 0.94x desk_gmailthread.skp 19us -> 17.9us 0.94x keymobi_reddit_com_r_programmin.skp 76.1us -> 71.7us 0.94x top25desk_linkedin.skp 20us -> 18.8us 0.94x tabl_gamedeksiam.skp 118us -> 112us 0.94x keymobi_boingboing_net.skp 20.4us -> 19.1us 0.93x top25desk_google_com__hl_en_q_b.skp 17.6us -> 16.4us 0.93x keymobi_amazon_com_gp_aw_s_ref_.skp 12.5us -> 11.6us 0.93x keymobi_sfgate_com_.skp 16.6us -> 15.5us 0.93x keymobi_booking_com_searchresul.skp 16.2us -> 15.1us 0.93x tabl_digg.skp 28.8us -> 26.8us 0.93x tabl_mozilla.skp 80.4us -> 74.6us 0.93x desk_wowwiki.skp 39.2us -> 36.4us 0.93x top25desk_youtube_com.skp 42us -> 38.9us 0.93x top25desk_facebook.skp 23.7us -> 22us 0.93x top25desk_blogger.skp 38.2us -> 35.4us 0.93x keymobi_online_wsj_com_home_pag.skp 12.8us -> 11.9us 0.93x top25desk_wordpress.skp 28.9us -> 26.8us 0.93x top25desk_answers_yahoo_com.skp 37.2us -> 34.4us 0.93x keymobi_plus_google_com_app_bas.skp 9.56us -> 8.85us 0.93x keymobi_wordpress.skp 16.1us -> 14.9us 0.92x keymobi_mobile_news_sandbox_goo.skp 27.1us -> 24.9us 0.92x top25desk_techcrunch_com.skp 31.1us -> 28.6us 0.92x keymobi_worldjournal_com_.skp 50.7us -> 46.5us 0.92x keymobi_theverge_com_2012_10_28.skp 26.2us -> 24us 0.92x desk_jsfiddlebigcar.skp 1.73us -> 1.59us 0.92x top25desk_weather_com.skp 31.3us -> 28.7us 0.92x top25desk_google_com_search_q_c.skp 48.2us -> 44.1us 0.92x top25desk_twitter.skp 27.8us -> 25.5us 0.92x tabl_worldjournal.skp 29.3us -> 26.8us 0.91x desk_nytimes.skp 46us -> 42us 0.91x top25desk_docs___1_open_documen.skp 6.04us -> 5.51us 0.91x keymobi_wikipedia__1_tab_.skp 59.7us -> 54.4us 0.91x desk_unicodetable.skp 1.12ms -> 1.02ms 0.91x top25desk_ebay_com.skp 17.8us -> 16.2us 0.91x keymobi_ftw_usatoday_com_2014_0.skp 26.8us -> 24.3us 0.91x top25desk_sports_yahoo_com_.skp 49.9us -> 45.3us 0.91x keymobi_cnn_com.skp 9.94us -> 9.03us 0.91x keymobi_m_youtube_com_watch_v_9.skp 13.4us -> 12.2us 0.91x top25desk_amazon_com.skp 26.6us -> 24.1us 0.91x keymobi_news_yahoo_com.skp 17.5us -> 15.8us 0.9x keymobi_wowwiki_com_world_of_wa.skp 11.2us -> 10.2us 0.9x top25desk_plus_google_com_11003.skp 93.5us -> 84.4us 0.9x desk_carsvg.skp 53.5us -> 48.2us 0.9x top25desk_news_yahoo_com.skp 44.7us -> 40.3us 0.9x keymobi_wikipedia__1_tab____del.skp 59.4us -> 53.4us 0.9x desk_googlespreadsheet.skp 66us -> 59.2us 0.9x keymobi_answers_yahoo_com_quest.skp 30.2us -> 27us 0.89x desk_ugamsolutions.skp 13us -> 11.6us 0.89x keymobi_shop_mobileweb_ebay_com.skp 6.96us -> 6.21us 0.89x keymobi_nytimes_com_.skp 12.1us -> 10.8us 0.89x keymobi_gsp_ro.skp 5.54us -> 4.92us 0.89x top25desk_booking_com.skp 54.9us -> 48.6us 0.89x top25desk_espn.skp 37us -> 32.6us 0.88x keymobi_facebook_com_barackobam.skp 23.3us -> 20.4us 0.88x BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231103002 Review-Url: https://codereview.chromium.org/2231103002
* Implement GPU occluded blur mask filterGravatar robertphillips2016-08-10
| | | | | | | | Spawned off: https://codereview.chromium.org/2214163003/ (Minor clean up related to blur mask filters) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2201133002 Review-Url: https://codereview.chromium.org/2201133002
* update textblob api to use sk_spGravatar reed2016-08-10
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236013002 NOTREECHECKS=True Review-Url: https://codereview.chromium.org/2236013002
* Revert "Remove generalized gradient code"Gravatar fmenozzi2016-08-10
| | | | | | | | | | This reverts commit 0c63006b88a16e3418d92852a62771615799839d. BUG=skia: NOTREECHECKS=true GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235953003 Review-Url: https://codereview.chromium.org/2235953003
* Add more error printing to know why command buffer lib failed to load.Gravatar bsalomon2016-08-10
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233073002 Review-Url: https://codereview.chromium.org/2233073002
* Create blurred RRect mask on GPU (rather than uploading it)Gravatar robertphillips2016-08-10
| | | | | | | | | | | | This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) All blurred rrects using the "analytic" path will change slightly with this CL. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479 Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50 Review-Url: https://codereview.chromium.org/2222083004
* Revert 386ba54 and 4ab47e0 : perf debug assert.Gravatar halcanary2016-08-10
| | | | | | | | | | | | | | | | Revert "Refactor SkCurveMeasure to use existing eval code" This reverts commit 4ab47e087ecfc82f070cbbaef4d9eb562d3fd163. Revert "Fastpath lines in SkCurveMeasure" This reverts commit 386ba540612defc7808edc28126b9b8afcf45b89. TBR= NOTRY=true GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233683004 Review-Url: https://codereview.chromium.org/2233683004
* Fastpath lines in SkCurveMeasureGravatar hstern2016-08-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229403004 Review-Url: https://codereview.chromium.org/2229403004
* Add flag for window rectangles to GrRenderTargetGravatar csmartdalton2016-08-10
| | | | | | | | | | | Adds a flag to GrRenderTarget that indicates whether it can be used with window rectangles. Also attempts to clean up some of the mixed samples API. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225303002 Review-Url: https://codereview.chromium.org/2225303002
* Refactor SkCurveMeasure to use existing eval codeGravatar hstern2016-08-10
| | | | | | | | | | - Use quad, cubic, conic eval code from SkGeometry.h - Implement evaluateDerivativeLength, evaluateDerivative and evaluate switch cases for lines along with the refactor BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2226973004 Review-Url: https://codereview.chromium.org/2226973004
* SkGradientShader.cpp: fix build when SK_SUPPORT_GPU=0Gravatar halcanary2016-08-10
| | | | | | | NOTRY=true GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235863002 Review-Url: https://codereview.chromium.org/2235863002
* Fix SkDEBUGCODE to accept commasGravatar csmartdalton2016-08-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231663002 Review-Url: https://codereview.chromium.org/2231663002
* Remove generalized gradient codeGravatar fmenozzi2016-08-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003 Review-Url: https://codereview.chromium.org/2223203003
* Revert of Create blurred RRect mask on GPU (rather than uploading it) ↵Gravatar robertphillips2016-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #5 id:80001 of https://codereview.chromium.org/2222083004/ ) Reason for revert: No NoGPU bot on commit queue ? Original issue's description: > Create blurred RRect mask on GPU (rather than uploading it) > > This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) > > All blurred rrects using the "analytic" path will change slightly with this CL. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 > > Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479 > Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50 TBR=bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2232953002
* constexpr NaN,+Inf,-InfGravatar mtklein2016-08-10
| | | | | | | | | | | | | | | | | | | | | | Reading extern values meant these couldn't be compile-time constants. math.h has INFINITY, which is macro that is supposed to expand to float +inf. On MSVC it seems it's natively a double, so we cast just to make sure. There's nan(const char*) in math.h for NaN too, but I don't trust that to be compile-time evaluated. So instead, we keep reinterpreting a bit pattern. I did try to write static constexpr float float_nan() { ... } and completely failed. constexpr seems a bit too restrictive in C++11 to make it work, but Clang kept telling me, you'll be able to do this with C++14. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233853002 Review-Url: https://codereview.chromium.org/2233853002
* Check allignment of sub heap allocation in vulkanGravatar egdaniel2016-08-10
| | | | | | | | | | | | Certain Vulkan devices will return difference alignment requirements for a given allocation even if using the same heap. Thus we need to check this alignment as well when deciding which subheap we want to use in our memory allocation. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2232803003 Review-Url: https://codereview.chromium.org/2232803003
* Add time return argument to SkCurveMeasure's getPosTan, rename to getPosTanTimeGravatar hstern2016-08-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229893002 Review-Url: https://codereview.chromium.org/2229893002
* Create blurred RRect mask on GPU (rather than uploading it)Gravatar robertphillips2016-08-10
| | | | | | | | | | | This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) All blurred rrects using the "analytic" path will change slightly with this CL. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479 Review-Url: https://codereview.chromium.org/2222083004
* Revert of Change mapRectScaleTranslate to pass args/ret by value (patchset ↵Gravatar halcanary2016-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | #2 id:20001 of https://codereview.chromium.org/2138943002/ ) Reason for revert: Build-Ubuntu-GCC-Arm7-Release-Android fails. Original issue's description: > Change mapRectScaleTranslate to pass args/ret by value > > This reverts commit 6092b6e0e57be20d2e1ad079c0af133d2f67bfd3. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2138943002 > > Committed: https://skia.googlesource.com/skia/+/1bd13ca922d6448d595064faee486eaf3fa56e56 TBR=mtklein@google.com,msarett@google.com,reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2234843002
* remove support for serializing bitmaps in old formatGravatar reed2016-08-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230973002 Review-Url: https://codereview.chromium.org/2230973002
* Change mapRectScaleTranslate to pass args/ret by valueGravatar reed2016-08-10
| | | | | | | | | This reverts commit 6092b6e0e57be20d2e1ad079c0af133d2f67bfd3. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2138943002 Review-Url: https://codereview.chromium.org/2138943002
* Revert of Create blurred RRect mask on GPU (rather than uploading it) ↵Gravatar robertphillips2016-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #4 id:60001 of https://codereview.chromium.org/2222083004/ ) Reason for revert: Erg - dumb bug Original issue's description: > Create blurred RRect mask on GPU (rather than uploading it) > > This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) > > All blurred rrects using the "analytic" path will change slightly with this CL. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 > > Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479 TBR=bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2236493002
* Prevent degenerate linear gradient instantiationGravatar fmalita2016-08-10
| | | | | | | | | | If the point distance exceeds SkScalar, nasty things tend to happen. R=reed@google.com BUG=636194 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234663002 Review-Url: https://codereview.chromium.org/2234663002
* Create blurred RRect mask on GPU (rather than uploading it)Gravatar robertphillips2016-08-10
| | | | | | | | | | This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) All blurred rrects using the "analytic" path will change slightly with this CL. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 Review-Url: https://codereview.chromium.org/2222083004
* SkPDF: bikeshed: use `auto` lessGravatar halcanary2016-08-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234623002 Review-Url: https://codereview.chromium.org/2234623002
* Revert of Store mipmap levels in deferred texture image (patchset #11 ↵Gravatar halcanary2016-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:200001 of https://codereview.chromium.org/2115023002/ ) Reason for revert: speculative revert: android dm crashes Original issue's description: > Store mipmap levels in deferred texture image > > This is a follow-up to https://codereview.chromium.org/2034933003/ which > was reverted due to a memory leak. > > When creating the deferred texture image, detect if using medium / high > quality. If so, generate and store mipmaps in the deferred texture > image. > > When creating a texture from that be sure to read it back out. > > BUG=578304 > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115023002 > > Committed: https://skia.googlesource.com/skia/+/d6113140f7ae8996f679ac6698a60fb8c1386da3 TBR=brianosman@google.com,bsalomon@google.com,ericrk@chromium.org,cblume@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=578304 Review-Url: https://codereview.chromium.org/2227323002
* constexpr infinityGravatar mtklein2016-08-09
| | | | | | | | | | | ~/skia (inf) $ nm /tmp/rel/obj/src/core/libskia.SkLiteDL.o | grep GLOBAL__sub <nothing> TBR=halcanary@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2228203002 Review-Url: https://codereview.chromium.org/2228203002
* allocate memory manually in SkLiteDLGravatar mtklein2016-08-09
| | | | | | | | | | | | | | | | | Instead of growing at SkTDArray's chosen rate (+4, then *1.25), grow in additive 4K pages. This is my attempt to make realloc() have the best chance of not copying and to keep fragmentation down. Because we use a freelist the rate we grow doesn't affect performance too much. I'm not getting very reliable numbers, but this looks maybe 5-10% faster for recording, mainly I think from inlining the allocation fast path into push(). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231553002 Review-Url: https://codereview.chromium.org/2231553002
* SkLiteDL: add some missing std::move()Gravatar mtklein2016-08-09
| | | | | | | | | | This cuts a ref+unref roundtrip on all draw{Bitmap,Image} I set this up originally and just... forgot. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234483002 Review-Url: https://codereview.chromium.org/2234483002
* Restore scratch texture reuse on Adreno.Gravatar brianosman2016-08-09
| | | | | | | | | | | New testing shows that it's a win on our slowest SKPs, and pretty much a wash on faster tests (mixed results). However, it also saves us ~3 ms on the hwui bitmap upload jank test. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2227983003 Review-Url: https://codereview.chromium.org/2227983003
* Store mipmap levels in deferred texture imageGravatar cblume2016-08-09
| | | | | | | | | | | | | | | | This is a follow-up to https://codereview.chromium.org/2034933003/ which was reverted due to a memory leak. When creating the deferred texture image, detect if using medium / high quality. If so, generate and store mipmaps in the deferred texture image. When creating a texture from that be sure to read it back out. BUG=578304 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115023002 Review-Url: https://codereview.chromium.org/2115023002
* SkPDF: SkPDFFont organization changes.Gravatar halcanary2016-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | SkPDFFont: - SkPDFType1Font::populate() encode advances correctly. - break out logically independent code into new files: * SkPDFConvertType1FontStream * SkPDFMakeToUnicodeCmap SkPDFFont.cpp is now 380 lines smaller. Expose `SkPDFAppendCmapSections()` for testing. SkPDFFontImpl.h - Fold into SkPDFFont. SkPDFConvertType1FontStream: - Now assume given a SkStreamAsset SkPDFFont: - AdvanceMetric now hidden in a anonymous namespace. No public API changes. TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221163002 Review-Url: https://codereview.chromium.org/2221163002
* Include EXT_window_rectangles APIGravatar csmartdalton2016-08-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221393004 Review-Url: https://codereview.chromium.org/2221393004
* Use SkNVRefCnt for a couple common types.Gravatar mtklein2016-08-09
| | | | | | | | | | | | | These types are ref-counted, but don't otherwise need a vtable. This makes them good candidates for SkNVRefCnt. Destruction can be a little more direct, and if nothing else, sizeof(T) will get a little smaller by dropping the vptr. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2232433002 Review-Url: https://codereview.chromium.org/2232433002
* SkLiteDL: tiny perf tweakGravatar mtklein2016-08-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229003003 Review-Url: https://codereview.chromium.org/2229003003
* Sample app uses Ganesh before calling SkGraphics::Init().Gravatar mtklein2016-08-09
| | | | | | | | | | | | This causes inconsistent hashing. Before Init(), we use portable Murmur3, after a faster SSE4.2-based hash. To fix, call SkGraphics::Init() first. BUG=skia:5625 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229853002 Review-Url: https://codereview.chromium.org/2229853002
* Move seg_to to a new header, define SkSegType enum thereGravatar hstern2016-08-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221203002 Review-Url: https://codereview.chromium.org/2221203002
* moved code into onDrawShadowedPic, only renders into shadow maps if neededGravatar vjiaoblack2016-08-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2220633002 Review-Url: https://codereview.chromium.org/2220633002
* Refactor various gradient effect classesGravatar fmenozzi2016-08-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221133002 Review-Url: https://codereview.chromium.org/2221133002
* Purge the SkLiteDL freelist when PurgeAllCaches() is called.Gravatar mtklein2016-08-09
| | | | | | | | | Seems like the polite thing to do. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2228953002 Review-Url: https://codereview.chromium.org/2228953002
* SkLiteRecorder: don't tell SkCanvas about clipsGravatar mtklein2016-08-09
| | | | | | | | | | | | If no one reads our clip, and we don't expect quickReject() to help, we can probably get away without maintaining a proper clip stack. This puts us at about 0.6-0.7x of previous record cost. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2227833004 Review-Url: https://codereview.chromium.org/2227833004
* template intersection fuzz fixesGravatar caryclark2016-08-08
| | | | | | | | | | | | | Plumb in the ability to ignore asserts for out of range input deeper into the template intersection code. Exit gracefully when error conditions are found. TBR=reed@google.com BUG=632607,632628,633063,633065,634251,633608 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2224823004 Review-Url: https://codereview.chromium.org/2224823004
* make SpecialLineRec::addSegment assert more permissive to accomodate ↵Gravatar lsalzman2016-08-08
| | | | | | | | | | | | | | | | rounding error Because the driving code that calls SpecialLineRec::addSegment uses double precision, when converted back to single precision this may round such that d0 and d1 are the same. This causes the assert to trigger. The simplest thing to do here is to modify the assert to not be so picky and allow the rare/occasional equality. Downstream Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1290628 BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2209303004 Review-Url: https://codereview.chromium.org/2209303004
* Add initial CurveMeasure codeGravatar hstern2016-08-08
| | | | | | | | | | | - This code is entirely private and is not being used by anything. - In a future CL we will write a class that uses CurveMeasure to compute dash points. In order to determine whether CurveMeasure or PathMeasure should be faster, we need the dash info (the sum of the on/off intervals and how many there are) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187083002 Review-Url: https://codereview.chromium.org/2187083002