Commit Graph

23561 Commits

Author SHA1 Message Date
vjiaoblack
772b5ee446 Added PointLights to SkLights::Light
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237493002

Review-Url: https://codereview.chromium.org/2237493002
2016-08-12 11:38:47 -07:00
jvanverth
e1a3bc6769 Add Android Shadow sample
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2245693002

Review-Url: https://codereview.chromium.org/2245693002
2016-08-12 10:40:38 -07:00
jcgregorio
106a9ff313 Add extracting GM comments to the housekeeper bot.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237033002

Review-Url: https://codereview.chromium.org/2237033002
2016-08-12 08:50:29 -07:00
msarett
fbfa258027 Optimized implementation of quickReject()
Impl Overview
(1) Keep the device clip bounds up to date.  This
    requires minimal additional work in a few places
    throughout canvas.
(2) Keep track of if the ctm isScaleTranslate.  Yes,
    there's a function that does this, but it's slow
    to call.
(3) Perform the src->device transform in quick reject,
    then check intersection/nan.

Other Notes:
(1) NaN and intersection checks are performed
    simultaneously.
(2) We no longer quick reject infinity.
(3) Affine and perspective are both handled in the slow
    case.
(4) SkRasterClip::isEmpty() is handled by the intersection
    check.

Performance on Nexus 6P:
93.2ms -> 59.8ms

Overall Android Jank Tests Performance Impact:
Should gain us a ms or two on some tests.

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

Committed: https://skia.googlesource.com/skia/+/d22a817ff57986407facd16af36320fc86ce02da
Review-Url: https://codereview.chromium.org/2225393002
2016-08-12 08:29:08 -07:00
halcanary
7e8d5d3519 SkPDF: Subset Type3 (fallback) font
Motivation: significant file-size reduction.

Also: SkPDFFont::subsetFont() returns a sk_sp<SkPDFObject>
rather than a SkPDFFont*.

SkPDFType3Font constructor no longer populates font info;
relies on subsetting.

SkPDFFont::Create is easier to read

Also: SkPDFType3Font are scaled by emSize rather than 1000.

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

Committed: https://skia.googlesource.com/skia/+/88b138da99328b04cae9a8ee19c3882b8847a550
Review-Url: https://codereview.chromium.org/2231483002
2016-08-12 07:59:38 -07:00
rmistry
70c43efb6e Turn on SVGs for all Test bots
BUG=skia:5628
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2240153002

Review-Url: https://codereview.chromium.org/2240153002
2016-08-12 07:25:53 -07:00
fmenozzi
2a4959181f Remove generalized gradient code
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003

Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b
Review-Url: https://codereview.chromium.org/2223203003
2016-08-12 06:33:52 -07:00
kjlubick
1eda1eb203 Create gradient fuzzers
This would have caught the bug patched by https://codereview.chromium.org/2234663002

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

Review-Url: https://codereview.chromium.org/2239463002
2016-08-12 06:26:03 -07:00
mtklein
5aeb2fa253 Revert of Optimized implementation of quickReject() (patchset #12 id:260001 of https://codereview.chromium.org/2225393002/ )
Reason for revert:
New assert triggering in the Chrome roll,
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/208750/steps/webkit_unit_tests%20%28with%20patch%29%20on%20Ubuntu-12.04/logs/FrameThrottlingTest.SynchronousLayoutInAnimationFrameCallback

and breaks the SKNX_NO_SIMD bot,
https://codereview.chromium.org/2236363004

Original issue's description:
> Optimized implementation of quickReject()
>
> Impl Overview
> (1) Keep the device clip bounds up to date.  This
>     requires minimal additional work in a few places
>     throughout canvas.
> (2) Keep track of if the ctm isScaleTranslate.  Yes,
>     there's a function that does this, but it's slow
>     to call.
> (3) Perform the src->device transform in quick reject,
>     then check intersection/nan.
>
> Other Notes:
> (1) NaN and intersection checks are performed
>     simultaneously.
> (2) We no longer quick reject infinity.
> (3) Affine and perspective are both handled in the slow
>     case.
> (4) SkRasterClip::isEmpty() is handled by the intersection
>     check.
>
> Performance on Nexus 6P:
> 93.2ms -> 59.8ms
>
> Overall Android Jank Tests Performance Impact:
> Should gain us a ms or two on some tests.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225393002
>
> Committed: https://skia.googlesource.com/skia/+/d22a817ff57986407facd16af36320fc86ce02da

TBR=reed@google.com,herb@google.com,msarett@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/2231393003
2016-08-12 02:22:33 -07:00
halcanary
cf736d7b66 Revert of Exact Ganesh Gradients for Special Cases (patchset #8 id:140001 of https://codereview.chromium.org/2223203003/ )
Reason for revert:
Chrome iOS build break
https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/50777/steps/compile/logs/stdio
error: unused function 'close_to_one_half'

Original issue's description:
> Remove generalized gradient code
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003
>
> Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
> Committed: https://skia.googlesource.com/skia/+/99818d69372d29a139935cfe5c379e491432931b

TBR=bsalomon@google.com,fmenozzi@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/2241483003
2016-08-11 18:07:37 -07:00
egdaniel
a825d5317c Revert of Fix 4444 on Vulkan devices who don't support RGBA_4444 (patchset #4 id:60001 of https://codereview.chromium.org/2238563002/ )
Reason for revert:
test failing on some gpus

Original issue's description:
> Fix 4444 on Vulkan devices who don't support RGBA_4444
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2238563002
>
> Committed: https://skia.googlesource.com/skia/+/637b3bf2b9c10398d823bd015a722842d4f2f971

TBR=bsalomon@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/2240713003
2016-08-11 16:17:39 -07:00
bsalomon
300178b1c8 Only open X Display once for all test GLX contexts
Saves about 4 seconds of runtime for 'dm --src gm --config gpu' on my system.

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

Review-Url: https://codereview.chromium.org/2240673002
2016-08-11 14:58:34 -07:00
msarett
d22a817ff5 Optimized implementation of quickReject()
Impl Overview
(1) Keep the device clip bounds up to date.  This
    requires minimal additional work in a few places
    throughout canvas.
(2) Keep track of if the ctm isScaleTranslate.  Yes,
    there's a function that does this, but it's slow
    to call.
(3) Perform the src->device transform in quick reject,
    then check intersection/nan.

Other Notes:
(1) NaN and intersection checks are performed
    simultaneously.
(2) We no longer quick reject infinity.
(3) Affine and perspective are both handled in the slow
    case.
(4) SkRasterClip::isEmpty() is handled by the intersection
    check.

Performance on Nexus 6P:
93.2ms -> 59.8ms

Overall Android Jank Tests Performance Impact:
Should gain us a ms or two on some tests.

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

Review-Url: https://codereview.chromium.org/2225393002
2016-08-11 14:40:04 -07:00
dvonbeck
ee92063f9e LightingShader and NormalSource comment and style fixes
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237963002

Review-Url: https://codereview.chromium.org/2237963002
2016-08-11 14:17:59 -07:00
halcanary
5bf60adaaf Revert of SkPDF: Subset Type3 (fallback) font (patchset #8 id:200001 of https://codereview.chromium.org/2231483002/ )
Reason for revert:
internal failing

Original issue's description:
> SkPDF: Subset Type3 (fallback) font
>
> Motivation: significant file-size reduction.
>
> Also: SkPDFFont::subsetFont() returns a sk_sp<SkPDFObject>
> rather than a SkPDFFont*.
>
> SkPDFType3Font constructor no longer populates font info;
> relies on subsetting.
>
> SkPDFFont::Create is easier to read
>
> Also: SkPDFType3Font are scaled by emSize rather than 1000.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2231483002
>
> Committed: https://skia.googlesource.com/skia/+/88b138da99328b04cae9a8ee19c3882b8847a550

TBR=bungeman@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/2232283003
2016-08-11 13:59:19 -07:00
egdaniel
637b3bf2b9 Fix 4444 on Vulkan devices who don't support RGBA_4444
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2238563002

Review-Url: https://codereview.chromium.org/2238563002
2016-08-11 13:44:23 -07:00
rmistry
bcba19dd02 Use SVGs CIPD package and use SVG as a DM source.
Currently only turned on for one bot. May turn it on for more after more conversations.

BUG=skia:5628

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

Review-Url: https://codereview.chromium.org/2231943002
2016-08-11 12:36:58 -07:00
fmenozzi
99818d6937 Remove generalized gradient code
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223203003

Committed: https://skia.googlesource.com/skia/+/0c63006b88a16e3418d92852a62771615799839d
Review-Url: https://codereview.chromium.org/2223203003
2016-08-11 12:32:10 -07:00
halcanary
88b138da99 SkPDF: Subset Type3 (fallback) font
Motivation: significant file-size reduction.

Also: SkPDFFont::subsetFont() returns a sk_sp<SkPDFObject>
rather than a SkPDFFont*.

SkPDFType3Font constructor no longer populates font info;
relies on subsetting.

SkPDFFont::Create is easier to read

Also: SkPDFType3Font are scaled by emSize rather than 1000.

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

Review-Url: https://codereview.chromium.org/2231483002
2016-08-11 12:25:09 -07:00
brianosman
86e7626f08 Move GrAtlasTextContext to GrDrawingManager, so we only have one.
Ultimately, avoids wasteful redundant computation and storage of distance
field fake-gamma tables.

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

Review-Url: https://codereview.chromium.org/2240623002
2016-08-11 12:17:32 -07:00
caryclark
c6d855f7f3 start working on tiger again
The tiger tests are a suite under development
that exercise many coincident edge cases.

This fixes the case when a duplicate point is not
ignored when the coincident span references the
primary point.

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

Review-Url: https://codereview.chromium.org/2239803002
2016-08-11 11:59:48 -07:00
bsalomon
fd8d013f0d Avoid creating full screen clear batches when there is already one in the queue.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237633003

Review-Url: https://codereview.chromium.org/2237633003
2016-08-11 11:25:33 -07:00
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