Commit Graph

25171 Commits

Author SHA1 Message Date
Yuqian Li
c4f66af20e Catch width overflow
BUG=chromium:662730

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

Change-Id: Iaf3a30d39fda3166a6f8fc62a30580629418dc88
Reviewed-on: https://skia-review.googlesource.com/4628
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2016-11-11 16:11:52 +00:00
Leon Scroggins
b0b5360ae4 Revert "skslc now uses standard Skia caps"
This reverts commit 8af38a9647.

Reason for revert: Breaking compile bots, e.g. from https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Debug-NoGPU/builds/10029/steps/compile_skia%20on%20Ubuntu/logs/stdio :

In function `sk_make_sp<GrGLSLCaps, GrContextOptions>'
undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&)

In function `_Z10sk_make_spI10GrGLSLCapsI16GrContextOptionsEE5sk_spIT_EDpOT0_':
undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&)




Original change's description:
> skslc now uses standard Skia caps
> 
> BUG=skia:
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4660
> 
> Change-Id: Idaedae3f81426b97f5052bb872cdf0610e47a84f
> Reviewed-on: https://skia-review.googlesource.com/4660
> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> 

TBR=bsalomon@google.com,benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ic7f987f5c050ac2e333f5a0f16c8de85c1047a74
Reviewed-on: https://skia-review.googlesource.com/4697
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2016-11-11 15:51:01 +00:00
Ethan Nicholas
8af38a9647 skslc now uses standard Skia caps
BUG=skia:

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

Change-Id: Idaedae3f81426b97f5052bb872cdf0610e47a84f
Reviewed-on: https://skia-review.googlesource.com/4660
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2016-11-11 14:33:34 +00:00
Mike Klein
c51a3a4e3c Annotate benign race on SkPath::fConvexity.
We're tired of this making our TSAN bot flaky, and equally tired of trying to fix it.

BUG=skia:5776

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

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

Change-Id: Ib6005282c514a6d785fd4fffe5387cbb1caccbe1
Reviewed-on: https://skia-review.googlesource.com/4691
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2016-11-10 23:52:52 +00:00
Kevin Lubick
416b248312 Avoid platform-dependent function params in Fuzzer
We use this approach instead of T next() because different compilers
evaluate function parameters in different orders. If fuzz->next()
returned 5 and then 7, foo(fuzz->next(), fuzz->next()) would be
foo(5, 7) when compiled on GCC and foo(7, 5) when compiled on Clang.
By requiring params to be passed in, we avoid the temptation to call 
next() in a way that does not consume fuzzed bytes in a single 
platform-independent order.

BUG=skia:

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

Change-Id: I35de849f82e8be45378f662a48100eb732fa8895
Reviewed-on: https://skia-review.googlesource.com/4392
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2016-11-10 22:52:03 +00:00
Ben Wagner
2512db21f4 Check and report FreeType error.
BUG=chromium:648959

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

Change-Id: Ibc3cd5ddf37926accf1b7bf0959668510de903a8
Reviewed-on: https://skia-review.googlesource.com/4685
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2016-11-10 22:16:27 +00:00
Heather Miller
b613c266df Revert "Change SkCanvas to *not* inherit from SkRefCnt"
This reverts commit 8240750718.

Reason for revert: Breaking WebView (chromium:663959)

Original change's description:
> Change SkCanvas to *not* inherit from SkRefCnt
> 
> Definitely tricky for classes like SkNWayCanvas, where the caller (today)
> need not pay attention to ownership of the canvases it gave the NWay
> (after this CL, the caller *must* managed ownership)
> 
> BUG=skia:
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4441
> 
> DOCS_PREVIEW= https://skia.org/?cl=4441
> 
> Change-Id: Ib1ac07a3cdf0686d78e7aaa4735d45cc90bea081
> Reviewed-on: https://skia-review.googlesource.com/4441
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> 

TBR=djsollen@google.com,mtklein@google.com,halcanary@google.com,robertphillips@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I5e3b3e876b7d2c09833cf841801321033b6b968b
Reviewed-on: https://skia-review.googlesource.com/4687
Commit-Queue: Heather Miller <hcm@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
2016-11-10 21:25:44 +00:00
Heather Miller
fac8db2df8 Revert "Fix BUG=chromium:664036"
This reverts commit 805eb6c777.

Reason for revert: Backing up to original change causing issues w/ WebView (chromium:663959)

Original change's description:
> Fix BUG=chromium:664036
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4659
> 
> Change-Id: Idac00fef9cac023649a50d9c70d107f988fd2510
> Reviewed-on: https://skia-review.googlesource.com/4659
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>
> 

TBR=halcanary@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1c3258a3d46a713e9fa60fef829b8b6c6d73b2c4
Reviewed-on: https://skia-review.googlesource.com/4686
Commit-Queue: Heather Miller <hcm@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
2016-11-10 21:22:07 +00:00
Kevin Lubick
9c2249f51c skpbench: add utility to format results for Skia Perf
Adds skiaperf.py for formatting skpbench.py outputs for Skia Perf.
Also renames parseskpbench.py to sheet.py.

BUG=skia:

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

Change-Id: I758678e1c589b15ec2d07c43e4921663e919b47b
Reviewed-on: https://skia-review.googlesource.com/4657
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2016-11-10 20:00:56 +00:00
Hal Canary
399bbd96ac Fix BUG=skia:5662
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4661

Change-Id: I5f5b10387be5d538347a3626c165cc17af154212
Reviewed-on: https://skia-review.googlesource.com/4661
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2016-11-10 18:39:31 +00:00
Leon Scroggins
9c7edb8311 Revert "Add integer texture support."
This reverts commit 434c534bd0.

Reason for revert: Undefined behavior. From

https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/1272/steps/test_skia%20on%20Ubuntu/logs/stdio

../../../tests/IntTextureTest.cpp:51:44: runtime error: left shift of negative value -1
    #0 0x2257480 in test_IntTexture(skiatest::Reporter*, sk_gpu_test::ContextInfo const&) (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x2257480)
    #1 0x1ca1066 in skiatest::RunWithGPUTestContexts(void (*)(skiatest::Reporter*, sk_gpu_test::ContextInfo const&), bool (*)(sk_gpu_test::GrContextFactory::ContextType), skiatest::Reporter*, sk_gpu_test::GrContextFactory*) (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1ca1066)
    #2 0x1ca080d in run_test(skiatest::Test) (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1ca080d)
    #3 0x1c9e5e9 in dm_main() (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1c9e5e9)
    #4 0x7f2d2ba8df44 in __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287
    #5 0x1bb3028 in _start (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1bb3028)

SUMMARY: AddressSanitizer: undefined-behavior ../../../tests/IntTextureTest.cpp:51:44 in 
step returned non-zero exit code: 1


Original change's description:
> Add integer texture support.
> 
> This allows us to create integer textures and sample them from a GrProcessor's code.
> 
> Filtering is limited to NEAREST.
> 
> Adds tests for reading/writing pixels, copying, and drawing. These operations are not allowed to convert to fixed/float configs.
> 
> Vulkan support is TBD.
> 
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4348
> 
> Change-Id: If38d89a03285d4bd98d1f14f9638b0320977e43d
> Reviewed-on: https://skia-review.googlesource.com/4348
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> 

TBR=bsalomon@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I39f1a0a0dd3e6cde1143c8cc1217d2e3d5977b21
Reviewed-on: https://skia-review.googlesource.com/4663
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2016-11-10 18:32:14 +00:00
Hal Canary
805eb6c777 Fix BUG=chromium:664036
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4659

Change-Id: Idac00fef9cac023649a50d9c70d107f988fd2510
Reviewed-on: https://skia-review.googlesource.com/4659
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2016-11-10 17:52:21 +00:00
Hal Canary
970225b2ba SkPDF: paths as rects when possible
http://crrev.com/2269593003

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

Change-Id: I12e238e8f00ac1c54a1b8dcf82a5502240563288
Reviewed-on: https://skia-review.googlesource.com/4652
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2016-11-10 17:23:51 +00:00
Brian Salomon
434c534bd0 Add integer texture support.
This allows us to create integer textures and sample them from a GrProcessor's code.

Filtering is limited to NEAREST.

Adds tests for reading/writing pixels, copying, and drawing. These operations are not allowed to convert to fixed/float configs.

Vulkan support is TBD.


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

Change-Id: If38d89a03285d4bd98d1f14f9638b0320977e43d
Reviewed-on: https://skia-review.googlesource.com/4348
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2016-11-10 17:13:34 +00:00
Florin Malita
e13a69baac Simplify SkBitmapProvider
We're no longer using SkBitmap sources for SkBitmapProvider, so we can
restrict it to SkImage only.

At this point we could also remove it, but I think it'll come in handy
when we add shader subset support.

BUG=skia:5806
R=reed@google.com

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

Change-Id: I298da253cc8f7c1205b543521e62060a202a9f78
Reviewed-on: https://skia-review.googlesource.com/4655
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2016-11-10 17:05:07 +00:00
Ravi Mistry
152ad7e7fb Update skia.org docs to reference Gerrit instead of Rietveld
BUG=skia:5958

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4648
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=4648

Change-Id: I6a57b7f9b92f6b769ba2b78f8e0ab9f4ae7bb24e
Reviewed-on: https://skia-review.googlesource.com/4648
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
2016-11-10 16:20:59 +00:00
csmartdalton
49df770318 skpbench: add "resultsfile" option
BUG=skia:

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

Change-Id: I1a26eddb40de1398cad5348d3fe0ba397a87dbb0
Reviewed-on: https://skia-review.googlesource.com/4654
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2016-11-10 16:08:12 +00:00
Yuqian Li
ca85fc3159 Snug the clip with path bounds inside SkAAClip
https://codereview.chromium.org/2482193004/ is related with this patch.

BUG=skia:

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

Change-Id: Ibd6d64578e08c75a3cfcef45489afc9b59ad40be
Reviewed-on: https://skia-review.googlesource.com/4636
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-10 15:13:46 +00:00
xiangze.zhang
3f321351c9 Make SSE2/Neon convolution functions not to read extra bytes
This change makes SSE2/Neon horizontal convolution functions do not read
extra pixels past the end of the buffer. So we can remove all the SIMD
specific logic in SkConvolver to deal with last couple of rows and also
avoid applying padding to convolution filters.

Performance impact is small. Nanobench time change:
                              SSE2    NEON
bitmap_scale_filter_64_256     1%     -2%
bitmap_scale_filter_256_64     1%      2%
bitmap_scale_filter_90_10      1%     -1%
bitmap_scale_filter_90_30      1%      0%
bitmap_scale_filter_90_80      1%      0%
bitmap_scale_filter_90_90      1%      1%
bitmap_scale_filter_80_90      0%      0%
bitmap_scale_filter_30_90      3%      6%
bitmap_scale_filter_10_90      0%      2%

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481733003
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/2481733003
2016-11-10 05:44:32 -08:00
Matt Sarett
aa34f7ea58 Clamp parametric gamma values to 0-1 range
BUG=skia:

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

Change-Id: I1c6963da956500deea559d5ece31529add89980a
Reviewed-on: https://skia-review.googlesource.com/4641
Reviewed-by: Robert Aftias <raftias@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2016-11-10 13:22:50 +00:00
csmartdalton
2087dda163 skpbench: remove --path flag
Replaces the confusing --path flag with a positional argument that
gives the path to the skpbench binary.

BUG=skia:

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

Change-Id: I2b5eeca61ec85e7fe45fd3370625eddf34a2fd0e
Reviewed-on: https://skia-review.googlesource.com/4635
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2016-11-10 12:52:14 +00:00
Eric Boren
1f2f64b4ce [nobuildbot] Copy timeouts from swarm_trigger
BUG=skia:

TBR=benjaminwagner
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4642

Change-Id: Ia81609af8ae11c0171c99c459e8711fa786c1e20
Reviewed-on: https://skia-review.googlesource.com/4642
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2016-11-10 01:00:02 +00:00
Ben Wagner
03c9f566d8 Remove call to getMetrics from GlyphGenerator.
GlyphGenerator::generatePath does not need to call getMetrics before
calling getPath. This is wasted effort, especially since the
SkScalerContext is being used directly instead of going through a glyph
cache (which would require this ordering).

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

Change-Id: I140a6715a1d1692b161ee3dae48e5482b6004b63
Reviewed-on: https://skia-review.googlesource.com/4620
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2016-11-09 23:02:12 +00:00
mtklein
7c591161d0 Revert of Make SkSmallAllocator obey the RAII invariants and be expandable (patchset #6 id:100001 of https://codereview.chromium.org/2488523003/ )
Reason for revert:
Crashing Mac Perf and Test bots.

This is a flaky but extremely likely crash.  I've only seen one Mac Perf or Test bot that had this patch that didn't crash.

This should be easy to reproduce like this:
  $ gn gen out --args=is_debug=false
  $ ninja -C out dm
  $ out/dm -m xfermodes3 --config gpu

This is crashing every time I run it on my laptop, and never when I revert this CL.

Building in release and running --config gpu probably don't matter.

Original issue's description:
> Make SkSmallAllocator obey the RAII invariants and move to heap structures when needed.
>
> The biggest change is to the API which allowed code to bypass the
> destruction invariants. This destruction bypass feature was needed in
> only one use, and is totally encapsulated using createWithIniterT.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2488523003
>
> Committed: https://skia.googlesource.com/skia/+/d5dc657b8c3ac916f98005dafdedafe02f023449

TBR=bungeman@google.com,herb@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/2485853005
2016-11-09 14:50:31 -08:00
Mike Klein
27dcee1643 Android builders do not need host toolchains.
This trims a few packages.  We do the same in buildbot.

BUG=skia:

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

Change-Id: I4c76d744917cb244ca3390d55d9ea602cda2dd58
Reviewed-on: https://skia-review.googlesource.com/4634
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-09 22:44:46 +00:00
Mike Klein
cb36f3cacf auto-add Build jobs
BUG=skia:

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

Change-Id: I61acce39abf08c4307e5a7ec990ec8857539f943
Reviewed-on: https://skia-review.googlesource.com/4639
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-09 22:35:50 +00:00
csmartdalton
a115129a46 skpbench: call adb wait-for-device after root
BUG=skia:

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

Change-Id: I310600e79141d2eafd668c76b97a017b151ac0fd
Reviewed-on: https://skia-review.googlesource.com/4632
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2016-11-09 21:29:18 +00:00
ethannicholas
08a9211a84 added constant folding & branch elimination to skslc
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2489673002

Committed: https://skia.googlesource.com/skia/+/6136310ee8f43247548bcefcaeca6d43023c10aa
Review-Url: https://codereview.chromium.org/2489673002
2016-11-09 13:26:45 -08:00
csmartdalton
f2b024db67 skpbench: filter out junk spewed by Pixel C driver
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2488043003

Review-Url: https://codereview.chromium.org/2488043003
2016-11-09 13:25:24 -08:00
Mike Klein
072a198656 Fix implicit nullability cast of [NSScreen mainScreen].
Without this patch I get this warning-as-error with XCode 8.1 (8B62):

../src/views/mac/SkOSWindow_Mac.mm:88:43: error: implicit conversion from nullable pointer 'NSScreen * _Nullable' to non-nullable pointer type 'NSScreen * _Nonnull' [-Werror,-Wnullable-to-nonnull-conversion]
    [(SkNSView*)fHWND enterFullScreenMode:[NSScreen mainScreen] withOptions:nil];

Seems like the thing to do is explicitly null check [NSScreen mainScreen] before calling enterFullScreenMode?

(google.com/images?q=i+have+no+idea+what+i+am+doing)

BUG=skia:

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

Change-Id: I20c4a2b559a347a6a128479b81cb515692832e72
Reviewed-on: https://skia-review.googlesource.com/4631
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2016-11-09 21:22:41 +00:00
Mike Reed
8887ffa01e Revert "add alias for xfermode::getproc to allow legacy g client to bulid"
Alias no longer needed

This reverts commit 40c07dc797.

BUG=skia:

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

Change-Id: Ia3d13d6b1055ecb4b569c99f6047e4ab3d21f107
Reviewed-on: https://skia-review.googlesource.com/4630
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-11-09 21:20:19 +00:00
Eric Boren
02201e73d6 [nobuildbot] AndroidOne bots
BUG=skia:

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

Change-Id: I9479ba49cc75f658b0cf0ac724c6462cb06598ea
Reviewed-on: https://skia-review.googlesource.com/4627
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2016-11-09 21:16:18 +00:00
herb
d5dc657b8c Make SkSmallAllocator obey the RAII invariants and move to heap structures when needed.
The biggest change is to the API which allowed code to bypass the
destruction invariants. This destruction bypass feature was needed in
only one use, and is totally encapsulated using createWithIniterT.

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

Review-Url: https://codereview.chromium.org/2488523003
2016-11-09 13:01:46 -08:00
Mike Reed
28930b4648 add debugging wrapper blitter to ensure unclipped scan-conversion is safe
BUG=skia:

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

Change-Id: Ie6c35b28a6e8e87bf230e50f9940d3924d12969a
Reviewed-on: https://skia-review.googlesource.com/4629
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2016-11-09 21:00:39 +00:00
Ben Wagner
8a1036caf1 Include what you use with signbit.
Include cmath in a few source files which use signbit and a relying on
magic to happen to use it.

Also Fix nuttiness in SampleClip. No need to #define single character
identifiers.

Change-Id: Iae3352d0cab9aaa6c37d6424f064b3d86fa2e011
Reviewed-on: https://skia-review.googlesource.com/4626
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2016-11-09 20:29:45 +00:00
csmartdalton
b87642e018 skpbench: use 3 cores instead of 4 on Pixel C
Hopefully with less cores running we will produce less heat. 3 cores
should be enough to run Ganesh, the graphics driver, and the OS.

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

Review-Url: https://codereview.chromium.org/2491633002
2016-11-09 12:26:31 -08:00
scroggo
6e4b594b54 Revert of added constant folding & branch elimination to skslc (patchset #3 id:40001 of https://codereview.chromium.org/2489673002/ )
Reason for revert:
Breaking the DEPS roll:

../../third_party/skia/src/sksl/SkSLIRGenerator.cpp:257:70: error: chosen constructor is explicit in copy-initialization
            return std::unique_ptr<Statement>(new Block(s.fPosition, { }, fSymbolTable));
                                                                     ^~~
../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/debug/vector:77:7: note: constructor declared here
      vector(const _Allocator& __a = _Allocator())
      ^
../../third_party/skia/src/sksl/ir/SkSLBlock.h:20:70: note: passing argument to parameter 'statements' here
    Block(Position position, std::vector<std::unique_ptr<Statement>> statements,
                                                                     ^

Original issue's description:
> added constant folding & branch elimination to skslc
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2489673002
>
> Committed: https://skia.googlesource.com/skia/+/6136310ee8f43247548bcefcaeca6d43023c10aa

TBR=benjaminwagner@google.com,bsalomon@google.com,ethannicholas@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/2494523002
2016-11-09 12:03:17 -08:00
fmalita
8ffb3e5d4c Fix fuzzer assert in GradientShaderBase4fContext::TSampler
The arithmetic in tileProc<kMirror> may cause the result to snap to the
open interval value - which violates invariants down the line.

We need to clamp the result to nextafterf(2, 0) to ensure it stays less
than two.

BUG=skia:5913
R=reed@google.com,herb@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2472763002

Review-Url: https://codereview.chromium.org/2472763002
2016-11-09 11:58:10 -08:00
Eric Boren
792079cf33 Change iOS bots to new-style, no-buildbot bots
BUG=skia:

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

Change-Id: Ied11c727a491382fce113b6e02831a67d944ca2f
Reviewed-on: https://skia-review.googlesource.com/4582
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2016-11-09 19:53:04 +00:00
Mike Reed
8240750718 Change SkCanvas to *not* inherit from SkRefCnt
Definitely tricky for classes like SkNWayCanvas, where the caller (today)
need not pay attention to ownership of the canvases it gave the NWay
(after this CL, the caller *must* managed ownership)

BUG=skia:

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

DOCS_PREVIEW= https://skia.org/?cl=4441

Change-Id: Ib1ac07a3cdf0686d78e7aaa4735d45cc90bea081
Reviewed-on: https://skia-review.googlesource.com/4441
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-11-09 19:40:06 +00:00
liyuqian
c78eff9754 Do not call blitV with 0 height
This is causing SkAAClipBlitter to crash.

BUG=chromium:662952
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2485243002

Review-Url: https://codereview.chromium.org/2485243002
2016-11-09 11:18:30 -08:00
Mike Reed
40c07dc797 add alias for xfermode::getproc to allow legacy g client to bulid
BUG=skia:
NOTRY=True

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

Change-Id: Ib8108c6e2f2ca4592428711c2ae8a0bd1fa7963d
Reviewed-on: https://skia-review.googlesource.com/4623
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-09 19:13:53 +00:00
Ravi Mistry
1c29ac9398 Make uploading to Gerrit the default for Skia
BUG=skia:5612

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4621
# Does not get tested with CQ.
NOTRY=true

Change-Id: I8d3fbfc6e557948cff7722f0b42ea09dc9be68e1
Reviewed-on: https://skia-review.googlesource.com/4621
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2016-11-09 19:07:56 +00:00
fmalita
d067ae7a8f Missing SkOSPath include in lua_pictures.cpp
TBR=bungeman@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2494443002

Review-Url: https://codereview.chromium.org/2494443002
2016-11-09 09:15:05 -08:00
ethannicholas
6136310ee8 added constant folding & branch elimination to skslc
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2489673002

Review-Url: https://codereview.chromium.org/2489673002
2016-11-09 09:09:26 -08:00
Mike Reed
6a01554e9e remove use of xfermode* in procs
BUG=skia:

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

Change-Id: I99f35924ff5325dfac527bb573a86d2d0366e0b3
Reviewed-on: https://skia-review.googlesource.com/4592
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-11-09 17:03:12 +00:00
Derek Sollenberger
d3ea9b75f7 Enable SkImage_pinAsTexture to signal if the operation succeeded.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4488

Change-Id: Id667f385b172e4a56faa9324066f57295af30ef3
Reviewed-on: https://skia-review.googlesource.com/4488
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-11-09 16:56:33 +00:00
liyuqian
3ce89dad5b Fix the meaning of stop_y
stop_y means that we should stop exactly at stop_y, so the last row should be
[stop_y - 1, stop_y], not [stop_y, stop_y + 1].

Somehow this misunderstanding didn't trigger any issue until Chrome exercises
SkAAClip with some websites (e.g.,
http://www.lemonde.fr/elections-americaines/article/2016/11/07/deux-programmes-deux-visions-de-l-amerique_5026444_829254.html).
When we blitter the extra row [stop_y, stop_y + 1], the SkAAClip will return
nullptr by findRow. Later when that nullptr row is used to findX, the crash
happened.

BUG=chromium:662925, chromium:662776
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481703004

Review-Url: https://codereview.chromium.org/2481703004
2016-11-09 08:53:39 -08:00
csmartdalton
e4fd0780ec skpbench: simplify adb and reduce number of invocations
This change reduces a bit of startup overhead by condensing more bash
into fewer invocations of 'adb shell'.

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

Review-Url: https://codereview.chromium.org/2481413003
2016-11-09 08:41:23 -08:00
liyuqian
671ce62f35 Check negative overflow of quickSkFDot6Div
The following fuzz html reveals the bug in chromium content_shell

===html=begins===
<style>
*{min-width:4%;-webkit-border-radius:+256%;}
.CLASS11{text-decoration:rgba(128%,16129%,1%,0.0000000004656612317904879831274006762300773920593144339363789186) dotted blink;vertical-align:124px;-webkit-column-count:2147483655 !important;</style>
<h1 class="CLASS11 CLASS1">
>
B
<button>
<h4 class="CLASS11 CLASS12">
</h4>
<p>
c C
<table>
<caption class="CLASS11">
>
<ruby class="CLASS11 CLASS12">
</ruby>
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA x
===html===ends===

BUG=chromium:662905
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2482863004

Review-Url: https://codereview.chromium.org/2482863004
2016-11-09 07:24:21 -08:00