Commit Graph

24130 Commits

Author SHA1 Message Date
mtklein
0a441077dc kNumWindows is only used in GPU builds
TBR=csmartdalton@google.com

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot

Committed: https://skia.googlesource.com/skia/+/af92a7f85a5fc774838910444a9f2cddc3e43a2c
Review-Url: https://codereview.chromium.org/2305923004
2016-09-06 11:45:31 -07:00
reed
6669010af4 check for null-layer-paint after prev fix to savelayer ops
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2314073002

Review-Url: https://codereview.chromium.org/2314073002
2016-09-06 10:16:47 -07:00
msarett
47ae5c5d8f Delete SkColorSpace::kUnknown_Named, remove fNamed field
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302413002

Committed: https://skia.googlesource.com/skia/+/54682e856cb66c653bc7e253981a421a2618398e
Review-Url: https://codereview.chromium.org/2302413002
2016-09-06 10:01:48 -07:00
csmartdalton
bf4a8f90c8 Improve usage of window rectangles
* Skips non-AA diff rect elements and replaces them with window
  rectangles.
* Places window rectangles in the interiors of antialiased diff rects.
* Arranges two overlapping window rectangles in a plus shape inside of
  diff rounded rects.
* Enables window rectangles when clearing and generating clip masks.

GTX 960 perf result (with vs. without window rectangles):

                              glinst4                msaa16                 gpu
keymobi_pinterest.skp         0.48 -> 0.17 [ 35%]    2.77 -> 1.49 [ 54%]    0.22 -> 0.16 [ 70%]
keymobi_digg_com.skp          0.42 -> 0.23 [ 55%]    2.34 -> 1.08 [ 46%]    0.25 -> 0.21 [ 83%]
desk_jsfiddlebigcar.skp       0.28 -> 0.16 [ 59%]    1.70 -> 0.96 [ 57%]    0.19 -> 0.14 [ 70%]
top25desk_wordpress.skp       0.45 -> 0.18 [ 40%]    2.78 -> 1.53 [ 55%]    0.21 -> 0.19 [ 94%]
top25desk_weather_com.skp     2.01 -> 1.93 [ 96%]    23.5 -> 2.54 [ 11%]    1.90 -> 1.68 [ 88%]
keymobi_blogger.skp           0.57 -> 0.37 [ 65%]    2.87 -> 1.54 [ 54%]    0.43 -> 0.33 [ 77%]
keymobi_linkedin.skp          0.32 -> 0.17 [ 51%]    1.93 -> 1.04 [ 54%]    0.17 -> 0.15 [ 91%]
keymobi_bing_com_search_...   0.29 -> 0.25 [ 83%]    1.85 -> 1.23 [ 66%]    0.50 -> 0.24 [ 48%]
keymobi_theverge_com_201...   1.00 -> 0.67 [ 68%]    9.46 -> 3.84 [ 41%]    0.72 -> 0.65 [ 90%]
keymobi_sfgate_com_.skp       1.56 -> 1.13 [ 72%]    4.49 -> 2.86 [ 64%]    1.54 -> 1.11 [ 72%]
...
GEOMEAN (All 79 blink skps)   1.04 -> 0.90 [ 86%]    4.22 -> 2.81 [ 67%]    0.95 -> 0.89 [ 94%]

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

Committed: https://skia.googlesource.com/skia/+/db42be9a326c747ff92ed1da8c3536c5b3e8e22b
Review-Url: https://codereview.chromium.org/2289363005
2016-09-06 10:01:07 -07:00
brucedawson
3c3e0d7bad Work around VS 2015 Update 3 optimizer internal compiler error
VS 2015 Update 3 comes with a fancy new optimizer and this optimizer
causes an internal compiler error on one skia function. This change
works around the bug by disabling optimize-for-time for that function.

Other options would be to add /d2SSAOptimizer- to the command-line for
the file or project but that would *require* Update 3 which is not yet
desirable.

VS bug report is here:
https://connect.microsoft.com/VisualStudio/feedback/details/3100520
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2308833002

Review-Url: https://codereview.chromium.org/2308833002
2016-09-06 09:54:44 -07:00
halcanary
e86134fc70 SkDocument: turn off SK_SUPPORT_LEGACY_DOCUMENT_API
no one seems to be using it.

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

Review-Url: https://codereview.chromium.org/2299653002
2016-09-06 09:32:13 -07:00
reed
02f9ed74ea test dont-clip-layer
depends on fix from https://codereview.chromium.org/2309623002/

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

Review-Url: https://codereview.chromium.org/2296703003
2016-09-06 09:06:18 -07:00
caryclark
ef7cee4bbc provide safe exit for runaway intersections
Curve intersections with extreme numbers may
cause the intersection template code to loop
forever. Detect this by looking for
marking more spans gone than exist, and
return without any intersections found.

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

Review-Url: https://codereview.chromium.org/2310113002
2016-09-06 09:05:55 -07:00
caryclark
e97fe83972 compare degenerates with tolerance
Conics with very large w values can
be approximated with two straight lines.

This avoids iterating endlessly in an
attempt to create quadratics with unstable
numerics.

Check to see if the first chop generated
a pair of lines within the default
point comparison tolerance.

R=reed@google.com
BUG=643933, 643665
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2312923002

Review-Url: https://codereview.chromium.org/2312923002
2016-09-06 08:54:10 -07:00
bsalomon
b2be02bb39 Update Windows build to use VULKAN_SDK rather than VK_SDK_PATH
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2318633002

Review-Url: https://codereview.chromium.org/2318633002
2016-09-06 08:40:51 -07:00
kjlubick
f54c00e817 Add device mapping for Nexus 6p (angler)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311253002

Review-Url: https://codereview.chromium.org/2311253002
2016-09-06 07:39:30 -07:00
caryclark
c3bfcb803a Revert of Improve usage of window rectangles (patchset #9 id:160001 of https://codereview.chromium.org/2289363005/ )
Reason for revert:
broke build. See

https://build.chromium.org/p/client.skia/builders/Perf-Win8-MSVC-ShuttleA-GPU-GTX960-x86_64-Debug/builds/186

Original issue's description:
> Improve usage of window rectangles
>
> * Skips non-AA diff rect elements and replaces them with window
>   rectangles.
> * Places window rectangles in the interiors of antialiased diff rects.
> * Arranges two overlapping window rectangles in a plus shape inside of
>   diff rounded rects.
> * Enables window rectangles when clearing and generating clip masks.
>
> GTX 960 perf result (with vs. without window rectangles):
>
>                               glinst4                msaa16                 gpu
> keymobi_pinterest.skp         0.48 -> 0.17 [ 35%]    2.77 -> 1.49 [ 54%]    0.22 -> 0.16 [ 70%]
> keymobi_digg_com.skp          0.42 -> 0.23 [ 55%]    2.34 -> 1.08 [ 46%]    0.25 -> 0.21 [ 83%]
> desk_jsfiddlebigcar.skp       0.28 -> 0.16 [ 59%]    1.70 -> 0.96 [ 57%]    0.19 -> 0.14 [ 70%]
> top25desk_wordpress.skp       0.45 -> 0.18 [ 40%]    2.78 -> 1.53 [ 55%]    0.21 -> 0.19 [ 94%]
> top25desk_weather_com.skp     2.01 -> 1.93 [ 96%]    23.5 -> 2.54 [ 11%]    1.90 -> 1.68 [ 88%]
> keymobi_blogger.skp           0.57 -> 0.37 [ 65%]    2.87 -> 1.54 [ 54%]    0.43 -> 0.33 [ 77%]
> keymobi_linkedin.skp          0.32 -> 0.17 [ 51%]    1.93 -> 1.04 [ 54%]    0.17 -> 0.15 [ 91%]
> keymobi_bing_com_search_...   0.29 -> 0.25 [ 83%]    1.85 -> 1.23 [ 66%]    0.50 -> 0.24 [ 48%]
> keymobi_theverge_com_201...   1.00 -> 0.67 [ 68%]    9.46 -> 3.84 [ 41%]    0.72 -> 0.65 [ 90%]
> keymobi_sfgate_com_.skp       1.56 -> 1.13 [ 72%]    4.49 -> 2.86 [ 64%]    1.54 -> 1.11 [ 72%]
> keymobi_ftw_usatoday_com...   0.59 -> 0.34 [ 57%]    2.80 -> 1.54 [ 55%]    1.21 -> 1.20 [ 99%]
> keymobi_shop_mobileweb_e...   0.46 -> 0.32 [ 70%]    2.60 -> 1.26 [ 48%]    0.35 -> 0.34 [ 97%]
> keymobi_cnn_com.skp           0.68 -> 0.42 [ 63%]    3.40 -> 2.10 [ 62%]    0.49 -> 0.45 [ 93%]
> keymobi_plus_google_com_...   0.77 -> 0.46 [ 60%]    4.83 -> 3.56 [ 74%]    0.52 -> 0.46 [ 89%]
> keymobi_wordpress.skp         0.50 -> 0.40 [ 81%]    2.60 -> 1.31 [ 50%]    0.40 -> 0.37 [ 91%]
> keymobi_androidpolice_co...   0.84 -> 0.73 [ 87%]    4.15 -> 2.05 [ 49%]    0.77 -> 0.67 [ 87%]
> keymobi_online_wsj_com_h...   0.55 -> 0.43 [ 78%]    2.91 -> 1.66 [ 57%]    0.45 -> 0.41 [ 90%]
> keymobi_iphone_capitolvo...   1.18 -> 0.96 [ 81%]    6.26 -> 4.96 [ 79%]    0.95 -> 0.92 [ 97%]
> keymobi_wikipedia__1_tab...   0.46 -> 0.41 [ 89%]    2.51 -> 1.24 [ 49%]    0.40 -> 0.38 [ 95%]
> keymobi_wikipedia__1_tab...   0.46 -> 0.42 [ 90%]    2.52 -> 1.25 [ 50%]    0.40 -> 0.38 [ 96%]
> keymobi_boingboing_net.skp    0.62 -> 0.56 [ 90%]    3.15 -> 1.80 [ 57%]    0.61 -> 0.56 [ 92%]
> keymobi_cnn_com_2012_10_...   0.86 -> 0.82 [ 95%]    2.81 -> 1.50 [ 53%]    0.91 -> 0.83 [ 91%]
> top25desk_techcrunch_com...   0.61 -> 0.56 [ 92%]    3.03 -> 1.76 [ 58%]    0.62 -> 0.56 [ 91%]
> top25desk_ebay_com.skp        1.18 -> 1.08 [ 92%]    2.23 -> 1.24 [ 56%]    1.14 -> 1.09 [ 96%]
> desk_css3gradients.skp        0.64 -> 0.61 [ 95%]    2.99 -> 1.54 [ 52%]    0.62 -> 0.61 [ 99%]
> top25desk_blogger.skp         0.61 -> 0.59 [ 96%]    2.50 -> 1.37 [ 55%]    0.60 -> 0.57 [ 95%]
> keymobi_nytimes_com_.skp      0.65 -> 0.64 [ 98%]    2.69 -> 1.42 [ 53%]    0.62 -> 0.59 [ 96%]
> keymobi_wowwiki_com_worl...   0.99 -> 0.92 [ 92%]    3.46 -> 2.06 [ 60%]    0.98 -> 0.95 [ 96%]
> keymobi_cuteoverload_com...   1.37 -> 1.26 [ 92%]    3.24 -> 2.45 [ 76%]    1.38 -> 1.35 [ 98%]
> keymobi_mobile_news_sand...   0.88 -> 0.81 [ 93%]    3.50 -> 2.07 [ 59%]    0.82 -> 0.81 [100%]
> top25desk_linkedin.skp        0.87 -> 0.87 [100%]    2.92 -> 1.73 [ 59%]    0.94 -> 0.86 [ 91%]
> top25desk_docs___1_open_...   1.43 -> 1.36 [ 95%]    1.87 -> 1.42 [ 76%]    0.73 -> 0.66 [ 91%]
> keymobi_reddit_com_r_pro...   0.68 -> 0.66 [ 96%]    2.49 -> 1.23 [ 49%]    0.65 -> 0.66 [102%]
> ...
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289363005
>
> Committed: https://skia.googlesource.com/skia/+/db42be9a326c747ff92ed1da8c3536c5b3e8e22b

TBR=bsalomon@google.com,egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review-Url: https://codereview.chromium.org/2312173002
2016-09-06 07:09:54 -07:00
caryclark
e6088c6063 Revert of Move uils and sksl to a common sources GYP file. (patchset #1 id:1 of https://codereview.chromium.org/2302723005/ )
Reason for revert:
The broke the PDFium build. See

https://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Release-PDFium/builds/2094

Original issue's description:
> Move uils and sksl to a common sources GYP file.
>
> This is for the coalescing of sources in one GYP file to improve GN runtime. If
> this is successful, the other sources lists will also be merged into this one
> file.
>
> Inlines "../src" and "../include" for skia_source_dir and skia_include_dir. Evaluating these with GYP's variable expansion is annoying since I think another layer of nesting is required. Coding these explicitly is also more clear. This used to be required because Chromium would reference these .gypi files directly with a different path, but this no longer happens.
>
> Removes the chromium defines gypi which is no longer referenced.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302723005
>
> Committed: https://skia.googlesource.com/skia/+/39f7a10a04a914384944d8bf62621144ac4eeaa3

TBR=mtklein@chromium.org,brettw@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.

Review-Url: https://codereview.chromium.org/2317683002
2016-09-06 07:07:52 -07:00
reed
5a3c528f56 test picture-ops for savelayer
BUG=skia:5716
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2309623002

Review-Url: https://codereview.chromium.org/2309623002
2016-09-06 06:54:41 -07:00
caryclark
8016b264ce interpolation of coincidence must be local to a single span
Pathops makes up intersections that it doesn't detect directly,
but do exist. For instance, if a is coincident with b, and
b is coincident with c, then for where they overlap
a is coincident with c.

The intersections are made up in different ways. In a few
places, the t values that are detected are interpolated to
guess the t values that represent invented intersections.

The interpolated t is not necessarily linear, but a linear
guess is good enough if the invented t lies between known
t values.

Additionally, improve debugging.

This passes the extended release test suite and additionally
passes the first 17 levels in the tiger test suite;
previously, path ops passed 7 levels.

The tiger suite is composed of 37 levels in increasing
complexity, described by about 300K tests.

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

Review-Url: https://codereview.chromium.org/2300203002
2016-09-06 05:59:47 -07:00
robertphillips
48fde9c412 Add a makeDrawContextWithFallback that handles config fallback
This fixes a bug in find_or_create_rrect_blur_mask where an A8-based drawContext was desired but creation was failing b.c. A8 wasn't renderable.

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

Review-Url: https://codereview.chromium.org/2296193005
2016-09-06 05:20:20 -07:00
msarett
712bb1ecde Delete kInvalid_GammaNamed (part 2)
We are done using this for UMA.

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

Review-Url: https://codereview.chromium.org/2306123002
2016-09-05 10:33:12 -07:00
mgiuca
008fbd1b8e Revert of Delete SkColorSpace::kUnknown_Named, remove fNamed field (patchset #1 id:20001 of https://codereview.chromium.org/2302413002/ )
Reason for revert:
This CL introduced two static initializers (gAdobeRGB and gSRGB) which are causing a sizes regression on Chromium builders:

https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/24981

Original issue's description:
> Delete SkColorSpace::kUnknown_Named, remove fNamed field
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302413002
>
> Committed: https://skia.googlesource.com/skia/+/54682e856cb66c653bc7e253981a421a2618398e

TBR=reed@google.com,brianosman@google.com,msarett@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:5724

Review-Url: https://codereview.chromium.org/2306313002
2016-09-05 04:58:55 -07:00
update-skps
3b4bc7465a Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2311643002

Review-Url: https://codereview.chromium.org/2311643002
2016-09-04 02:15:51 -07:00
mtklein
af92a7f85a kNumWindows is only used in GPU builds
TBR=csmartdalton@google.com

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot

Review-Url: https://codereview.chromium.org/2305923004
2016-09-03 06:17:13 -07:00
msarett
54682e856c Delete SkColorSpace::kUnknown_Named, remove fNamed field
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302413002

Review-Url: https://codereview.chromium.org/2302413002
2016-09-02 14:25:06 -07:00
brettw
39f7a10a04 Move uils and sksl to a common sources GYP file.
This is for the coalescing of sources in one GYP file to improve GN runtime. If
this is successful, the other sources lists will also be merged into this one
file.

Inlines "../src" and "../include" for skia_source_dir and skia_include_dir. Evaluating these with GYP's variable expansion is annoying since I think another layer of nesting is required. Coding these explicitly is also more clear. This used to be required because Chromium would reference these .gypi files directly with a different path, but this no longer happens.

Removes the chromium defines gypi which is no longer referenced.

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

Review-Url: https://codereview.chromium.org/2302723005
2016-09-02 14:01:07 -07:00
jcgregorio
b55d98dda1 pdfium: Fix the pdfium builder.
BUG=skia:5715
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300703007

Review-Url: https://codereview.chromium.org/2300703007
2016-09-02 12:36:05 -07:00
borenet
32799a45ec [task scheduler] Fix CIPD package versions
BUG=skia:5626
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2301413003

Review-Url: https://codereview.chromium.org/2301413003
2016-09-02 12:16:56 -07:00
reed
de6c531e46 remove unused SkDevice::setMatrixClip
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2308733002

Review-Url: https://codereview.chromium.org/2308733002
2016-09-02 12:10:07 -07:00
csmartdalton
db42be9a32 Improve usage of window rectangles
* Skips non-AA diff rect elements and replaces them with window
  rectangles.
* Places window rectangles in the interiors of antialiased diff rects.
* Arranges two overlapping window rectangles in a plus shape inside of
  diff rounded rects.
* Enables window rectangles when clearing and generating clip masks.

GTX 960 perf result (with vs. without window rectangles):

                              glinst4                msaa16                 gpu
keymobi_pinterest.skp         0.48 -> 0.17 [ 35%]    2.77 -> 1.49 [ 54%]    0.22 -> 0.16 [ 70%]
keymobi_digg_com.skp          0.42 -> 0.23 [ 55%]    2.34 -> 1.08 [ 46%]    0.25 -> 0.21 [ 83%]
desk_jsfiddlebigcar.skp       0.28 -> 0.16 [ 59%]    1.70 -> 0.96 [ 57%]    0.19 -> 0.14 [ 70%]
top25desk_wordpress.skp       0.45 -> 0.18 [ 40%]    2.78 -> 1.53 [ 55%]    0.21 -> 0.19 [ 94%]
top25desk_weather_com.skp     2.01 -> 1.93 [ 96%]    23.5 -> 2.54 [ 11%]    1.90 -> 1.68 [ 88%]
keymobi_blogger.skp           0.57 -> 0.37 [ 65%]    2.87 -> 1.54 [ 54%]    0.43 -> 0.33 [ 77%]
keymobi_linkedin.skp          0.32 -> 0.17 [ 51%]    1.93 -> 1.04 [ 54%]    0.17 -> 0.15 [ 91%]
keymobi_bing_com_search_...   0.29 -> 0.25 [ 83%]    1.85 -> 1.23 [ 66%]    0.50 -> 0.24 [ 48%]
keymobi_theverge_com_201...   1.00 -> 0.67 [ 68%]    9.46 -> 3.84 [ 41%]    0.72 -> 0.65 [ 90%]
keymobi_sfgate_com_.skp       1.56 -> 1.13 [ 72%]    4.49 -> 2.86 [ 64%]    1.54 -> 1.11 [ 72%]
keymobi_ftw_usatoday_com...   0.59 -> 0.34 [ 57%]    2.80 -> 1.54 [ 55%]    1.21 -> 1.20 [ 99%]
keymobi_shop_mobileweb_e...   0.46 -> 0.32 [ 70%]    2.60 -> 1.26 [ 48%]    0.35 -> 0.34 [ 97%]
keymobi_cnn_com.skp           0.68 -> 0.42 [ 63%]    3.40 -> 2.10 [ 62%]    0.49 -> 0.45 [ 93%]
keymobi_plus_google_com_...   0.77 -> 0.46 [ 60%]    4.83 -> 3.56 [ 74%]    0.52 -> 0.46 [ 89%]
keymobi_wordpress.skp         0.50 -> 0.40 [ 81%]    2.60 -> 1.31 [ 50%]    0.40 -> 0.37 [ 91%]
keymobi_androidpolice_co...   0.84 -> 0.73 [ 87%]    4.15 -> 2.05 [ 49%]    0.77 -> 0.67 [ 87%]
keymobi_online_wsj_com_h...   0.55 -> 0.43 [ 78%]    2.91 -> 1.66 [ 57%]    0.45 -> 0.41 [ 90%]
keymobi_iphone_capitolvo...   1.18 -> 0.96 [ 81%]    6.26 -> 4.96 [ 79%]    0.95 -> 0.92 [ 97%]
keymobi_wikipedia__1_tab...   0.46 -> 0.41 [ 89%]    2.51 -> 1.24 [ 49%]    0.40 -> 0.38 [ 95%]
keymobi_wikipedia__1_tab...   0.46 -> 0.42 [ 90%]    2.52 -> 1.25 [ 50%]    0.40 -> 0.38 [ 96%]
keymobi_boingboing_net.skp    0.62 -> 0.56 [ 90%]    3.15 -> 1.80 [ 57%]    0.61 -> 0.56 [ 92%]
keymobi_cnn_com_2012_10_...   0.86 -> 0.82 [ 95%]    2.81 -> 1.50 [ 53%]    0.91 -> 0.83 [ 91%]
top25desk_techcrunch_com...   0.61 -> 0.56 [ 92%]    3.03 -> 1.76 [ 58%]    0.62 -> 0.56 [ 91%]
top25desk_ebay_com.skp        1.18 -> 1.08 [ 92%]    2.23 -> 1.24 [ 56%]    1.14 -> 1.09 [ 96%]
desk_css3gradients.skp        0.64 -> 0.61 [ 95%]    2.99 -> 1.54 [ 52%]    0.62 -> 0.61 [ 99%]
top25desk_blogger.skp         0.61 -> 0.59 [ 96%]    2.50 -> 1.37 [ 55%]    0.60 -> 0.57 [ 95%]
keymobi_nytimes_com_.skp      0.65 -> 0.64 [ 98%]    2.69 -> 1.42 [ 53%]    0.62 -> 0.59 [ 96%]
keymobi_wowwiki_com_worl...   0.99 -> 0.92 [ 92%]    3.46 -> 2.06 [ 60%]    0.98 -> 0.95 [ 96%]
keymobi_cuteoverload_com...   1.37 -> 1.26 [ 92%]    3.24 -> 2.45 [ 76%]    1.38 -> 1.35 [ 98%]
keymobi_mobile_news_sand...   0.88 -> 0.81 [ 93%]    3.50 -> 2.07 [ 59%]    0.82 -> 0.81 [100%]
top25desk_linkedin.skp        0.87 -> 0.87 [100%]    2.92 -> 1.73 [ 59%]    0.94 -> 0.86 [ 91%]
top25desk_docs___1_open_...   1.43 -> 1.36 [ 95%]    1.87 -> 1.42 [ 76%]    0.73 -> 0.66 [ 91%]
keymobi_reddit_com_r_pro...   0.68 -> 0.66 [ 96%]    2.49 -> 1.23 [ 49%]    0.65 -> 0.66 [102%]
...

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

Review-Url: https://codereview.chromium.org/2289363005
2016-09-02 11:36:25 -07:00
halcanary
022c2bd37a SkMakeUnique.h defines skstd::make_unique<T>(Args...)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2293963002

Review-Url: https://codereview.chromium.org/2293963002
2016-09-02 11:29:46 -07:00
mtklein
233eb0adc7 Include $extra_ldflags in link descriptions.
I overlooked this this morning.  Not hugely important, but nice to see.

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

Review-Url: https://codereview.chromium.org/2303933002
2016-09-02 11:24:50 -07:00
msarett
0764efe6a9 Add option to skip rects to drawImageLattice()
HWUI skips transparent rects when drawing.

When skia draws using bilerp, we will blend
transparent rects with neighboring rects and might
draw a bit of a smudge.

This CL adds the option to skip rects, allowing us
to have compatible behavior with the framework.

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

Review-Url: https://codereview.chromium.org/2305433002
2016-09-02 11:24:30 -07:00
hcm
005327b9dd BUG=skia:5602
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302913002

Review-Url: https://codereview.chromium.org/2302913002
2016-09-02 11:19:34 -07:00
egdaniel
8d2141f0db Small perf optimizations preparing sampled images in vulkan
In our current setup, there is no need for storing the sampled images in an
array and then putting in barriers for them later. If we ever change the
system to building up these secondary command buffers early, we will need
to go back to storing the sampled images.

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

Review-Url: https://codereview.chromium.org/2302333002
2016-09-02 11:19:13 -07:00
borenet
443c5843aa [task scheduler] Add extra_args in tasks.json
NOTREECHECKS=true
BUG=skia:5626
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2301313002

Review-Url: https://codereview.chromium.org/2301313002
2016-09-02 08:58:38 -07:00
mtklein
df0e3ece70 Revert of Force SkPath::getConvexity() cache for thread safety. (patchset #1 id:1 of https://codereview.chromium.org/2300003003/ )
Reason for revert:
I don't see anything else in the roll that could have caused the diff.

Original issue's description:
> Force SkPath::getConvexity() cache for thread safety.
>
> I happened to stumble on this in a run of TSAN:
>     https://luci-milo.appspot.com/swarming/task/30fffe9497dc6310/steps/dm/0/stdout
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300003003
>
> Committed: https://skia.googlesource.com/skia/+/d0634eeb565d706df2e148a33f137c6edf42bf2e

TBR=reed@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/2303303002
2016-09-02 06:51:57 -07:00
tikuta
d9ee597ce0 Add some required packages to tools/install_dependencies.sh
https://skia.org/user/quick/linux

I added following to build skia library.
* freeglut3-dev
* libglu1-mesa-dev
* libosmesa6-dev

Minor:
* fix indent
* sort package list in alphabetical order

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

Review-Url: https://codereview.chromium.org/2303733003
2016-09-02 05:21:40 -07:00
reed
6ae6969434 record drawfilters
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2303033002

Review-Url: https://codereview.chromium.org/2303033002
2016-09-02 04:56:53 -07:00
msarett
400a93bd6c Make swizzler optional for SkPngCodec, refactor xforms
I think is a good redesign that will allow us to handle more png
xforms more efficiently.  And I also think it reduces a bit of
complexity.

PNGs can be RGBA, RGB, Gray, GrayAlpha, Index8.

The swizzler handles all of those input formats and all Skia
output formats.  Swizzler also provides sampling/subsetting.

Color xforms currently only handles RGBA.  So we use the
swizzler to convert to RGBA first.  I've started thinking
about adding RGB, Gray, etc. support for color xforms.
In this case (and the RGBA case), we should skip the
swizzling step.

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

Review-Url: https://codereview.chromium.org/2279313003
2016-09-01 18:32:52 -07:00
msarett
e26a8ad620 Request legacy mode behavior from SkCodec in BitmapRegionDecoder
Png assets look funny when we perform a correct, linear
premultiply.

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

Review-Url: https://codereview.chromium.org/2302953002
2016-09-01 17:47:46 -07:00
mtklein
795423198b GN: Build and link with LLD when using our Clang toolchain.
I am hoping this makes it easier to get *SAN bots going.
Today we're generating a libcompiler_rt.a that's using a
relocation type that the ld on the bots doesn't know about.
This lld is will know about anything our Clang generates.

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

Review-Url: https://codereview.chromium.org/2301273002
2016-09-01 15:51:03 -07:00
mtklein
d592a4e534 The *SAN bots are now all Clang bots.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2306733002

Review-Url: https://codereview.chromium.org/2306733002
2016-09-01 15:49:44 -07:00
mtklein
67f6636b20 Remove tsan.supp.
The remaining suppression (libwebp) is already covered by the
compile-time blacklist, tools/xsan.blacklist.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot,Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-TSAN-Trybot

Review-Url: https://codereview.chromium.org/2300193002
2016-09-01 14:57:35 -07:00
brettw
b944728b93 Move Skia GN sources to a separate .gni file.
This file will be imported by Chrome to access the sources lists.

Once Chrome is updated to use this file, changes to the skia .gypi layout can
be done entirely within the skia repository as long as the resulting lists
produced by the new .gni file have the same name.

Marks skia_for_chromium_defines as obsolete and moves the definition into the new .gni file. We can remove the .gypi file when Chrome is updated.

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

Review-Url: https://codereview.chromium.org/2302803005
2016-09-01 14:24:39 -07:00
halcanary
59be20c8d5 SkPDF: revert changes to CMapName/Registry/Ordering in 3d01c62
BUG=skia:5606
TBR=bungeman@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2305803002

Review-Url: https://codereview.chromium.org/2305803002
2016-09-01 14:10:00 -07:00
mtklein
d0634eeb56 Force SkPath::getConvexity() cache for thread safety.
I happened to stumble on this in a run of TSAN:
    https://luci-milo.appspot.com/swarming/task/30fffe9497dc6310/steps/dm/0/stdout

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

Review-Url: https://codereview.chromium.org/2300003003
2016-09-01 13:49:13 -07:00
rmistry
07f0446e9a Fix PostUploadHook for Gerrit issues
A gerrit change must contain the "Change-Id" at the end. This CL strips
out the changeId from the description and adds it back in at the end.

BUG=skia:5676
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2299303002
NOTRY=true

Review-Url: https://codereview.chromium.org/2299303002
2016-09-01 13:36:31 -07:00
mtklein
3ed1897437 Try removing Ganesh suppression.
Seems ok: https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-TSAN-Trybot/builds/2

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

Review-Url: https://codereview.chromium.org/2301163002
2016-09-01 13:25:25 -07:00
mtklein
ae509db481 GN: expunge all environment variables that have no effect on GN
This should have no practical effect.  I just want to make sure no
environment variables beyond $PATH have any effect on GN builds.

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

Review-Url: https://codereview.chromium.org/2300173002
2016-09-01 13:19:21 -07:00
borenet
de3184fd84 Add infra/bots/tasks.json
This is an initial version which adds a trio of buildbot-less bots. I
expect these to be totally broken while I work out the issues.

In the future, we'll have a script to generate tasks.json.

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

Review-Url: https://codereview.chromium.org/2302983002
2016-09-01 12:32:23 -07:00
mtklein
e01295c22a Lift SkString TSAN suppression, to see what yells.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2295843005

Review-Url: https://codereview.chromium.org/2295843005
2016-09-01 12:04:22 -07:00
mtklein
dbfd7ab108 Replace a lot of 'static const' with 'constexpr' or 'const'.
'static const' means, there must be at most one of these, and initialize it at
compile time if possible or runtime if necessary.  This leads to unexpected
code execution, and TSAN* will complain about races on the guard variables.

Generally 'constexpr' or 'const' are better choices.  Neither can cause races:
they're either intialized at compile time (constexpr) or intialized each time
independently (const).

This CL prefers constexpr where possible, and uses const where not.  It even
prefers constexpr over const where they don't make a difference... I want to have
lots of examples of constexpr for people to see and mimic.

The scoped-to-class static has nothing to do with any of this, and is not changed.

* Not yet on the bots, which use an older TSAN.

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

Review-Url: https://codereview.chromium.org/2300623005
2016-09-01 11:24:54 -07:00
robertphillips
0b629ec732 Disable MSAAPathRender for Android Framework builds
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298613005

Review-Url: https://codereview.chromium.org/2298613005
2016-09-01 10:13:04 -07:00