Commit Graph

23639 Commits

Author SHA1 Message Date
msarett
6372e65909 Delete quickRejectY()
This is the first step in a refactor of quickReject().

TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2241473002

Review-Url: https://codereview.chromium.org/2241473002
2016-08-11 10:31:49 -07:00
fmalita
2d961e086b [SVGDom] Add more presentation attributes.
Implement proper presentation attribute inheritance, and add
support for

* fill-opacity
* stroke-linecap
* stroke-linejoin
* stroke-opacity
* stroke-width

R=robertphillips@google.com,stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234153002

Review-Url: https://codereview.chromium.org/2234153002
2016-08-11 09:16:29 -07:00
bsalomon
90b5cc31f3 Improvements to build_command_buffer.py
Allows a shortcut, -t, for --chrome-build-type and clarifies meaning of the value in help.

Removes --fetch. This used to work with gyp builds but since it doesn't run gn it currently fails to build after fetching the src. Also, it wasn't being used.

Adds --no-hooks. Like --no-sync it but also doesn't run gclient runhooks.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236953002

Review-Url: https://codereview.chromium.org/2236953002
2016-08-11 08:25:41 -07:00
robertphillips
865606df97 Always give simple circular rrects a shot at being directly blurred on the GPU
I believe we want to do this but split it out of https://codereview.chromium.org/2201133002/ (Implement GPU occluded blur mask filter) b.c. it has its own perf implications and changes several GMs on its own.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2232263002

Review-Url: https://codereview.chromium.org/2232263002
2016-08-11 08:24:42 -07:00
egdaniel
f5fe4b5567 Fix crash in viewer on certain android devices
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2239493002

Review-Url: https://codereview.chromium.org/2239493002
2016-08-11 08:15:12 -07:00
mtklein
18655efb7a GN: take over some exisiting bots
As an experiment, instead of replacing these with -GN twins, take
them over in-place.  This should take over:

  -FAST
  -SKFOO

CQ_INCLUDE_TRYBOTS=master.client.skia:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229463002

Review-Url: https://codereview.chromium.org/2229463002
2016-08-11 07:51:53 -07:00
bsalomon
198ca42c67 Inline fast path for GrPaint::isConstantBlendedColor when no color FPs and src-over blend.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236423002

Review-Url: https://codereview.chromium.org/2236423002
2016-08-11 07:39:33 -07:00
mtklein
d559eb2f47 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

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng

Review-Url: https://codereview.chromium.org/2231103002
2016-08-11 07:08:28 -07:00
jvanverth
8c67ebe4c4 Clean up Xlib viewer
* Make event handling closer to GLFW's
* Fix Vulkan refreshing

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2226413002

Review-Url: https://codereview.chromium.org/2226413002
2016-08-11 07:03:04 -07:00
reed
6b2d7acecd fix memory leak, remake Imageshader to use sk_sp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2239723002

Review-Url: https://codereview.chromium.org/2239723002
2016-08-11 06:42:26 -07:00
reed
8fb6ba5f88 add legacy flag
needed only so long as legacy picture-ptr-factory is being used

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237843002

TBR=
NOTRY=True

Review-Url: https://codereview.chromium.org/2237843002
2016-08-11 05:21:41 -07:00
reed
dfd32b705b add legacy flag for google3
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234373002

TBR=

Review-Url: https://codereview.chromium.org/2234373002
2016-08-11 05:04:52 -07:00
jcgregorio
0be353487c Remove a useless call: Calling lineVec.dot(qPts[0])
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
2016-08-11 04:43:39 -07:00
reed
d230149ef8 Revert of SkLiteDL: turn vtable sideways (patchset #7 id:120001 of 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
2016-08-11 03:56:13 -07:00
reed
a9ca05ca5e Deserialize pictures with custom image-deserializer
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187613002

Review-Url: https://codereview.chromium.org/2187613002
2016-08-11 03:55:15 -07:00
fmalita
286a8657da [SVGDom] Add rx/ry support for <rect>
R=stephana@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234863002

Review-Url: https://codereview.chromium.org/2234863002
2016-08-10 17:11:29 -07:00
rmistry
d71fe83ac2 Update VERSION of "svg" asset.
Removing the SVG due to the reason in https://docs.google.com/document/d/1kYRvUxZTnm1tI_0bTU0BX9jqSSTqPUhGXJVcD3Rcg2c/edit?disco=AAAAAqQSPSc

BUG=skia:5628
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2232003002

Review-Url: https://codereview.chromium.org/2232003002
2016-08-10 16:36:15 -07:00
hstern
7cffe9733b Add constructor to DashInfo to enable initializer lists
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230143003

Review-Url: https://codereview.chromium.org/2230143003
2016-08-10 16:36:11 -07:00
hstern
5a4b18c6f2 Add better bounds checks for getTime to fix perf debug assert below
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 69aaa5a49a.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233983003

Review-Url: https://codereview.chromium.org/2233983003
2016-08-10 16:31:10 -07:00
bsalomon
9f129de595 Add a full clear method to GrDrawTarget.
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
2016-08-10 16:31:06 -07:00
fmalita
0cbe77c383 Add a SkTLazy copy assignment operator
Also scrub for NULL, etc.

R=mtklein@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2232913003

Review-Url: https://codereview.chromium.org/2232913003
2016-08-10 16:30:37 -07:00
mtklein
ac243914af 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

Review-Url: https://codereview.chromium.org/2231103002
2016-08-10 16:30:33 -07:00
fmalita
fea704e115 [SVGDom] Disable verbose parsing messages be default
Guard with SK_VERBOSE_SVG_PARSING

R=robertphillips@google.com,rmistry@google.com,stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235963003

Review-Url: https://codereview.chromium.org/2235963003
2016-08-10 16:25:33 -07:00
robertphillips
27cdd94790 Implement GPU occluded blur mask filter
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
2016-08-10 16:25:25 -07:00
reed
2ab9057b31 update textblob api to use sk_sp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236013002

NOTREECHECKS=True

Review-Url: https://codereview.chromium.org/2236013002
2016-08-10 14:16:41 -07:00
fmenozzi
568de46cb1 Revert "Remove generalized gradient code"
This reverts commit 0c63006b88.

BUG=skia:
NOTREECHECKS=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235953003

Review-Url: https://codereview.chromium.org/2235953003
2016-08-10 13:01:35 -07:00
bsalomon
80e38ac117 Add more error printing to know why command buffer lib failed to load.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233073002

Review-Url: https://codereview.chromium.org/2233073002
2016-08-10 12:26:00 -07:00
mtklein
1d65fe2932 In recording benches, record to and from the same format.
The recording bench must record some source material into some sort of
display list, and fundamentally cannot separate the timing of the two.

This CL makes it so the source material and display list are of the same type.

So instead of previous:
   --nolite: SkRecord-based picture -> SkRecord-based picture
     --lite: SkRecord-based picture -> threadsafe SkLiteDL

Now this times
   --nolite: SkRecord-based picture -> SkRecord-based picture
     --lite: SkLiteDL -> threadsafe SkLiteDL

This makes it easier to profile SkLiteDL and explore both recording and playback overhead hot spots.

The threadsafety is incidental for the source (and doesn't affect playback speed),
but I think it's handy to keep around on the destination to make a more fair comparison.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230323002

Review-Url: https://codereview.chromium.org/2230323002
2016-08-10 12:09:34 -07:00
robertphillips
f5a83e8184 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
Review-Url: https://codereview.chromium.org/2222083004
2016-08-10 12:00:09 -07:00
halcanary
69aaa5a49a Revert 386ba54 and 4ab47e0 : perf debug assert.
Revert "Refactor SkCurveMeasure to use existing eval code"

This reverts commit 4ab47e087e.

Revert "Fastpath lines in SkCurveMeasure"

This reverts commit 386ba54061.

TBR=
NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233683004

Review-Url: https://codereview.chromium.org/2233683004
2016-08-10 11:40:37 -07:00
hstern
386ba54061 Fastpath lines in SkCurveMeasure
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229403004

Review-Url: https://codereview.chromium.org/2229403004
2016-08-10 11:12:22 -07:00
csmartdalton
f9635999a4 Add flag for window rectangles to GrRenderTarget
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
2016-08-10 11:09:07 -07:00
hstern
4ab47e087e Refactor SkCurveMeasure to use existing eval code
- 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
2016-08-10 10:55:09 -07:00
halcanary
cb0f4c3404 SkGradientShader.cpp: fix build when SK_SUPPORT_GPU=0
NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235863002

Review-Url: https://codereview.chromium.org/2235863002
2016-08-10 10:11:35 -07:00
csmartdalton
ceeaa78713 Fix SkDEBUGCODE to accept commas
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231663002

Review-Url: https://codereview.chromium.org/2231663002
2016-08-10 10:07:58 -07:00
bungeman
ce81ed58e2 Remove no longer existing friend.
sk_fontmgr_create_default used to exist before SkFontMgr::RefDefault
could do the job better. There are no actual implementations for this
function, so SkFontMgr should no longer be friends with it.

TBR=reed
Removes a deceased friend.

Review-Url: https://codereview.chromium.org/2232963002
2016-08-10 09:23:43 -07:00
fmenozzi
0c63006b88 Remove generalized gradient code
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003

Review-Url: https://codereview.chromium.org/2223203003
2016-08-10 08:57:24 -07:00
jcgregorio
9d155afef4 Package Go 1.6.2 in CIPD
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230853003

Review-Url: https://codereview.chromium.org/2230853003
2016-08-10 08:44:44 -07:00
robertphillips
3f0e6945f8 Revert of Create blurred RRect mask on GPU (rather than uploading it) (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
2016-08-10 08:40:35 -07:00
mtklein
3ff2cc81a5 constexpr NaN,+Inf,-Inf
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
2016-08-10 08:31:42 -07:00
egdaniel
6e90d42d3d Check allignment of sub heap allocation in vulkan
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
2016-08-10 08:29:53 -07:00
hstern
80ac591f99 Add time return argument to SkCurveMeasure's getPosTan, rename to getPosTanTime
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2229893002

Review-Url: https://codereview.chromium.org/2229893002
2016-08-10 07:45:31 -07:00
mtklein
d434b01c7e Roll GN: gn format is --in-place by default
As usual, might as well roll, and this new behavior is a small convenience.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231833002

Review-Url: https://codereview.chromium.org/2231833002
2016-08-10 07:30:58 -07:00
mtklein
3d96cb8db7 Default GR_GL_FUNCTION_TYPE to __stdcall on Windows.
Why is this configurable if we can't work without it?

Just to confirm, this is a Windows constraint, not an MSVC constraint, right?
Clang on Windows also needs __stdcall?

BUG=skia:5617
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2233883002

Review-Url: https://codereview.chromium.org/2233883002
2016-08-10 07:30:21 -07:00
rmistry
d1cfb5bebe Add "svg" asset
BUG=skia:5628
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2235763002

Review-Url: https://codereview.chromium.org/2235763002
2016-08-10 07:23:51 -07:00
robertphillips
94b5c5a411 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
Review-Url: https://codereview.chromium.org/2222083004
2016-08-10 07:14:55 -07:00
halcanary
c5769b2e49 Revert of Change mapRectScaleTranslate to pass args/ret by value (patchset #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 6092b6e0e5.
>
> 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
2016-08-10 07:13:21 -07:00
rmistry
d8a620b173 SVG tool that downloads SVGs from a txt file into a specified dir
BUG=skia:5628
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234823002

Review-Url: https://codereview.chromium.org/2234823002
2016-08-10 07:00:43 -07:00
reed
d5b88a3dc5 remove support for serializing bitmaps in old format
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2230973002

Review-Url: https://codereview.chromium.org/2230973002
2016-08-10 06:37:43 -07:00
reed
1bd13ca922 Change mapRectScaleTranslate to pass args/ret by value
This reverts commit 6092b6e0e5.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2138943002

Review-Url: https://codereview.chromium.org/2138943002
2016-08-10 06:17:54 -07:00