platform/upstream/libSkiaSharp.git
8 years agoRestructure flushing relationship between GrContext, GrDrawingManager, and GrResource...
bsalomon [Tue, 6 Sep 2016 19:38:00 +0000 (12:38 -0700)]
Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache.

Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough.

Removes the unused and untested discard flush variation.

Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext.

Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the
flush that just occurred.

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

Review-Url: https://codereview.chromium.org/2307053002

8 years agokNumWindows is only used in GPU builds
mtklein [Tue, 6 Sep 2016 18:45:31 +0000 (11:45 -0700)]
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

8 years agocheck for null-layer-paint after prev fix to savelayer ops
reed [Tue, 6 Sep 2016 17:16:47 +0000 (10:16 -0700)]
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

8 years agoDelete SkColorSpace::kUnknown_Named, remove fNamed field
msarett [Tue, 6 Sep 2016 17:01:48 +0000 (10:01 -0700)]
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

8 years agoImprove usage of window rectangles
csmartdalton [Tue, 6 Sep 2016 17:01:06 +0000 (10:01 -0700)]
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

8 years agoWork around VS 2015 Update 3 optimizer internal compiler error
brucedawson [Tue, 6 Sep 2016 16:54:44 +0000 (09:54 -0700)]
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

8 years agoSkDocument: turn off SK_SUPPORT_LEGACY_DOCUMENT_API
halcanary [Tue, 6 Sep 2016 16:32:13 +0000 (09:32 -0700)]
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

8 years agotest dont-clip-layer
reed [Tue, 6 Sep 2016 16:06:18 +0000 (09:06 -0700)]
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

8 years agoprovide safe exit for runaway intersections
caryclark [Tue, 6 Sep 2016 16:05:54 +0000 (09:05 -0700)]
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

8 years agocompare degenerates with tolerance
caryclark [Tue, 6 Sep 2016 15:54:10 +0000 (08:54 -0700)]
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

8 years agoUpdate Windows build to use VULKAN_SDK rather than VK_SDK_PATH
bsalomon [Tue, 6 Sep 2016 15:40:51 +0000 (08:40 -0700)]
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

8 years agoAdd device mapping for Nexus 6p (angler)
kjlubick [Tue, 6 Sep 2016 14:39:30 +0000 (07:39 -0700)]
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

8 years agoRevert of Improve usage of window rectangles (patchset #9 id:160001 of https://codere...
caryclark [Tue, 6 Sep 2016 14:09:53 +0000 (07:09 -0700)]
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

8 years agoRevert of Move uils and sksl to a common sources GYP file. (patchset #1 id:1 of https...
caryclark [Tue, 6 Sep 2016 14:07:52 +0000 (07:07 -0700)]
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

8 years agotest picture-ops for savelayer
reed [Tue, 6 Sep 2016 13:54:41 +0000 (06:54 -0700)]
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

8 years agointerpolation of coincidence must be local to a single span
caryclark [Tue, 6 Sep 2016 12:59:47 +0000 (05:59 -0700)]
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

8 years agoAdd a makeDrawContextWithFallback that handles config fallback
robertphillips [Tue, 6 Sep 2016 12:20:20 +0000 (05:20 -0700)]
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

8 years agoDelete kInvalid_GammaNamed (part 2)
msarett [Mon, 5 Sep 2016 17:33:12 +0000 (10:33 -0700)]
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

8 years agoRevert of Delete SkColorSpace::kUnknown_Named, remove fNamed field (patchset #1 id...
mgiuca [Mon, 5 Sep 2016 11:58:55 +0000 (04:58 -0700)]
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

8 years agoUpdate SKP version
update-skps [Sun, 4 Sep 2016 09:15:51 +0000 (02:15 -0700)]
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

8 years agokNumWindows is only used in GPU builds
mtklein [Sat, 3 Sep 2016 13:17:13 +0000 (06:17 -0700)]
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

8 years agoDelete SkColorSpace::kUnknown_Named, remove fNamed field
msarett [Fri, 2 Sep 2016 21:25:06 +0000 (14:25 -0700)]
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

8 years agoMove uils and sksl to a common sources GYP file.
brettw [Fri, 2 Sep 2016 21:01:07 +0000 (14:01 -0700)]
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

8 years agopdfium: Fix the pdfium builder.
jcgregorio [Fri, 2 Sep 2016 19:36:05 +0000 (12:36 -0700)]
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

8 years ago[task scheduler] Fix CIPD package versions
borenet [Fri, 2 Sep 2016 19:16:56 +0000 (12:16 -0700)]
[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

8 years agoremove unused SkDevice::setMatrixClip
reed [Fri, 2 Sep 2016 19:10:07 +0000 (12:10 -0700)]
remove unused SkDevice::setMatrixClip

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

Review-Url: https://codereview.chromium.org/2308733002

8 years agoImprove usage of window rectangles
csmartdalton [Fri, 2 Sep 2016 18:36:25 +0000 (11:36 -0700)]
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

8 years agoSkMakeUnique.h defines skstd::make_unique<T>(Args...)
halcanary [Fri, 2 Sep 2016 18:29:46 +0000 (11:29 -0700)]
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

8 years agoInclude $extra_ldflags in link descriptions.
mtklein [Fri, 2 Sep 2016 18:24:50 +0000 (11:24 -0700)]
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

8 years agoAdd option to skip rects to drawImageLattice()
msarett [Fri, 2 Sep 2016 18:24:30 +0000 (11:24 -0700)]
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

8 years agoBUG=skia:5602
hcm [Fri, 2 Sep 2016 18:19:34 +0000 (11:19 -0700)]
BUG=skia:5602
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2302913002

Review-Url: https://codereview.chromium.org/2302913002

8 years agoSmall perf optimizations preparing sampled images in vulkan
egdaniel [Fri, 2 Sep 2016 18:19:13 +0000 (11:19 -0700)]
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

8 years ago[task scheduler] Add extra_args in tasks.json
borenet [Fri, 2 Sep 2016 15:58:37 +0000 (08:58 -0700)]
[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

8 years agoRevert of Force SkPath::getConvexity() cache for thread safety. (patchset #1 id:1...
mtklein [Fri, 2 Sep 2016 13:51:57 +0000 (06:51 -0700)]
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

8 years agoAdd some required packages to tools/install_dependencies.sh
tikuta [Fri, 2 Sep 2016 12:21:40 +0000 (05:21 -0700)]
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

8 years agorecord drawfilters
reed [Fri, 2 Sep 2016 11:56:53 +0000 (04:56 -0700)]
record drawfilters

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

Review-Url: https://codereview.chromium.org/2303033002

8 years agoMake swizzler optional for SkPngCodec, refactor xforms
msarett [Fri, 2 Sep 2016 01:32:52 +0000 (18:32 -0700)]
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

8 years agoRequest legacy mode behavior from SkCodec in BitmapRegionDecoder
msarett [Fri, 2 Sep 2016 00:47:46 +0000 (17:47 -0700)]
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

8 years agoGN: Build and link with LLD when using our Clang toolchain.
mtklein [Thu, 1 Sep 2016 22:51:03 +0000 (15:51 -0700)]
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

8 years agoThe *SAN bots are now all Clang bots.
mtklein [Thu, 1 Sep 2016 22:49:44 +0000 (15:49 -0700)]
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

8 years agoRemove tsan.supp.
mtklein [Thu, 1 Sep 2016 21:57:35 +0000 (14:57 -0700)]
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

8 years agoMove Skia GN sources to a separate .gni file.
brettw [Thu, 1 Sep 2016 21:24:39 +0000 (14:24 -0700)]
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

8 years agoSkPDF: revert changes to CMapName/Registry/Ordering in 3d01c62
halcanary [Thu, 1 Sep 2016 21:10:00 +0000 (14:10 -0700)]
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

8 years agoForce SkPath::getConvexity() cache for thread safety.
mtklein [Thu, 1 Sep 2016 20:49:13 +0000 (13:49 -0700)]
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

8 years agoFix PostUploadHook for Gerrit issues
rmistry [Thu, 1 Sep 2016 20:36:31 +0000 (13:36 -0700)]
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

8 years agoTry removing Ganesh suppression.
mtklein [Thu, 1 Sep 2016 20:25:25 +0000 (13:25 -0700)]
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

8 years agoGN: expunge all environment variables that have no effect on GN
mtklein [Thu, 1 Sep 2016 20:19:20 +0000 (13:19 -0700)]
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

8 years agoAdd infra/bots/tasks.json
borenet [Thu, 1 Sep 2016 19:32:23 +0000 (12:32 -0700)]
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

8 years agoLift SkString TSAN suppression, to see what yells.
mtklein [Thu, 1 Sep 2016 19:04:22 +0000 (12:04 -0700)]
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

8 years agoReplace a lot of 'static const' with 'constexpr' or 'const'.
mtklein [Thu, 1 Sep 2016 18:24:54 +0000 (11:24 -0700)]
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

8 years agoDisable MSAAPathRender for Android Framework builds
robertphillips [Thu, 1 Sep 2016 17:13:04 +0000 (10:13 -0700)]
Disable MSAAPathRender for Android Framework builds
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298613005

Review-Url: https://codereview.chromium.org/2298613005

8 years agoEnable Gerrit support in Skia's PostUploadHook
rmistry [Thu, 1 Sep 2016 16:54:01 +0000 (09:54 -0700)]
Enable Gerrit support in Skia's PostUploadHook

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

Review-Url: https://codereview.chromium.org/2299203002

8 years agoUse methods from depot_tool's Changelist object instead of Rietveld RPC
rmistry [Thu, 1 Sep 2016 16:52:32 +0000 (09:52 -0700)]
Use methods from depot_tool's Changelist object instead of Rietveld RPC

This will make support for both Gerrit and Rietveld easier.

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

Review-Url: https://codereview.chromium.org/2307593002

8 years agoGN: add extra_ldflags
mtklein [Thu, 1 Sep 2016 16:15:44 +0000 (09:15 -0700)]
GN: add extra_ldflags

This is mostly just handy for hacking around while building out other GN features.

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

Review-Url: https://codereview.chromium.org/2300963003

8 years agoSkFontMgr_FontConfigInterface create typeface from FontParameters.
bungeman [Thu, 1 Sep 2016 15:52:29 +0000 (08:52 -0700)]
SkFontMgr_FontConfigInterface create typeface from FontParameters.

This implements
SkFontMgr_FontConfigInterface::onCreateFromStream(SkStreamAsset*, const FontParameters&)
and makes the changes needed to support it. This will allow Chromium to
create variation fonts from data.

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

Review-Url: https://codereview.chromium.org/2296843002

8 years agoRemove some useless declarations
sylvestre.ledru [Thu, 1 Sep 2016 15:47:44 +0000 (08:47 -0700)]
Remove some useless declarations

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

Review-Url: https://codereview.chromium.org/2270613003

8 years agopreserve GN_Android in compile -> test mapper
mtklein [Thu, 1 Sep 2016 15:47:25 +0000 (08:47 -0700)]
preserve GN_Android in compile -> test mapper

doesn't seem anything tests this?

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

Review-Url: https://codereview.chromium.org/2306603002

8 years agoEnable the screenspace AA tessellating path renderer.
senorblanco [Thu, 1 Sep 2016 15:22:58 +0000 (08:22 -0700)]
Enable the screenspace AA tessellating path renderer.

This will enable the new path renderer in Skia. It is still disabled
in Chrome, to protect layout test results.

Note: this will cause minor pixel diffs in a number of GMs' GPU results,
including drawregionmodes, dstreadshuffle, smallarc, path-reverse,
bug339297, parsedpaths, zero_control_stroke, strokedlines, smallpaths,
circular_arcs_stroke_round, concavepaths, circular_arcs_stroke_square,
clipcubic, arcto, persp_shaders_aa, complexclip3_complex,
circular_arcs_stroke_and_fill_butt, complexclip_aa,
complexclip_aa_layer, complexclip_aa_invert, complexclip3_simple,
complexclip_aa_layer_invert, shadertext, shadertext2,
convex-lineonly-paths-stroke-and-fill, poly2poly, glyph_pos_h_b,
glyph_pos_h_f, glyph_pos_n_f, and glyph_pos_n_s.

Note: it also "fixes" crbug_640176, or more accurately, hides the
failure, since the default path renderer likely still has the bug.

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

Review-Url: https://codereview.chromium.org/2303743002

8 years agoRemove a duplicate declaration
sylvestre.ledru [Thu, 1 Sep 2016 15:17:02 +0000 (08:17 -0700)]
Remove a duplicate declaration

Merge branch 'master' of github.com:google/skia

Remove a useless declaration

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

Review-Url: https://codereview.chromium.org/2288603002

8 years agoRemove empty {lsan,ubsan}.supp files.
mtklein [Thu, 1 Sep 2016 15:08:03 +0000 (08:08 -0700)]
Remove empty {lsan,ubsan}.supp files.

We never used ubsan.supp,
and LSAN suppressions are now built into the test binaries.

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

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

Review-Url: https://codereview.chromium.org/2302803003

8 years agominor SkSL changes to avoid compiler errors in Chromium
ethannicholas [Thu, 1 Sep 2016 14:59:02 +0000 (07:59 -0700)]
minor SkSL changes to avoid compiler errors in Chromium

* fixed a couple of spots where using { } instead of an explicit constructor call resulted in errors
* Type::Field had a deleted copy constructor and therefore was not working inside std::vector; had to remove const from fields and change fType from a reference to a pointer

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

Review-Url: https://codereview.chromium.org/2300023002

8 years agoAdd contributor to Skia AUTHORS file
hcm [Thu, 1 Sep 2016 14:55:43 +0000 (07:55 -0700)]
Add contributor to Skia AUTHORS file

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

Review-Url: https://codereview.chromium.org/2303753002

8 years agoFix ASAN int overflow error in GLProgramsTest
bsalomon [Thu, 1 Sep 2016 14:20:29 +0000 (07:20 -0700)]
Fix ASAN int overflow error in GLProgramsTest

TBR=senorblanco@chromium.org
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289143006

Review-Url: https://codereview.chromium.org/2289143006

8 years agoBuild LSAN suppressions into the test binaries.
mtklein [Thu, 1 Sep 2016 14:06:54 +0000 (07:06 -0700)]
Build LSAN suppressions into the test binaries.

This way you don't need to set LSAN_SUPPRESSIONS in your environment...
sort of foolproof this way.

I _think_ the strdup() business from skia:2916 is actually rooted in
libfontconfig, so one suppression should cover both old ones.

I'll leave the file empty until I clean up mention of it in bot recipes.

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

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

Review-Url: https://codereview.chromium.org/2295153003

8 years agoBlame this for GTX960 diffs.
benjaminwagner [Thu, 1 Sep 2016 12:38:54 +0000 (05:38 -0700)]
Blame this for GTX960 diffs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300983002
NOTREECHECKS=true
NOTRY=true
TBR=csmartdalton@google.com

Review-Url: https://codereview.chromium.org/2300983002

8 years agoFlush some non-substantive Ganesh changes
robertphillips [Wed, 31 Aug 2016 22:06:24 +0000 (15:06 -0700)]
Flush some non-substantive Ganesh changes

Split out of: https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

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

Review-Url: https://codereview.chromium.org/2299523004

8 years agoAdd read/write-Pixels to GrDrawContext
robertphillips [Wed, 31 Aug 2016 21:54:15 +0000 (14:54 -0700)]
Add read/write-Pixels to GrDrawContext

Although not absolutely required this does remove another case where the drawContext's backing store is accessed.

Broken out of: https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

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

Review-Url: https://codereview.chromium.org/2298253002

8 years agopathops coincident work
caryclark [Wed, 31 Aug 2016 21:36:29 +0000 (14:36 -0700)]
pathops coincident work

This is working towards fixing all bugs around simplifying the tiger.

This installment simplifies the point-t intersection list as it is built rather than doing the analysis once the intersections are complete. This avoids getting the list in an inconsistent state and makes coincident checks faster and more stable.

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

TBR=reed@google.com
BUG=skia:5131

Review-Url: https://codereview.chromium.org/2237223002

8 years agoHave GrSurfaceProxys and GrGpuResources draw from the same pool of unique ids
robertphillips [Wed, 31 Aug 2016 21:04:06 +0000 (14:04 -0700)]
Have GrSurfaceProxys and GrGpuResources draw from the same pool of unique ids

The idea here is that, for wrapped Proxy objects, we want the uniqueID to reflect that of the wrapped object. For this to work the IDs for the non-wrapped versions can't conflict with GrGpuResource's pool of IDs.

Split off of: https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

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

Review-Url: https://codereview.chromium.org/2301523003

8 years agoMove clip mask generation into GrReducedClip
csmartdalton [Wed, 31 Aug 2016 19:54:46 +0000 (12:54 -0700)]
Move clip mask generation into GrReducedClip

This is a temporary solution to facilitate window rectangles and make
clip mask generation more accessible for testing. The eventual goal is
to simplify clips and merge GrReducedClip into GrClipStackClip.

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

Review-Url: https://codereview.chromium.org/2263343002

8 years agoSkPDF: Fix Type3 ToUnicode table.
halcanary [Wed, 31 Aug 2016 19:52:35 +0000 (12:52 -0700)]
SkPDF: Fix Type3 ToUnicode table.

This seems to fix text extraction on Adobe Reader

  - Registry/Ordering is now set to Skia/SkiaOrdering.
  - Type3 fonts now get a FontDescriptor (force symbolic font).
  - CMapName is now Skia-Identity-SkiaOrdering
  - CMap behaves correctly for single-byte fonts.

Also:
  - SkTestTypeface returns tounicode map for testing.
  - Unit test updated

All PDFs render the same

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

Review-Url: https://codereview.chromium.org/2292303004

8 years agoUpdate FreeType dependency from 2.6.1 to 2.6.5.
bungeman [Wed, 31 Aug 2016 19:48:18 +0000 (12:48 -0700)]
Update FreeType dependency from 2.6.1 to 2.6.5.

6a19a7d332c5446542196e5aeda0ede109ef097b
4d3f7ca8cedbddad40b9e93a82926618e3fb4265

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

Review-Url: https://codereview.chromium.org/2302493002

8 years agoFix up presubmit for SAN GCC->Clang fix.
mtklein [Wed, 31 Aug 2016 19:43:14 +0000 (12:43 -0700)]
Fix up presubmit for SAN GCC->Clang fix.

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

Review-Url: https://codereview.chromium.org/2302553002

8 years agoAdd and use a clang_linux asset.
mtklein [Wed, 31 Aug 2016 19:35:21 +0000 (12:35 -0700)]
Add and use a clang_linux asset.

This gives us a consistent Clang toolchain on Linux bots,
most importantly for *SAN bots.  It's ~300MB unpacked.

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

Review-Url: https://codereview.chromium.org/2294353002

8 years agoDefine clear regions in terms of GrFixedClip
csmartdalton [Wed, 31 Aug 2016 18:55:52 +0000 (11:55 -0700)]
Define clear regions in terms of GrFixedClip

Updates clear APIs to take GrFixedClip instead of a rectangle. This
will allow us to use window rectangles with clears. Removes stencil
knobs from GrFixedClip.

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

Review-Url: https://codereview.chromium.org/2262473003

8 years agoDon't purge resources for trivial GrContext flushes
bsalomon [Wed, 31 Aug 2016 18:53:49 +0000 (11:53 -0700)]
Don't purge resources for trivial GrContext flushes
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298003003

Review-Url: https://codereview.chromium.org/2298003003

8 years agoadded point light attenuations to raster
vjiaoblack [Wed, 31 Aug 2016 18:48:29 +0000 (11:48 -0700)]
added point light attenuations to raster

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

Review-Url: https://codereview.chromium.org/2298603004

8 years agoOptimizations and more documentation of SkShadowShader
vjiaoblack [Wed, 31 Aug 2016 18:15:21 +0000 (11:15 -0700)]
Optimizations and more documentation of SkShadowShader

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

Review-Url: https://codereview.chromium.org/2285133002

8 years agoIn VulkanWindowContext add check to see if ganesh changed the layout of the image.
egdaniel [Wed, 31 Aug 2016 18:03:50 +0000 (11:03 -0700)]
In VulkanWindowContext add check to see if ganesh changed the layout of the image.

BUG=skia:

Review-Url: https://codereview.chromium.org/2299663002

8 years agoScreenspace AA tessellated GPU path rendering.
senorblanco [Wed, 31 Aug 2016 17:36:19 +0000 (10:36 -0700)]
Screenspace AA tessellated GPU path rendering.

This is an approach to antialiased concave path rendering
on the GPU without using MSAA. It uses GrTessellator to
extract boundary contours from the given path, then
inflates by half a pixel in screen space each direction,
then renders the result with zero alpha on the outer
contour and one alpha on in the inner contour. This
requires two passes through the tessellation code: one
to extract the boundaries, then one to tessellate the
result.

This gives approximately a 3X improvement on the IE
chalkboard demo in non-MSAA mode, a 30-40% improvement
on MotionMark's "Fill Paths", and a ~3X improvement on
MotionMark's "canvas arcTo segments".

It works best for large, simple paths, so there's currently
a limit of 10 verbs in the onCanDrawPath() check. This
dovetails nicely with the distance field path renderer's
support for small, detailed (and cached) paths.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1152733009

NOTRY=true

Review-Url: https://codereview.chromium.org/1152733009

8 years agoAlways add a barrier when old layout was general in vulkan.
egdaniel [Wed, 31 Aug 2016 17:13:08 +0000 (10:13 -0700)]
Always add a barrier when old layout was general in vulkan.

When we have a general layout, we need to always add a barrier even if
leaving the layout in general since we don't know what the use case for
general was with the old layout.

This doesn't seem to fix any of our synchronization issues which makes
sense since we don't really use a general layout much. The only place it
is used is for mipmap generation, but then we add explicit barriers in
that function itself and the first use of the image after mipmap generation
will change the layout to something other than general, usually SHADER_READ.

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

Review-Url: https://codereview.chromium.org/2298483002

8 years agoRevert of Screenspace AA tessellated path rendering. (patchset #37 id:730001 of https...
senorblanco [Wed, 31 Aug 2016 16:31:37 +0000 (09:31 -0700)]
Revert of Screenspace AA tessellated path rendering. (patchset #37 id:730001 of https://codereview.chromium.org/1152733009/ )

Reason for revert:
Causing asserts in GLPrograms test on Mac.

Original issue's description:
> Screenspace AA tessellated GPU path rendering.
>
> This is an approach to antialiased concave path rendering
> on the GPU without using MSAA. It uses GrTessellator to
> extract boundary contours from the given path, then
> inflates by half a pixel in screen space each direction,
> then renders the result with zero alpha on the outer
> contour and one alpha on in the inner contour. This
> requires two passes through the tessellation code: one
> to extract the boundaries, then one to tessellate the
> result.
>
> This gives approximately a 3X improvement on the IE
> chalkboard demo in non-MSAA mode, a 30-40% improvement
> on MotionMark's "Fill Paths", and a ~3X improvement on
> MotionMark's "canvas arcTo segments".
>
> It works best for large, simple paths, so there's currently
> a limit of 10 verbs in the onCanDrawPath() check. This
> dovetails nicely with the distance field path renderer's
> support for small, detailed (and cached) paths.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1152733009
>
> Committed: https://skia.googlesource.com/skia/+/9992bdef8ae97b3e5b109d278ccfab84c66bcbf0

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/2299683002

8 years agoswitch CQ over to GN_Android compile bots
mtklein [Wed, 31 Aug 2016 15:42:06 +0000 (08:42 -0700)]
switch CQ over to GN_Android compile bots

These are going to replace the old compile bots.

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

Review-Url: https://codereview.chromium.org/2294303002

8 years agoScreenspace AA tessellated GPU path rendering.
senorblanco [Wed, 31 Aug 2016 15:41:57 +0000 (08:41 -0700)]
Screenspace AA tessellated GPU path rendering.

This is an approach to antialiased concave path rendering
on the GPU without using MSAA. It uses GrTessellator to
extract boundary contours from the given path, then
inflates by half a pixel in screen space each direction,
then renders the result with zero alpha on the outer
contour and one alpha on in the inner contour. This
requires two passes through the tessellation code: one
to extract the boundaries, then one to tessellate the
result.

This gives approximately a 3X improvement on the IE
chalkboard demo in non-MSAA mode, a 30-40% improvement
on MotionMark's "Fill Paths", and a ~3X improvement on
MotionMark's "canvas arcTo segments".

It works best for large, simple paths, so there's currently
a limit of 10 verbs in the onCanDrawPath() check. This
dovetails nicely with the distance field path renderer's
support for small, detailed (and cached) paths.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1152733009

Review-Url: https://codereview.chromium.org/1152733009

8 years agoAdd some copy support for vulkan msaa
egdaniel [Wed, 31 Aug 2016 14:37:31 +0000 (07:37 -0700)]
Add some copy support for vulkan msaa

This allows us to do copies from:
    msaa->msaa with same sample count
    msaa->no-msaa with a resolve

Still missing support for no-msaa to msaa which will require a copyAsDraw
which is currently stalled and fixing possible driver bugs.

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

Review-Url: https://codereview.chromium.org/2294533002

8 years agoGN: forgot Clang+ccache fix on Android. And sort.
mtklein [Wed, 31 Aug 2016 12:03:31 +0000 (05:03 -0700)]
GN: forgot Clang+ccache fix on Android.  And sort.

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

No trybots for these yet...
NOTRY=true
TBR=jcgregorio@google.com

Review-Url: https://codereview.chromium.org/2298203002

8 years agoGN: add sources_when_disabled to optional
mtklein [Wed, 31 Aug 2016 11:58:19 +0000 (04:58 -0700)]
GN: add sources_when_disabled to optional

Also make sources_when_disabled and public_defines optional arguments.
These are the two mechanisms code uses to turn itself off...
probably at most one is ever used per optional.

Update fiddle to not crash when there's no PDF backend.

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

Review-Url: https://codereview.chromium.org/2292343003

8 years agoWhitespace change
msarett [Tue, 30 Aug 2016 20:51:10 +0000 (13:51 -0700)]
Whitespace change

TBR=djsollen@google.com
NOTRY=true
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2297833003

Review-Url: https://codereview.chromium.org/2297833003

8 years agoRemove SkBitmap::getTexture()
bsalomon [Tue, 30 Aug 2016 19:52:49 +0000 (12:52 -0700)]
Remove SkBitmap::getTexture()
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289313002

Review-Url: https://codereview.chromium.org/2289313002

8 years agoStore mipmap levels in deferred texture image
cblume [Tue, 30 Aug 2016 19:09:23 +0000 (12:09 -0700)]
Store mipmap levels in deferred texture image

This is a follow-up to https://codereview.chromium.org/2115023002/ and
https://codereview.chromium.org/2034933003/ which were reverted due to
an access violation and a memory leak, respectively.

When creating the deferred texture image, detect if using medium / high
quality. If so, generate and store mipmaps in the deferred texture
image.

When creating a texture from that be sure to read it back out.

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

Review-Url: https://codereview.chromium.org/2242883004

8 years agomade raster shadows variance shadows
vjiaoblack [Tue, 30 Aug 2016 19:03:37 +0000 (12:03 -0700)]
made raster shadows variance shadows

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

Review-Url: https://codereview.chromium.org/2297693002

8 years agoRevert of SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName. (patchset...
halcanary [Tue, 30 Aug 2016 18:58:52 +0000 (11:58 -0700)]
Revert of SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName. (patchset #3 id:40001 of https://codereview.chromium.org/2258233002/ )

Reason for revert:
forgot to roll sfntly in android!

Original issue's description:
> SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName.
>
> Also, minor code refactoring.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2258233002
>
> Committed: https://skia.googlesource.com/skia/+/fce190647285423bf36c44bca09db78a6af30f9f

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/2296683004

8 years agoSkTextBlob: Begin implementing Extended TextBlob API
halcanary [Tue, 30 Aug 2016 18:58:33 +0000 (11:58 -0700)]
SkTextBlob:  Begin implementing Extended TextBlob API

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

Review-Url: https://codereview.chromium.org/2084533004

8 years agoIncrease run_benchmarks timeout because the two Chromium page sets can take a while
rmistry [Tue, 30 Aug 2016 18:50:23 +0000 (11:50 -0700)]
Increase run_benchmarks timeout because the two Chromium page sets can take a while

BUG=skia:5700
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298453002
# Trybots do not exercise this code.
NOTRY=true
TBR=borenet

Review-Url: https://codereview.chromium.org/2298453002

8 years agoclean up use of register storage class
mtklein [Tue, 30 Aug 2016 18:49:24 +0000 (11:49 -0700)]
clean up use of register storage class

This fixes this warning-as-error, so we don't have to stifle it any more:
    error: 'register' storage class specifier is deprecated and incompatible with C++1z [-Werror,-Wdeprecated-register]

Tested by building for mipsel via GN.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289293002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2289293002

8 years agoSkPDF: SK_SFNTLY_SUBSETTER is gone
halcanary [Tue, 30 Aug 2016 18:07:01 +0000 (11:07 -0700)]
SkPDF: SK_SFNTLY_SUBSETTER is gone

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

Review-Url: https://codereview.chromium.org/2296823002

8 years agoDetect TSAN instead of relying on #ifdef THREAD_SANITIZER.
mtklein [Tue, 30 Aug 2016 17:45:17 +0000 (10:45 -0700)]
Detect TSAN instead of relying on #ifdef THREAD_SANITIZER.

And reindent.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot

Review-Url: https://codereview.chromium.org/2293063002

8 years agoSkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName.
halcanary [Tue, 30 Aug 2016 17:43:48 +0000 (10:43 -0700)]
SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName.

Also, minor code refactoring.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2258233002

Review-Url: https://codereview.chromium.org/2258233002

8 years agoGN: add sksl
mtklein [Tue, 30 Aug 2016 17:37:19 +0000 (10:37 -0700)]
GN: add sksl

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

Review-Url: https://codereview.chromium.org/2296803002

8 years agoRemove unneeded variables from ResourceCache test
bsalomon [Tue, 30 Aug 2016 17:27:20 +0000 (10:27 -0700)]
Remove unneeded variables from ResourceCache test
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2295883002

Review-Url: https://codereview.chromium.org/2295883002