platform/upstream/libSkiaSharp.git
8 years agodebugger: Allow for larger images.
jcgregorio [Thu, 30 Jun 2016 14:54:14 +0000 (07:54 -0700)]
debugger: Allow for larger images.

Also differentiate between max dimensions and default dimensions.

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

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

8 years agoinline very common intersect+rect_rgn
reed [Thu, 30 Jun 2016 14:47:34 +0000 (07:47 -0700)]
inline very common intersect+rect_rgn

Extracted from previous compound CL (with other changes).

This is the very common case for clips, and inlining this eliminates a series of function calls.

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

TBR=mtklein

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

8 years agoUpdate skia milestone to next
hcm [Thu, 30 Jun 2016 14:31:09 +0000 (07:31 -0700)]
Update skia milestone to next

No API changes, just moving version fwd.

TBR=reed@google.com

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

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

8 years agoEven more hiding of Geometry structs in GrBatch subclasses.
bsalomon [Thu, 30 Jun 2016 14:19:27 +0000 (07:19 -0700)]
Even more hiding of Geometry structs in GrBatch subclasses.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2110853004

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

8 years agospeed up maprect for scale+trans case
reed [Thu, 30 Jun 2016 13:38:54 +0000 (06:38 -0700)]
speed up maprect for scale+trans case

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

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

8 years agoAdd Android SDK asset
borenet [Thu, 30 Jun 2016 12:20:03 +0000 (05:20 -0700)]
Add Android SDK asset

This will allow us to use CIPD to install the Android SDK on bots.

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

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

8 years agoRevert of Better encapsulate oval/rrect batchs. (patchset #4 id:60001 of https:/...
benjaminwagner [Thu, 30 Jun 2016 11:47:45 +0000 (04:47 -0700)]
Revert of Better encapsulate oval/rrect batchs. (patchset #4 id:60001 of https://codereview.chromium.org/2104423003/ )

Reason for revert:
Chromium roll is failing:
https://build.chromium.org/p/chromium.linux/builders/Android%20Arm64%20Builder%20%28dbg%29/builds/35938/steps/compile/logs/stdio

[1505/19896] CXX obj/skia/skia/GrOvalRenderer.o
FAILED: obj/skia/skia/GrOvalRenderer.o
/mnt/data/b/build/slave/cache/cipd/goma/gomacc ../../third_party/android_tools/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-g++ -MMD -MF obj/skia/skia/GrOvalRenderer.o.d -DV8_DEPRECATION_WARNINGS -DENABLE_NOTIFICATIONS -DENABLE_BROWSER_CDMS -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1 -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DUSE_EXTERNAL_POPUP_MENU=1 -DENABLE_WEBRTC=1 -DDISABLE_NACL -DENABLE_SUPERVISED_USERS=1 -DUSE_PROPRIETARY_CODECS -DVIDEO_HOLE=1 -DSAFE_BROWSING_DB_REMOTE -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DENABLE_WEBVR -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION=r10e -D__GNU_SOURCE=1 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DSK_IGNORE_DW_GRAY_FIX -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_SUPPORT_GPU=1 -DSK_BUILD_FOR_ANDROID -DUSE_CHROMIUM_SKIA -DSK_GAMMA_APPLY_TO_A8 -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSK_DEFAULT_FONT_CACHE_LIMIT=1048576 -DXML_STATIC -I../.. -Igen -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/skia/include/private -I../../third_party/skia/include/client/android -I../../third_party/skia/src/core -I../../third_party/skia/src/image -I../../third_party/skia/src/opts -I../../third_party/skia/src/pdf -I../../third_party/skia/src/ports -I../../third_party/skia/src/sfnt -I../../third_party/skia/src/utils -I../../third_party/skia/src/lazy -I../../third_party/zlib -I../../third_party/android_tools/ndk/sources/android/cpufeatures -I../../third_party/expat/files/lib -I../../third_party/freetype-android/include -I../../third_party/freetype-android/src/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -ffunction-sections -fno-short-enums -finline-limit=64 -Os -fdata-sections -ffunction-sections -g1 --sysroot=../../third_party/android_tools/ndk/platforms/android-21/arch-arm64 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include -fno-exceptions -Wno-deprecated -Wno-narrowing -c ../../third_party/skia/src/gpu/GrOvalRenderer.cpp -o obj/skia/skia/GrOvalRenderer.o
In file included from ../../third_party/skia/include/private/../private/SkTemplates.h:17:0,
                 from ../../third_party/skia/include/private/SkTArray.h:12,
                 from ../../third_party/skia/src/gpu/GrBufferAllocPool.h:11,
                 from ../../third_party/skia/src/gpu/GrBatchFlushState.h:11,
                 from ../../third_party/skia/src/gpu/GrOvalRenderer.cpp:10:
../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory: In instantiation of 'void std::__1::unique_ptr<_Tp, _Dp>::reset(std::__1::unique_ptr<_Tp, _Dp>::pointer) [with _Tp = std::__1::__function::__base<bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)>; _Dp = std::__1::__allocator_destructor<std::__1::allocator<std::__1::__function::__func<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)>, std::__1::allocator<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)> >, bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)> > >; std::__1::unique_ptr<_Tp, _Dp>::pointer = std::__1::__function::__base<bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)>*]':
../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2598:52:   required from 'std::__1::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = std::__1::__function::__base<bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)>; _Dp = std::__1::__allocator_destructor<std::__1::allocator<std::__1::__function::__func<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)>, std::__1::allocator<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)> >, bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)> > >]'
../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/functional:1603:72:   required from 'std::__1::function<_Rp(_ArgTypes ...)>::function(_Fp, typename std::__1::enable_if<(std::__1::function<_Rp(_ArgTypes ...)>::__callable<_Fp>::value && (! std::__1::is_same<_Fp, std::__1::function<_Rp(_ArgTypes ...)> >::value))>::type*) [with _Fp = GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)>; _Rp = bool; _ArgTypes = {GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int}; typename std::__1::enable_if<(std::__1::function<_Rp(_ArgTypes ...)>::__callable<_Fp>::value && (! std::__1::is_same<_Fp, std::__1::function<_Rp(_ArgTypes ...)> >::value))>::type = void]'
../../third_party/skia/src/gpu/GrBatchFlushState.h:80:9:   required from here
../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630:34: error: invalid conversion from 'std::__1::unique_ptr<std::__1::__function::__base<bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)>, std::__1::__allocator_destructor<std::__1::allocator<std::__1::__function::__func<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)>, std::__1::allocator<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)> >, bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)> > > >::pointer {aka std::__1::__function::__base<bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)>*}' to 'std::__1::__allocator_destructor<std::__1::allocator<std::__1::__function::__func<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)>, std::__1::allocator<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)> >, bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)> > >::pointer {aka std::__1::__function::__func<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)>, std::__1::allocator<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)> >, bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)>*}' [-fpermissive]
             __ptr_.second()(__tmp);
                                  ^
In file included from ../../third_party/skia/include/private/../private/SkTemplates.h:17:0,
                 from ../../third_party/skia/include/private/SkTArray.h:12,
                 from ../../third_party/skia/src/gpu/GrBufferAllocPool.h:11,
                 from ../../third_party/skia/src/gpu/GrBatchFlushState.h:11,
                 from ../../third_party/skia/src/gpu/GrOvalRenderer.cpp:10:
../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:3474:10: note: initializing argument 1 of 'void std::__1::__allocator_destructor<_Alloc>::operator()(std::__1::__allocator_destructor<_Alloc>::pointer) [with _Alloc = std::__1::allocator<std::__1::__function::__func<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)>, std::__1::allocator<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)> >, bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)> >; std::__1::__allocator_destructor<_Alloc>::pointer = std::__1::__function::__func<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)>, std::__1::allocator<GrBatchFlushState::doUpload(GrDrawBatch::DeferredUploadFn&)::<lambda(GrSurface*, int, int, int, int, GrPixelConfig, const void*, size_t)> >, bool(GrSurface*, int, int, int, int, GrPixelConfig, const void*, long unsigned int)>*]'
     void operator()(pointer __p) _NOEXCEPT
          ^

Original issue's description:
> Better encapsulate oval/rrect batchs.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003
>
> Committed: https://skia.googlesource.com/skia/+/5fd209e8ee477c703bc5c11b008f247d515fc0fc
> Committed: https://skia.googlesource.com/skia/+/7f06c6947a3bef78dc57b9252779567c33604c90

TBR=robertphillips@google.com,bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

8 years agoHide more GrBatch Geometry structs.
bsalomon [Thu, 30 Jun 2016 01:41:53 +0000 (18:41 -0700)]
Hide more GrBatch Geometry structs.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2110903002

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

8 years agoBetter encapsulate oval/rrect batchs.
bsalomon [Thu, 30 Jun 2016 00:55:27 +0000 (17:55 -0700)]
Better encapsulate oval/rrect batchs.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003

Committed: https://skia.googlesource.com/skia/+/5fd209e8ee477c703bc5c11b008f247d515fc0fc
Review-Url: https://codereview.chromium.org/2104423003

8 years agoRevert of Better encapsulate oval/rrect batchs. (patchset #3 id:40001 of https:/...
benjaminwagner [Wed, 29 Jun 2016 22:24:57 +0000 (15:24 -0700)]
Revert of Better encapsulate oval/rrect batchs. (patchset #3 id:40001 of https://codereview.chromium.org/2104423003/ )

Reason for revert:
Causing assertion error on Test-Mac-Clang-MacMini4.1-GPU-GeForce320M-x86_64-Debug (https://chromium-swarm.appspot.com/user/task/2fb6ee239783b910) and Test-Win8-MSVC-ShuttleA-GPU-GTX960-x86_64-Debug (https://chromium-swarm.appspot.com/user/task/2fb6ebcc157fed10).

Original issue's description:
> Better encapsulate oval/rrect batchs.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003
>
> Committed: https://skia.googlesource.com/skia/+/5fd209e8ee477c703bc5c11b008f247d515fc0fc

TBR=robertphillips@google.com,bsalomon@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

8 years agoadd SK_SUPPORT_PRECHECK_CLIPRECT experiment for clipRect
reed [Wed, 29 Jun 2016 21:33:11 +0000 (14:33 -0700)]
add SK_SUPPORT_PRECHECK_CLIPRECT experiment for clipRect

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

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

8 years agoBetter encapsulate oval/rrect batchs.
bsalomon [Wed, 29 Jun 2016 21:16:32 +0000 (14:16 -0700)]
Better encapsulate oval/rrect batchs.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003

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

8 years agofix asan bug triggered by pathops fuzz tests
caryclark [Wed, 29 Jun 2016 21:07:45 +0000 (14:07 -0700)]
fix asan bug triggered by pathops fuzz tests

R=dogben@google.com
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111473004

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

8 years agoMove dump of batches to be after the forwardCombine call in prepareBatches
robertphillips [Wed, 29 Jun 2016 20:43:22 +0000 (13:43 -0700)]
Move dump of batches to be after the forwardCombine call in prepareBatches

This eliminates an unfortunate red herring. Text batching isn't actually as bad as I had feared.

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

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

8 years agoadd short-desc
reed [Wed, 29 Jun 2016 18:36:34 +0000 (11:36 -0700)]
add short-desc

So that the UI can display the contents of "short-desc" inline with the verb.

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

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

8 years agofix another pathops fuzz bug
caryclark [Wed, 29 Jun 2016 17:46:08 +0000 (10:46 -0700)]
fix another pathops fuzz bug

Tunnel out the error case when the numerics
create uncalculable angles.

R=mmoroz@chromium.org
TBR=reed@google.com
BUG=624351
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103863005

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

8 years agoAdd Annotations to old debugger
robertphillips [Wed, 29 Jun 2016 17:28:11 +0000 (10:28 -0700)]
Add Annotations to old debugger
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2110083002

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

8 years agoDisable PathOpsFailOp test for Bazel ASAN test, because there are double->float cast...
benjaminwagner [Wed, 29 Jun 2016 17:26:44 +0000 (10:26 -0700)]
Disable PathOpsFailOp test for Bazel ASAN test, because there are double->float cast overflows in PathOps code.

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

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

8 years agofix fuzz test that exceeds numeric limit
caryclark [Wed, 29 Jun 2016 15:18:38 +0000 (08:18 -0700)]
fix fuzz test that exceeds numeric limit

The extreme values here exceed an internal test that expects
computed numbers to be less than MAX_FLT. Use MAX_DBL instead.

R=mmoroz@chromium.org
TBR=reed@google.com
BUG=624346
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103903004

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

8 years agoSkPDF: always assume SkStreamAsset behaves as specified
halcanary [Wed, 29 Jun 2016 14:23:47 +0000 (07:23 -0700)]
SkPDF: always assume SkStreamAsset behaves as specified

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

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

8 years agoCheck for empty output in adb_wait_for_charge.
benjaminwagner [Wed, 29 Jun 2016 14:02:54 +0000 (07:02 -0700)]
Check for empty output in adb_wait_for_charge.

Example error in https://chromium-swarm.appspot.com/user/task/2f96d6439584e411

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

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

8 years agoDump batch bounds and scissor rect
robertphillips [Wed, 29 Jun 2016 13:56:12 +0000 (06:56 -0700)]
Dump batch bounds and scissor rect

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

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

8 years agoSkPDF: SkPDFStream takes only SkStreamAsset
halcanary [Wed, 29 Jun 2016 13:31:32 +0000 (06:31 -0700)]
SkPDF: SkPDFStream takes only SkStreamAsset

This is possible since https://crrev.com/869763002. Later, I'll clean
up the logic and class constructors.  For now, I assert everywhere I
expect a SkStreamAsset to be well-behaved (duplcate, hasLength).
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2098393002

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

8 years agoRemove unnecessary includes in src/pdf/
martina.kollarova [Wed, 29 Jun 2016 12:12:31 +0000 (05:12 -0700)]
Remove unnecessary includes in src/pdf/

Use forward declaration more.

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

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

8 years agoadd annotations to debugger
reed [Wed, 29 Jun 2016 01:54:19 +0000 (18:54 -0700)]
add annotations to debugger

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

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

8 years agoSpruce up batch info printouts
robertphillips [Tue, 28 Jun 2016 21:45:31 +0000 (14:45 -0700)]
Spruce up batch info printouts
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2107013002

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

8 years agoChanges to Lua gradient scraping
fmenozzi [Tue, 28 Jun 2016 21:03:03 +0000 (14:03 -0700)]
Changes to Lua gradient scraping

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

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

8 years agoFix vulkan onGetWritePixelsInfo
egdaniel [Tue, 28 Jun 2016 20:38:26 +0000 (13:38 -0700)]
Fix vulkan onGetWritePixelsInfo

When the configs are the same in Vulkan we know we can do write pixels,
but the caller may need to do a draw, so make sure we set up the
tempDrawInfo before returning.

BUG=skia:5461, skia:5458
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108873003

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

8 years agoMake lines a special case in GrShape
bsalomon [Tue, 28 Jun 2016 18:56:42 +0000 (11:56 -0700)]
Make lines a special case in GrShape

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

Committed: https://skia.googlesource.com/skia/+/c62318c748a1907649bd75382c4f4fd10533f2b3
Review-Url: https://codereview.chromium.org/2108523002

8 years agoRevert of Make lines a special case in GrShape (patchset #5 id:120001 of https:/...
bsalomon [Tue, 28 Jun 2016 18:18:47 +0000 (11:18 -0700)]
Revert of Make lines a special case in GrShape (patchset #5 id:120001 of https://codereview.chromium.org/2108523002/ )

Reason for revert:
Assertion failures

Original issue's description:
> Make lines a special case in GrShape
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108523002
>
> Committed: https://skia.googlesource.com/skia/+/c62318c748a1907649bd75382c4f4fd10533f2b3

TBR=robertphillips@google.com,egdaniel@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/2109613003

8 years agoTighten up masking of colorType & alphaType in SkImageInfo serialization (for fuzzer...
robertphillips [Tue, 28 Jun 2016 18:02:30 +0000 (11:02 -0700)]
Tighten up masking of colorType & alphaType in SkImageInfo serialization (for fuzzer bug)

In this case the int that contains the color and alpha types is getting munged. We don't really case that the surplus bits are 0 just that the values we care about are reasonable.

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

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

8 years agoUpdate CT documentation on skia.org
rmistry [Tue, 28 Jun 2016 17:52:47 +0000 (10:52 -0700)]
Update CT documentation on skia.org

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

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

8 years agoMake lines a special case in GrShape
bsalomon [Tue, 28 Jun 2016 17:41:34 +0000 (10:41 -0700)]
Make lines a special case in GrShape

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

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

8 years agoAdd blacklist for the Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_IMG_DECODE_100k_SK...
rmistry [Tue, 28 Jun 2016 17:17:03 +0000 (10:17 -0700)]
Add blacklist for the Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_IMG_DECODE_100k_SKPs bot

BUG=skia:5462
BUG=skia:5466
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2101403003

# Try bots do not run this code.
NOTRY=true

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

8 years agofix fuzz bugs
caryclark [Tue, 28 Jun 2016 16:23:57 +0000 (09:23 -0700)]
fix fuzz bugs

Detect more places where the pathops numerics cause numbers
to become nearly identical and subsequently fail. These tests
have extreme inputs and cannot succeed.

Also remove the expectSuccess parameter from PathOpsDebug
and check instead in the test framework.

R=mbarbella@chromium.org
TBR=reed@google.com
BUG=623072,623022
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103513002

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

8 years agoAddress two fuzzer bugs:
robertphillips [Tue, 28 Jun 2016 16:04:34 +0000 (09:04 -0700)]
Address two fuzzer bugs:

SkImageInfos that were made invalid weren't being caught
Messing with the size of a SAVE record wasn't being caught

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

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

8 years agoEnable many more tests for Vulkan
egdaniel [Tue, 28 Jun 2016 15:07:26 +0000 (08:07 -0700)]
Enable many more tests for Vulkan

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

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

8 years agoMove SkColorSpace ICC parsing/writing code to its own file
msarett [Tue, 28 Jun 2016 14:16:40 +0000 (07:16 -0700)]
Move SkColorSpace ICC parsing/writing code to its own file

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

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

8 years agoremove SK_SUPPORT_LEGACY_COLORPROFILETYPE dead-code
reed [Tue, 28 Jun 2016 12:43:28 +0000 (05:43 -0700)]
remove SK_SUPPORT_LEGACY_COLORPROFILETYPE dead-code

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

TBR=

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

8 years agoFix mask applied to SkPath::fFillType in readFromMemory to fix fuzzer bug
robertphillips [Tue, 28 Jun 2016 11:54:54 +0000 (04:54 -0700)]
Fix mask applied to SkPath::fFillType in readFromMemory to fix fuzzer bug

The fFillType field only needs/uses 2 bits - not all 8

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

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

8 years agoAdd CIPD support for bot assets
borenet [Tue, 28 Jun 2016 11:41:49 +0000 (04:41 -0700)]
Add CIPD support for bot assets

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

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

8 years agoFix Vulkan readPixels
egdaniel [Mon, 27 Jun 2016 21:34:55 +0000 (14:34 -0700)]
Fix Vulkan readPixels

Fixed bug with setting up tempReadTexture from previous CL.

Also, previously we were not correctly handling the rowBytes during the read.

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

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

8 years agoCheck PremulType during GrGradientEffect::onIsEqual
csmartdalton [Mon, 27 Jun 2016 21:02:10 +0000 (14:02 -0700)]
Check PremulType during GrGradientEffect::onIsEqual

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

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

8 years agoAdd support for draws in vulkan read and write pixels
egdaniel [Mon, 27 Jun 2016 19:57:00 +0000 (12:57 -0700)]
Add support for draws in vulkan read and write pixels

GL has a lot more optimizations checks here to make sure we do the most
effecient and correct draw here, but for now as long as the features
are support we just do basic draws for both reads and writes when we
need certain conversions.

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

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

8 years agoUpdate roadmap and remove highlights
hcm [Mon, 27 Jun 2016 19:54:07 +0000 (12:54 -0700)]
Update roadmap and remove highlights

Use new file hosted on skia.org for 16-17 roadmap
Remove aging published highlights in favor of release notes

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

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

8 years agoUpdate documentation on how to download CT SKPs
rmistry [Mon, 27 Jun 2016 19:51:47 +0000 (12:51 -0700)]
Update documentation on how to download CT SKPs

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

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

8 years agoFix Perlin noise fuzz issue
robertphillips [Mon, 27 Jun 2016 19:26:29 +0000 (12:26 -0700)]
Fix Perlin noise fuzz issue

The main "fix" here was that the assert was checking the un-clamped input value rather than the clamped value.

The SkValidatingReadBuffer.cpp change was required to get the reproducing fuzz test case to complete.

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

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

8 years agoAddress ASAN fuzzer complaint
robertphillips [Mon, 27 Jun 2016 19:05:39 +0000 (12:05 -0700)]
Address ASAN fuzzer complaint

This addresses a class of fuzzer failure where the paint index has been
made invalid but the calling code doesn't handle a null pointer return.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2099343002

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

8 years agoSkLightingShader normal vector CPU computation refactor.
dvonbeck [Mon, 27 Jun 2016 18:40:45 +0000 (11:40 -0700)]
SkLightingShader normal vector CPU computation refactor.

The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.

This CL's base was the CL for GPU handling: https://codereview.chromium.org/2043393002/

What this CL includes:

- A refactor of the SkLightingShader context's code that deals with reading normals off of a normal map. This is now abstracted out into a NormalSource::Provider class that the context uses.

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

Committed: https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c
Review-Url: https://codereview.chromium.org/2050773002

8 years agoFix up flags to SkGpuBlurUtils::GaussianBlur
robertphillips [Mon, 27 Jun 2016 18:11:05 +0000 (11:11 -0700)]
Fix up flags to SkGpuBlurUtils::GaussianBlur

This fixes a bug introduced in: https://codereview.chromium.org/1961953002/ (Reland of Simplify SkGpuBlurUtils::GaussianBlur method)

Although the 'canOverwriteSrc' flag is/was being used I still believe we're better off re-adding it after the mask-blur refactoring finishes.

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

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

8 years agoFix inverse test for GrDFAAPR::onCanDrawPath
bsalomon [Mon, 27 Jun 2016 18:08:43 +0000 (11:08 -0700)]
Fix inverse test for GrDFAAPR::onCanDrawPath

TBR=egdaniel@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2105443002

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

8 years agoUse a union inside GrShape to hold geometry
bsalomon [Mon, 27 Jun 2016 17:00:19 +0000 (10:00 -0700)]
Use a union inside GrShape to hold geometry
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2094023002

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

8 years agoRevert of Refactoring of CPU NormalMap handling out into its own class (patchset...
dvonbeck [Mon, 27 Jun 2016 16:30:19 +0000 (09:30 -0700)]
Revert of Refactoring of CPU NormalMap handling out into its own class (patchset #13 id:240001 of https://codereview.chromium.org/2050773002/ )

Reason for revert:
GMs are crashing on Windows Test trybots

Original issue's description:
> SkLightingShader normal vector CPU computation refactor.
>
> The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.
>
> This CL's base was the CL for GPU handling: https://codereview.chromium.org/2043393002/
>
> What this CL includes:
>
> - A refactor of the SkLightingShader context's code that deals with reading normals off of a normal map. This is now abstracted out into a NormalSource::Provider class that the context uses.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2050773002
>
> Committed: https://skia.googlesource.com/skia/+/790a70118327a129cb6b48fabe80f4e184c1e67c

TBR=egdaniel@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

8 years agoAdd a GL cap for instanced rendering to floating point
csmartdalton [Mon, 27 Jun 2016 16:29:07 +0000 (09:29 -0700)]
Add a GL cap for instanced rendering to floating point

We have observed on OS X that instanced draws don't always behave
correctly when the framebuffer is floating point.

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

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

8 years agoSkLightingShader normal vector CPU computation refactor.
dvonbeck [Mon, 27 Jun 2016 15:43:58 +0000 (08:43 -0700)]
SkLightingShader normal vector CPU computation refactor.

The purpose of this change is to refactor the handling of normal maps out of SkLightingShader, laying the groundwork to eventually allow for multiple normal sources.

This CL's base was the CL for GPU handling: https://codereview.chromium.org/2043393002/

What this CL includes:

- A refactor of the SkLightingShader context's code that deals with reading normals off of a normal map. This is now abstracted out into a NormalSource::Provider class that the context uses.

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

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

8 years agoMake sure path computed from stroke-rec application using GrStyle is volatile.
bsalomon [Mon, 27 Jun 2016 14:59:12 +0000 (07:59 -0700)]
Make sure path computed from stroke-rec application using GrStyle is volatile.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2099313002

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

8 years agoRemove style application from GrPathRenderer subclasses
bsalomon [Mon, 27 Jun 2016 14:18:18 +0000 (07:18 -0700)]
Remove style application from GrPathRenderer subclasses

Now that GrPathRenderer is using GrShape it is possible to get a key for a path that was computed by applying style to an original path.

This improves path renderer subclass selection, particularly when a post-styled path happens to work with a simpler path renderer (e.g. it is convex). Previously a more expensive path renderer may have applied the style and rendered it (e.g. the distance field PR)

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

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

8 years agoFix check for maxVertexAttributes in GrVkPipeline
egdaniel [Mon, 27 Jun 2016 14:15:20 +0000 (07:15 -0700)]
Fix check for maxVertexAttributes in GrVkPipeline

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

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

8 years agoremove DownSample imagefilter
reed [Sat, 25 Jun 2016 21:30:44 +0000 (14:30 -0700)]
remove DownSample imagefilter
was just created early on as a test filter

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

TBR=

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

8 years agoremove experimental treat-skcolor-as-srgb flag
reed [Sat, 25 Jun 2016 01:14:07 +0000 (18:14 -0700)]
remove experimental treat-skcolor-as-srgb flag

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

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

8 years agoAdd Sleep on windows GrVkGpu dtor to avoid fence bug
egdaniel [Fri, 24 Jun 2016 20:18:27 +0000 (13:18 -0700)]
Add Sleep on windows GrVkGpu dtor to avoid fence bug

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

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

8 years agoAdd documention on SkBlitter for runs, and small cleanups.
herb [Fri, 24 Jun 2016 20:02:31 +0000 (13:02 -0700)]
Add documention on SkBlitter for runs, and small cleanups.

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

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

8 years agoGrColor4f is yet another 4f color type, unfortunately.
brianosman [Fri, 24 Jun 2016 19:50:19 +0000 (12:50 -0700)]
GrColor4f is yet another 4f color type, unfortunately.

- Sk4f would be my choice, but it's not allowed in include/
- SkColor4f and SkPM4f are specified to be unpremultiplied/premultiplied, whereas GrColor (and GrColor4f) are either, depending on context.

This adds 12 bytes to GrPaint. Not sure if we want to pay that price. The precision loss for a single value (vs. in a gradient, etc...) may not justify changing the storage type here. Easy enough to back that part out, while still keeping the 4f intermediate type for the helper math that it adds, and for storage and parameter passing in other locations.

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

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

8 years agoFix incorrect swizzle on BGRA platforms in filterColor4f path
brianosman [Fri, 24 Jun 2016 18:55:32 +0000 (11:55 -0700)]
Fix incorrect swizzle on BGRA platforms in filterColor4f path

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

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

8 years agoMake bucket names explicit in cq.cfg.
tandrii [Fri, 24 Jun 2016 18:27:28 +0000 (11:27 -0700)]
Make bucket names explicit in cq.cfg.

Don't assume bucket name to start with 'master.'.

NOTRY=True
BUG=chromium:617627
R=rmistry@google.com,sergiyb@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2096733005

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

8 years agoUse GrShape in GrPathRenderer.
bsalomon [Fri, 24 Jun 2016 17:42:16 +0000 (10:42 -0700)]
Use GrShape in GrPathRenderer.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2081383006

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

8 years agoRemove unnecessary srcAccessMask for preinitialized images in vulkan
egdaniel [Fri, 24 Jun 2016 17:29:02 +0000 (10:29 -0700)]
Remove unnecessary srcAccessMask for preinitialized images in vulkan

This fixes a warning we were receiving while running tests in Vulkan.

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

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

8 years agoHave gpu createTestingOlyBackendTexture know if it is a render target or not
egdaniel [Fri, 24 Jun 2016 16:22:31 +0000 (09:22 -0700)]
Have gpu createTestingOlyBackendTexture know if it is a render target or not

In Vulkan we need to know at create time of a texture whether or not we will
use it as a render target.

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

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

8 years agoChange SkColor4f to RGBA channel order
brianosman [Fri, 24 Jun 2016 13:31:47 +0000 (06:31 -0700)]
Change SkColor4f to RGBA channel order

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

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

8 years agoRevert of Remove Android SampleApp (patchset #5 id:80001 of https://codereview.chromi...
rmistry [Fri, 24 Jun 2016 12:24:16 +0000 (05:24 -0700)]
Revert of Remove Android SampleApp (patchset #5 id:80001 of https://codereview.chromium.org/2096683002/ )

Reason for revert:
Testing to see if this CL caused the failures in Build-Mac-Clang-Arm7-Debug-Android

Original issue's description:
> Remove Android SampleApp
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2096683002
>
> Committed: https://skia.googlesource.com/skia/+/41bb5b40e71411ee39538399ea125986ec760a90

TBR=djsollen@google.com,liyuqian@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/2099693002

8 years agoAdd support for 3D colorLUTs to SkColorXform
msarett [Thu, 23 Jun 2016 22:12:52 +0000 (15:12 -0700)]
Add support for 3D colorLUTs to SkColorXform

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

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

8 years agoFix vulkan warning in RecordReplaceDrawTest
egdaniel [Thu, 23 Jun 2016 22:06:29 +0000 (15:06 -0700)]
Fix vulkan warning in RecordReplaceDrawTest

Vulkan debug layers complain that when we call readPixels on the texture
we are copying unitialized data from the image to a buffer.

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

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

8 years agoSkPDF: alloc less memory for strings
halcanary [Thu, 23 Jun 2016 21:08:11 +0000 (14:08 -0700)]
SkPDF:  alloc less memory for strings

    before:
        micros    bench
        250.98   WritePDFText nonrendering
    after:
        micros    bench
        107.10   WritePDFText nonrendering

Also, be slightly more space-efficient in encoding strings.

Also, add a bench.

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

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

8 years agoMove GrPipelineBuilder out of gms & reduce use of GrPipelineBuilder.h
robertphillips [Thu, 23 Jun 2016 21:07:00 +0000 (14:07 -0700)]
Move GrPipelineBuilder out of gms & reduce use of GrPipelineBuilder.h

Just another step in reining in the GrPLB

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

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

8 years agoSupport GL_SAMPLES queries in null contexts
csmartdalton [Thu, 23 Jun 2016 20:42:13 +0000 (13:42 -0700)]
Support GL_SAMPLES queries in null contexts

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

Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521
Committed: https://skia.googlesource.com/skia/+/57e98530c113066c4c2d9c64505c52dc25e66c00
Review-Url: https://codereview.chromium.org/2085043002

8 years agoAdd some more getters to GrShape.
bsalomon [Thu, 23 Jun 2016 20:18:45 +0000 (13:18 -0700)]
Add some more getters to GrShape.

These will be used to deploy GrShape in GrPathRenderer subclasses.

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

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

8 years agoMake container classes in SkTemplates.h more consistent
csmartdalton [Thu, 23 Jun 2016 19:55:14 +0000 (12:55 -0700)]
Make container classes in SkTemplates.h more consistent

Ensures that ".get()" always returns null when a container is empty.
Also ensures consistent assert behavior for array counts.

There are still differences in that the malloc variants take a size_t
and the arrays take an int, and that SkAutoSTMalloc defaults to the
stack-allocated buffer wheras the other containers default to null.

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

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

8 years agoRevert of Potential fix for flaky TSAN (patchset #1 id:1 of https://codereview.chromi...
msarett [Thu, 23 Jun 2016 19:48:44 +0000 (12:48 -0700)]
Revert of Potential fix for flaky TSAN (patchset #1 id:1 of https://codereview.chromium.org/2084243003/ )

Reason for revert:
I believe I've fixed SkMatrix44::I() to be thread safe, let's test it by reverting this CL.

Original issue's description:
> Potential fix for flaky TSAN
>
> TBR=mtklein@google.com
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2084243003
>
> Committed: https://skia.googlesource.com/skia/+/949999d0bbc247906995358a90c4e436e9152de2

TBR=mtklein@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/2091573004

8 years agoSkMatrix44 clarifications and clean-ups
msarett [Thu, 23 Jun 2016 19:42:29 +0000 (12:42 -0700)]
SkMatrix44 clarifications and clean-ups

Fixed row/col major bug and added comments to the
header.

Made SkMatrix::I() thread safe using constexpr.

Added a test set3x3RowMajorf().

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

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

8 years agoFix Rob's nits from https://codereview.chromium.org/2085913003
bsalomon [Thu, 23 Jun 2016 19:23:07 +0000 (12:23 -0700)]
Fix Rob's nits from https://codereview.chromium.org/2085913003

TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087393003

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

8 years agoRemove Android SampleApp
liyuqian [Thu, 23 Jun 2016 19:08:06 +0000 (12:08 -0700)]
Remove Android SampleApp

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

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

8 years agoFix vulkan clears
egdaniel [Thu, 23 Jun 2016 18:56:36 +0000 (11:56 -0700)]
Fix vulkan clears

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

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

8 years agoCanonicalize path fill types for stroked paths in GrShape.
bsalomon [Thu, 23 Jun 2016 18:48:26 +0000 (11:48 -0700)]
Canonicalize path fill types for stroked paths in GrShape.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085913003

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

8 years agoChange loop bounds to be correct (and much less confusing)
brianosman [Thu, 23 Jun 2016 18:40:14 +0000 (11:40 -0700)]
Change loop bounds to be correct (and much less confusing)

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

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

8 years agoFix bug in filterSpan4f - read the source, rather than the dest
brianosman [Thu, 23 Jun 2016 18:33:21 +0000 (11:33 -0700)]
Fix bug in filterSpan4f - read the source, rather than the dest

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

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

8 years agoWork around missing __mulodi4() on ARMv7 + Clang builds.
mtklein [Thu, 23 Jun 2016 18:20:58 +0000 (11:20 -0700)]
Work around missing __mulodi4() on ARMv7 + Clang builds.

__mulodi4() is roughly,

    int64_t __mulodi4(int64_t a, int64_t b, int* overflow) {
        int64_t result = a*b;
        *overflow = did_overflow(result);
        return result;
    }

It's used by Clang's __builtin_smulll_overflow(), which is basically the same
except it swaps the positions of the return value and the out parameter.

DNG SDK in turn uses __builtin_smulll_overflow().

When building ARMv7 binaries with Clang, __mulodi4() turns up as a missing symbol.
That's because it's defined in a separate compiler-rt library.  I have not been
able to link that.  Instead, I've provided our own trivial __builtin_smulll_overflow().

Before this patch both nanobench and DM failed dynamically linking __mulodi4().  After this patch nanobench runs for a while, eventually segfaulting.  DM immediately segfaults.

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

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

8 years agoAdd deserialize color space entry point for fuzzing
kjlubick [Thu, 23 Jun 2016 17:49:27 +0000 (10:49 -0700)]
Add deserialize color space entry point for fuzzing

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

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

8 years agoGN
mtklein [Thu, 23 Jun 2016 17:29:30 +0000 (10:29 -0700)]
GN

What we've got here is a little GN MVP.  It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo.  I've been hopping back and forth between Linux at work and Mac at home.  These seem to be at least partially working, enough to build and run cmake/example.cpp.

The xcode backend seems to work.  From here, we can start exploring how to handle other backends (cmake,Android make, Google3).  There are a couple things I want to try:
  - add another backend like vs or xcode to GN directly
  - intercept via a custom toolchain
  - reverse from ninja -t commands
That last option seems kind of fun.

This tries to piggyback on Chrome's GN setup as much as possible.  Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients.

This pulls in some new DEPS:
   - build: Chrome's GN configuration, and much more
   - buildtools: hashes for gn binary, pulled via hooks
   - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build
It additionally symlinks tools/gyp to third_party/externals/gyp.  GN pulls some stuff from tools/gyp on Mac.

Have not yet tried building for Windows, Android, or iOS.

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

Committed: https://skia.googlesource.com/skia/+/1d8de594f126b9a80bd8f8fa2005e90faf3b5b17
Review-Url: https://codereview.chromium.org/2087593002

8 years agoAdd stub for avx.
herb [Thu, 23 Jun 2016 16:40:30 +0000 (09:40 -0700)]
Add stub for avx.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087343002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoStart using GrGpuCommandBuffer in GrDrawTarget.
egdaniel [Thu, 23 Jun 2016 15:37:05 +0000 (08:37 -0700)]
Start using GrGpuCommandBuffer in GrDrawTarget.

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

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

8 years agoDocumentaion: top level link.
halcanary [Thu, 23 Jun 2016 14:00:44 +0000 (07:00 -0700)]
Documentaion: top level link.

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2084593008

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

8 years agoRevert of Support GL_SAMPLES queries in null contexts (patchset #4 id:60001 of https...
brianosman [Thu, 23 Jun 2016 13:11:51 +0000 (06:11 -0700)]
Revert of Support GL_SAMPLES queries in null contexts (patchset #4 id:60001 of https://codereview.chromium.org/2085043002/ )

Reason for revert:
ASAN failures (including DEPS roll).

Original issue's description:
> Support GL_SAMPLES queries in null contexts
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085043002
>
> Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521
> Committed: https://skia.googlesource.com/skia/+/57e98530c113066c4c2d9c64505c52dc25e66c00

TBR=bsalomon@google.com,csmartdalton@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/2091773002

8 years agoGN: just new deps
mtklein [Thu, 23 Jun 2016 12:56:18 +0000 (05:56 -0700)]
GN: just new deps

These just are the DEPS changes from the previous GN CL, each rolled up to head.

I've removed the hooks to fetch GN and Clang... will have to figure out how to
deal with .gclient files in different places later.

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

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

8 years agoReland of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview...
rmistry [Thu, 23 Jun 2016 11:16:38 +0000 (04:16 -0700)]
Reland of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview.chromium.org/2087913003/ )

Reason for revert:
Will watch this after it is in.

Original issue's description:
> Revert of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview.chromium.org/2085333002/ )
>
> Reason for revert:
> Reverting due to purple trybots in https://codereview.chromium.org/2087343002/
>
> We will have to investigate..
>
> Original issue's description:
> > add a Chrome builder to the CQ
> >
> > This appears to be the fastest Chrome builder, averaging 8-9 minutes.
> >
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085333002
> >
> > Committed: https://skia.googlesource.com/skia/+/cb4efa90ab5f6ea7cf5e0f44aec6f4e6418aad3d
>
> TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/1afb8f8965b0549525c1ad8d8baa885ccdb48f6d

TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

8 years agoPotential fix for flaky TSAN
msarett [Wed, 22 Jun 2016 22:29:00 +0000 (15:29 -0700)]
Potential fix for flaky TSAN

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

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

8 years agoDo loads and math in parallel in SkColorXform_opts
msarett [Wed, 22 Jun 2016 21:55:51 +0000 (14:55 -0700)]
Do loads and math in parallel in SkColorXform_opts

Note that baselines have changed a little since I
recently started using clang.

201295.jpg on HP z620 (300x280)

Skia Xform sRGB Dst Before    0.378 ms
Skia Xform sRGB Dst After     0.322 ms
                              1.17x

Skia Xform 2.2  Dst Before    0.428 ms
Skia Xform 2.2  Dst After     0.395 ms
                              1.08x

QCMS Xform                    0.418 ms

sRGB Dst vs QCMS              1.30x
2.2  Dst vs QCMS              1.06x

--------------------------------------------

Nexus 6P:
Skia Xform sRGB Dst Before    1.58 ms
Skia Xform sRGB Dst After     1.43 ms
Skia Xform 2.2  Dst Before    2.69 ms
Skia Xform 2.2  Dst After     2.62 ms

Dell Venue 8:
Skia Xform sRGB Dst Before    2.78 ms
Skia Xform sRGB Dst After     2.74 ms
Skia Xform 2.2  Dst Before    3.73 ms
Skia Xform 2.2  Dst After     3.64 ms

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

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

8 years agoUse a table-based implementation of SkDefaultXform
msarett [Wed, 22 Jun 2016 21:07:48 +0000 (14:07 -0700)]
Use a table-based implementation of SkDefaultXform

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

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

8 years agoSupport GL_SAMPLES queries in null contexts
csmartdalton [Wed, 22 Jun 2016 20:47:08 +0000 (13:47 -0700)]
Support GL_SAMPLES queries in null contexts

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

Committed: https://skia.googlesource.com/skia/+/64b92a59294a2f73448b3fa8f36f39079f032521
Review-Url: https://codereview.chromium.org/2085043002

8 years agoAdd GM for hard stop gradients
fmenozzi [Wed, 22 Jun 2016 20:39:25 +0000 (13:39 -0700)]
Add GM for hard stop gradients

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

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

8 years agoRevert of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview...
rmistry [Wed, 22 Jun 2016 17:41:01 +0000 (10:41 -0700)]
Revert of add a Chrome builder to the CQ (patchset #1 id:1 of https://codereview.chromium.org/2085333002/ )

Reason for revert:
Reverting due to purple trybots in https://codereview.chromium.org/2087343002/

We will have to investigate..

Original issue's description:
> add a Chrome builder to the CQ
>
> This appears to be the fastest Chrome builder, averaging 8-9 minutes.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2085333002
>
> Committed: https://skia.googlesource.com/skia/+/cb4efa90ab5f6ea7cf5e0f44aec6f4e6418aad3d

TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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