Commit Graph

26385 Commits

Author SHA1 Message Date
Brian Salomon
aff27a23ad Use SkVertices for tessellated spot and ambient shadow rendering.
Change-Id: Ia81e7a771d345286533752708e4304c1ae3b97c9
Reviewed-on: https://skia-review.googlesource.com/8042
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2017-02-07 15:03:48 +00:00
Eric Boren
1f8be68917 gen_tasks.go: Add --builder_name_schema flag
BUG=skia:6070

Change-Id: I66ac3057f7863f822445d5163e54ca3b11755068
Reviewed-on: https://skia-review.googlesource.com/8107
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-02-07 14:48:42 +00:00
Brian Salomon
67386d44c7 ShadowUtils: Fix umbra inset calculation when determining if umbra is fully occluded.
Change-Id: Id0db49ad45b341d39abf7ee532ecc0799a832192
Reviewed-on: https://skia-review.googlesource.com/8079
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2017-02-07 14:38:16 +00:00
Robert Phillips
8bb3b21a4a Add GM to exercise some of the darker corners of SkMagnifierImageFilter
An upcoming CL (https://skia-review.googlesource.com/c/7995/ (Remove asTextureRef from SkSpecialImage & update effects accordingly)) modifies some untested portions of the SkMagnifierImageFilter.

This adds a test to prevents regressions.

Change-Id: I9fa406f699e39fa393212e7f63a457b015b36edb
Reviewed-on: https://skia-review.googlesource.com/8023
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-02-07 13:06:48 +00:00
Mike Klein
fd197d5034 Add 64-bit iOS bots.
Because it's 2017.

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-iOS-Clang-iPadMini4-GPU-GX6450-arm64-Debug,Perf-iOS-Clang-iPadMini4-GPU-GX6450-arm64-Release,Test-iOS-Clang-iPadMini4-GPU-GX6450-arm64-Debug,Test-iOS-Clang-iPadMini4-GPU-GX6450-arm64-Release

Change-Id: I8708585a3416962d2563c17e6cc357da48ad9519
Reviewed-on: https://skia-review.googlesource.com/8106
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-02-07 02:08:44 +00:00
Brian Salomon
fab30a30b6 Add a fast case for copying vertices in GrDrawVerticesOp.
Uses Sk2f to apply a translation-only matrix when the vertex attributes contain only positions and colors.

We should look at how to generalize this for other draw vertices cases and other ops.

Change-Id: I5eb692982dc216b1c0a71209c969672b0562143c
Reviewed-on: https://skia-review.googlesource.com/8103
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-02-07 00:41:33 +00:00
Brian Osman
a950a86d22 Fix rounding error with tiled bitmap draws
We were snapping the top-left of the destination rectangle to integers,
but using the original (fractional) size. This led to us losing rows or
columns of pixels at the first tile boundary.

Also added a GM that demonstrates the bug (now renders correctly).

BUG=skia:

Change-Id: I50629dab9dd90fedad2c7e3393a1b1d1c7a8d45e
Reviewed-on: https://skia-review.googlesource.com/8102
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-02-06 22:34:19 +00:00
Stephen White
92eba8a5ef GrTessellator (AA): improve antialiasing of thin shapes.
(Long description, but actually quite a small change.)

This is the first change inspired by the "straight skeleton" algorithm.
This algorithm gives us a mental model to describe the edge-antialiasing
problem: consider the shape as walls of a house, the outer alpha
geometry is a 45-degree "roof" up to a flat top at a height of 1.0
(the filled interior).  The faces of the sloping roof join at the
bisectors between the inner and outer points.

When the shape being drawn is sufficiently thin, there should be no flat
roof, and the sloping roof meets at an edge (the straight skeleton).

This patch detects cases where an edge inverts on stroking, which
indicates that the flat roof has turned inside out, and should be
reduced to a point instead. The model above describes what to do:
follow down the "roof" along the bisectors to their intersection.
This is the point to which an inverted edge should be collapsed.
Fortunately, the bisector edges are easy to compute: they're the
connector edges joining inner and outer points. Linearly interpolating
the distance from the top to the bottom point gives the alpha we
should use to approximate coverage.

Now that we are correctly handling inversions, bevelling outer edges
is no longer necesary, since pointy outer edges won't cause nasty
opaque artifacts.

A couple of other quality improvements: on intersection, always lerp
the alpha of connector edge, even if the opposite edge is an inner edge
(later, when these edges are collapsed, we need this value to compute
the correct alpha). Fix the case where an intruding outer vertex
intersects exactly with an inner edge by maxing its alpha with the
computed value in check_for_intersection(). Finally, we also no longer
round off the intersections produced by Line::intersect(), since it
introduces a loss of quality with no measurable performance benefit.

Change-Id: I6fd93df3a57fffc0895e8cb68adbdba626ded0f1
Reviewed-on: https://skia-review.googlesource.com/8028
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephan White <senorblanco@chromium.org>
2017-02-06 21:40:05 +00:00
Eric Boren
965861bf47 Make recipes upload results to bucket specified in top-level config
BUG=skia:6070

Change-Id: I67c040239ca2cf77a7430aa1a45b1bb69fef3b91
Reviewed-on: https://skia-review.googlesource.com/8069
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-02-06 21:40:03 +00:00
Mike Klein
3b36c069d6 Set IOS_BUNDLE_ID in recipes.
Instead of hard coding to com.google.dm, which will only work for Test
bots, set it in the environment when we know which bundle we're using.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release,Perf-iOS-Clang-iPadMini4-GPU-GX6450-arm-Debug

Change-Id: I43a0c832ff70e3b3c9bb987173784f4b6b992403
Reviewed-on: https://skia-review.googlesource.com/8076
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-02-06 20:56:36 +00:00
Brian Salomon
3a97054456 Make workaround for std::unique_ptr<const T[]> bug in old libstdc++ work.
BUG=skia:

Change-Id: I58a07d4ce35bdd03e7edcf50e88d9982b3885546
Reviewed-on: https://skia-review.googlesource.com/8101
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-02-06 20:34:55 +00:00
Brian Salomon
604c9890cc Work around broken std::unique_ptr<const T[]> constructor from std::unique_ptr<T>&& in older libstdc++.
Change-Id: Ie4190800369515168203ff98b3e3fe0e2d790f1a
Reviewed-on: https://skia-review.googlesource.com/8072
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-02-06 19:59:02 +00:00
Joe Gregorio
8a945603e4 Update image cipd version.
BUG=skia:
NOTRY=true

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

Change-Id: Ie3750b6a4b5d49e2b45dc9b9a5f2de8da8d31c49
Reviewed-on: https://skia-review.googlesource.com/8083
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2017-02-06 19:44:57 +00:00
Herb Derby
6852170229 Add sk_sp make variant to SkArenaAlloc.
R=bungeman@google.com
BUG=skia:

Change-Id: Iec588cb6946f0230ff3d3ec46499c365aa6b8d09
Reviewed-on: https://skia-review.googlesource.com/8067
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2017-02-06 19:27:14 +00:00
Ethan Nicholas
e1d9cb82bf Revert "Added dead variable / code elimination to skslc."
This reverts commit 113628d761.

Reason for revert: Looks to have caused https://bugs.chromium.org/p/chromium/issues/detail?id=688939

Original change's description:
> Added dead variable / code elimination to skslc.
> 
> BUG=skia:
> 
> Change-Id: Ib037730803a8f222f099de0e001fe06ad452a22c
> Reviewed-on: https://skia-review.googlesource.com/7584
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
> 

TBR=egdaniel@google.com,benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=skia:

Change-Id: I85599e4ca2bc6bfd782edc163f67b64195d6ae65
Reviewed-on: https://skia-review.googlesource.com/8077
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2017-02-06 19:25:13 +00:00
Jim Van Verth
a84898dbb8 Have ShadowTessellators transform path; add SkShadowTessellator base class
BUG=skia:6119

Change-Id: I37639ebab43c9f32f48d2d7dbb8d4619efb9b09e
Reviewed-on: https://skia-review.googlesource.com/8061
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-02-06 19:15:16 +00:00
Matt Sarett
a8f4139279 Revert "Allow conversion from non-opaque to opaque"
This reverts commit bfe8dca7df.

Reason for revert: I believe I've fixed all the call sites,
so this is now ok.

Original change's description:
> Allow conversion from non-opaque to opaque
> 
> BUG:683787
> 
> Change-Id: I1b78cc8d1b5d3917a2a952da036b93022e99e053
> Reviewed-on: https://skia-review.googlesource.com/7374
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
> 

TBR=msarett@google.com,robertphillips@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I2369c9b81321ca83a7063bb85e66ddbc03914d2b
Reviewed-on: https://skia-review.googlesource.com/8073
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
2017-02-06 19:03:54 +00:00
Brian Osman
d05cdc310c Fix two bugs when deciding to tile. Large images were always tiling.
usedTileBytes was actually usedTileTexels, so we underestimated how much
of the image we were using by a factor of 4.

Then, to determine if we were using more than 50% of the image, we wrote:
usedTileBytes < 2 * bmpSize;

That meant we were off by another factor of 4.

BUG=skia:

Change-Id: Iba2acc75c5e7603543f05e4473b73f76a2937d7a
Reviewed-on: https://skia-review.googlesource.com/8063
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-02-06 19:03:36 +00:00
Hal Canary
5e221e7ca2 SkXPS: new document API.
Now requires a IXpsOMObjectFactory pointer.  This will allow sandboxing
to be used in Chromium.  (Chrome will create a IXpsOMObjectFactory, then
go into sandbox mode, then call SkDocumenent::MakeXPS().)

Change-Id: Ic4b48d4b148c44e188d12a9481fb74735546528a
Reviewed-on: https://skia-review.googlesource.com/8052
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-02-06 19:00:28 +00:00
Matt Sarett
604971e39a Reland "Respect canvas size and frame offset in webp decoder"
Original Change Reviewed At:
https://skia-review.googlesource.com/c/7800

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN

BUG=skia:6185

Change-Id: I92baa9070e15ef3c62dd347c08c906c2715dda10
Reviewed-on: https://skia-review.googlesource.com/8050
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-02-06 18:55:41 +00:00
Hal Canary
9e2a319a1b SK_USE_SDL is never defined
This CL also removes dead code, SkOSWindow_SDL.cpp.

Change-Id: I659dc271a4bcceba7fe29ac5ac6e79d684153870
Reviewed-on: https://skia-review.googlesource.com/8070
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-02-06 18:52:54 +00:00
Kevin Lubick
0a51b48e20 Get linux vulkan running on Intel NUC
This CL includes a few things.

First, it creates two CIPD assets, a Debug and Release version
of the Linux Vulkan Intel Driver. The driver is still young, 
so the Debug version helps us submit better bugs to the 
developers.  The current version is Mesa 13.04:
ftp://ftp.freedesktop.org/pub/mesa/13.0.4/

Second, it fixes the GN flavor to not purge out all environment
variables - a leftover from the GYP -> GN migration.

Third, it sets environment variables on both Test and Perf such
that the vulkan sdk, libraries and drivers all linked in from
their homes in CIPD.

BUG=skia:6133

Change-Id: I9a999e24a0203ab7a9f4733bee1110b79e616935
Reviewed-on: https://skia-review.googlesource.com/7994
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-02-06 18:37:12 +00:00
Mike Klein
94151daec4 Remove unused files in third_party/libsdl.
Change-Id: I44c95341e7bc631322a9802bce3fdc5a0e8c4bb5
Reviewed-on: https://skia-review.googlesource.com/8066
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2017-02-06 18:25:22 +00:00
Mike Klein
be28ee2974 Make iOS main() functions normal.
The weird foo_mains are no longer needed when we build with GN.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm-Debug-iOS

Change-Id: Iae50696741e0dc277d96dda4968a1ae41cb17c8a
Reviewed-on: https://skia-review.googlesource.com/8064
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2017-02-06 18:02:41 +00:00
Mike Klein
160907f8de Clean up more references to GYP.
Delete files only used by GYP, and files that used GYP.  Neither can
possibly be actively used.  Beyond that, just a couple doc tweaks.

Change-Id: I0220d7226e7bb9ed7c54a7d8f2906a718313c521
Reviewed-on: https://skia-review.googlesource.com/8062
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Hal Canary <halcanary@google.com>
2017-02-06 17:55:35 +00:00
Brian Salomon
199fb875c5 Add refcnt'ed immutable vertices class for SkCanvas::drawVertices.
Change-Id: I44a62f5efc674d0adbbf4a33690c3ded9fab3803
Reviewed-on: https://skia-review.googlesource.com/8040
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-02-06 17:52:22 +00:00
Hal Canary
abc88d2636 SkXPS: Begin refactoring SkXPSDevice
A later CL will move all document-level fields  and methods into
SkXPSDocument.

  * SkXPSDocument cnstructor requires a xps factory ptr.

  * All device layers share ownership of a single factory.

  * renames SkDocument_XPS to the easier-to-say SkXPSDocument.

  * Moves autocoinitialize to DM.

TODO: pipe the IXpsOMObjectFactory* into the SkDocument api.

No change in rendered documents.

Change-Id: I8a4680a3603951b1ce5f6c1de48714d4902061a9
Reviewed-on: https://skia-review.googlesource.com/7998
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-02-06 17:13:38 +00:00
Mike Klein
ef46b2f8e4 Fix getMaxResidentSetSizeMB() on iOS.
It's reporting numbers rather too large to be plausible.

Change-Id: I09a32ebcf6d5c9cbab18d2099cfd394efe650b24
Reviewed-on: https://skia-review.googlesource.com/8055
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-02-06 17:06:11 +00:00
Mike Klein
3b3af84570 Add back a gaggle of iOS bots.
These should match the old ones I removed last week.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm-Debug-iOS,Build-Mac-Clang-arm64-Debug-iOS,Build-Mac-Clang-arm64-Release-iOS

Change-Id: I2d56332c11cdd410ab6e60d888231cf7ecd5eafd
Reviewed-on: https://skia-review.googlesource.com/8051
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-02-06 16:52:51 +00:00
Hal Canary
aa1d75868c remove all GYP files
Change-Id: I66e4fb028664f1e20cd307da0a784ff5d7b9eb5e
Reviewed-on: https://skia-review.googlesource.com/8056
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-02-06 16:28:25 +00:00
Mike Reed
a99b6ceff9 start removing uses of SkScalarMul
BUG=skia:6197

Change-Id: Ic444c7ee4ca547f483dc8232dcacd6d4ba87d913
Reviewed-on: https://skia-review.googlesource.com/8041
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-02-06 15:12:41 +00:00
Mike Klein
adacaef799 iOS: cd into Documents folder at startup
CQ_INCLUDE_TRYBOTS=skia.primary:Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release

Change-Id: I7beadad742bc9444491c7a315a827297a636d70d
Reviewed-on: https://skia-review.googlesource.com/8049
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-02-06 15:06:45 +00:00
Mike Klein
c34b235871 Start updating iOS docs.
This removes the docs for the old GYP-based local development and
replaces them with ones for GN-based development.

I have not yet updated the docs for iOS on the bots... still in flux.

Change-Id: I1f9c5c1a3331ae192dc08c614ef7da26924f808e
Reviewed-on: https://skia-review.googlesource.com/8002
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-02-06 14:38:25 +00:00
Matt Sarett
0312a0cec9 Add toXYZD50() to SkColorSpace API
BUG=skia:

Change-Id: I996877c9482453fc5ff58b0f66fa29715bea2191
Reviewed-on: https://skia-review.googlesource.com/8024
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2017-02-06 14:00:13 +00:00
Robert Phillips
b3050b91f0 Revert "Respect canvas size and frame offset in webp decoder"
This reverts commit 0f33970c8d.

Reason for revert: msan complaint

Original change's description:
> Respect canvas size and frame offset in webp decoder
> 
> BUG=skia:6185
> 
> Change-Id: Id543cb689a5e33b800ebbc18f4a234e78a4c4298
> Reviewed-on: https://skia-review.googlesource.com/7800
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> 

TBR=borenet@google.com,msarett@google.com,scroggo@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=skia:6185

Change-Id: Ie01dc7d7ebfebe36a235335d0d8cb28bccb2ecff
Reviewed-on: https://skia-review.googlesource.com/8046
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-02-06 13:43:16 +00:00
Eric Boren
af482d5420 Roll recipe DEPS
BUG=skia:

Change-Id: Ie29ddf2e13149b5904817f244aca87da9bfcba0c
Reviewed-on: https://skia-review.googlesource.com/8045
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-02-06 12:50:11 +00:00
Jeremy Roman
20fbada09b Remove unused assignment in SkScan::AntiFillXRect.
Found by static analysis.

Change-Id: I566da96938a735d29acc854cd700fcb944bc09fc
Reviewed-on: https://skia-review.googlesource.com/8026
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-02-05 15:37:40 +00:00
UpdateSKPs
5c160dd722 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I5d0141c2727b59e7453df8a69b6020f4c2957894
Reviewed-on: https://skia-review.googlesource.com/8027
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-02-05 07:31:03 +00:00
Matt Sarett
0f33970c8d Respect canvas size and frame offset in webp decoder
BUG=skia:6185

Change-Id: Id543cb689a5e33b800ebbc18f4a234e78a4c4298
Reviewed-on: https://skia-review.googlesource.com/7800
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2017-02-03 21:45:30 +00:00
Brian Salomon
d1ac9823fd Improved SkShadowUtils caching
Multiple ambient and spot shadows can be cached for each geometry.

Spot shadows can be reused when x,y light offset is different.

We categorize spot shadows for rrects as either transparent, opaque with partial umbra occlusion, or opaque with full umbra occlusion and use that to improve cache performance.

Change-Id: Id530bdaa5092edb46c8f584979090fbb766307fc
Reviewed-on: https://skia-review.googlesource.com/7987
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-02-03 21:36:13 +00:00
Matt Sarett
ea518f0a7e Disable unpremul f16 image tests
Testing premul f16 is enough test coverage, and we aren't doing
this correctly right now anyways (the drawing code assumes a
premul bitmap, we would need to premultiply after the unpremul
decode).

BUG=skia:

Change-Id: I798f56db67faadd0348974453a05cd726b9a509c
Reviewed-on: https://skia-review.googlesource.com/8020
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-02-03 20:31:55 +00:00
Mike Klein
e0b048cd1d iOS: set up device dirs to be relative
Hopefully this get things pushed to and reading from directories under
com.google.dm's Documents.  I've hardcoded to DM's app for now.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release

Change-Id: Iea54b3604b65551e4a486b50d6c7ea9aba26f869
Reviewed-on: https://skia-review.googlesource.com/8004
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-02-03 19:26:55 +00:00
Florin Malita
8d3ffad811 Revert "Revert "Don't instantiate shaders with non-invertible local matrix""
This reverts commit 0e86725ba4.

Reason for revert: landed Blink fix, should pass layout tests now

Original change's description:
> Revert "Don't instantiate shaders with non-invertible local matrix"
> 
> This reverts commit ebfbba9bbd.
> 
> Reason for revert: breaks chrome blink tests for linux_trusty_blink_rel
> 
> Original change's description:
> > Don't instantiate shaders with non-invertible local matrix
> > 
> > Change-Id: If11f7d57cbf45929632d858f91c02d8f5fa9f442
> > Reviewed-on: https://skia-review.googlesource.com/7885
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
> > 
> 
> TBR=fmalita@chromium.org,reed@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> 
> Change-Id: I41c5513523c27dc4bad68008f08369185897b7a2
> Reviewed-on: https://skia-review.googlesource.com/7948
> Commit-Queue: Hal Canary <halcanary@google.com>
> Reviewed-by: Hal Canary <halcanary@google.com>
> 

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

Change-Id: I373ea6c61a256fd8cfbfb34f8b2d39a3ff8109db
Reviewed-on: https://skia-review.googlesource.com/8003
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-02-03 18:21:33 +00:00
Mike Reed
8d3196bdfc expose new tight-bounds method on SkPath
BUG=skia:

Change-Id: Ie50df49c1758af203042a84dc2cd505046373d2c
Reviewed-on: https://skia-review.googlesource.com/7996
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-02-03 17:26:43 +00:00
Mike Klein
20f00784b8 Restore ios_flavor.
Just like Android, there's enough special ceremony needed to move files
to and from iOS devices that this reads most clearly as its own flavor.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release

Change-Id: I01c8e5494c364cc61e219568f022219f7c3f5fdc
Reviewed-on: https://skia-review.googlesource.com/7988
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-02-03 16:23:06 +00:00
Brian Salomon
0dda9cb881 Make shadow tessellators fail gracefully and add unit test for this.
Change-Id: I42a9d06a18928588347a6dea2f6150518ba29aa8
Reviewed-on: https://skia-review.googlesource.com/7886
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2017-02-03 16:08:46 +00:00
Stephen White
48ded38da9 GrTessellator (AA): Fix for missing fill artifacts.
Some regions were being incorrectly filled due to setting
connector edges winding to zero *after* merging collinear edges.
This would cause the merge to add the wrong winding value. Putting the
adjust before the call to merge_collinear_edges() fixes the problem.

Also, some pixels were not getting coverage due the inner edge being
+1 winding. Using -2 winding for inner edges ensure the interior
regions are -1 winding, which gives coverage in more cases of
self-intersection. This required flipping the comparisons on the
intruding-vertices workaround.

BUG=skia:

Change-Id: I216fa3d30c196a6b7773637e48802f6572c993c7
Reviewed-on: https://skia-review.googlesource.com/7962
Commit-Queue: Stephan White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-02-03 15:47:07 +00:00
Jim Van Verth
0f90668c12 Initialize some more variables in SpotShadowTessellator
BUG=skia:6119

Change-Id: Id3a3042df6254e3367713b82f3b08257e0be71b1
Reviewed-on: https://skia-review.googlesource.com/7992
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2017-02-03 15:29:37 +00:00
Mike Reed
0d7dac8fb8 experimental tight-bounds
not sure about api -- perhaps it could just return the bounds, and make them 0,0,0,0 if the path
is empty -- the caller can trivially know if the path is empty themselves.

BUG=skia:

Change-Id: I2dbb861e8d981b27c5a6833643977f5bd6802217
Reviewed-on: https://skia-review.googlesource.com/7989
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-02-03 15:19:05 +00:00
Ethan Nicholas
113628d761 Added dead variable / code elimination to skslc.
BUG=skia:

Change-Id: Ib037730803a8f222f099de0e001fe06ad452a22c
Reviewed-on: https://skia-review.googlesource.com/7584
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2017-02-03 14:37:55 +00:00