Commit Graph

24766 Commits

Author SHA1 Message Date
Mike Klein
050ffa9ad5 SkRasterPipeline: memcpy-free tail code.
We don't call the tail code nearly as often as the body code, but when we do and call memcpy(), we first have to vzeroupper back into the non-AVX world.  That does seem to slow things down considerably.  You wouldn't think it, but this gives a nice speed up (tested on Windows).

BUG=skia:

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

Change-Id: I40cbe1e529f2431825edec7638265601b64e7ec5
Reviewed-on: https://skia-review.googlesource.com/3783
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-20 21:33:01 +00:00
Mike Reed
958788ab46 remove 4 legacy flags (clients already updated)
BUG=skia:

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

Change-Id: I187e50e09ed7a3316719fae51af770259928fdf9
Reviewed-on: https://skia-review.googlesource.com/3785
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2016-10-20 21:08:50 +00:00
liyuqian
c83ada98e2 Quickly fix the forgotten forceRLE
BUG=skia:
TBR=reed@google.com,caryclark@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2436593004

Review-Url: https://chromiumcodereview.appspot.com/2436593004
2016-10-20 14:01:52 -07:00
Brian Osman
7c2114fc2f Cache GrColorSpaceXforms
Even with a modest cache, we're going to get nearly 100% hit rate
for typical usage scenarios. I'm hoping to avoid the special case
caching of sRGB -> destination, and just rely on the more general
mechanism.

Yes, this is yet-another cache class. I wanted to use one of many
that are laying around, but couldn't find a good fit. On the plus
side, it's not much code.

BUG=skia:

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

Change-Id: I943be5c99f0d691a87ffe8c5bc3067a8eb491fc2
Reviewed-on: https://skia-review.googlesource.com/3726
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-10-20 20:47:33 +00:00
Brian Osman
bbf251bf22 Hash the gamut of XYZ color spaces, to speed up comparison
Also going to use this to allow caching of GrColorSpaceXforms

BUG=skia:

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

Change-Id: I56ed2dcbdddc22046263f56d68f2d6aea55547c8
Reviewed-on: https://skia-review.googlesource.com/3670
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-10-20 20:21:35 +00:00
Mike Klein
8ffb26051f Turn off buffer security checking in Release builds.
I'm seeing /GS's _security_check_cookie() show up as a signficant piece of time when profiling.  That's mostly just annoying noise.  We generally use our Release builds for performance testing and Debug for correctness, so it seems like a fair thing to disable in Release builds... it's a sort of ASAN thing, which we only do in Debug on other platforms.

BUG=skia:

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

Change-Id: I9b3cf4c5cf943fc2549f5bf91a1f6f7e41733e2c
Reviewed-on: https://skia-review.googlesource.com/3782
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2016-10-20 20:16:12 +00:00
Mike Reed
34a2ca1747 Add query to imagegenerator if it can efficiently generate a texture
BUG=skia:

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

Change-Id: If5fb6ee82e47f0d007b4ad7c46ac73574eccd8c5
Reviewed-on: https://skia-review.googlesource.com/3780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-10-20 20:09:18 +00:00
caryclark
78a37a5336 fix more fuzz, carsvg
Fix a few kevin-generated fuzzers.

Remove an assert triggered by
carsvg when thrown through the
distance field stuff.

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

Review-Url: https://chromiumcodereview.appspot.com/2427253005
2016-10-20 12:36:16 -07:00
borenet
61013b235f Add retries to the InfraTests bot's "update go pkgs" step
BUG=skia:5874
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2437143002

Review-Url: https://chromiumcodereview.appspot.com/2437143002
2016-10-20 11:38:30 -07:00
caryclark
96dc1c9efa fix more chrome asan fuzzer failures
Small change to gracefully quit
when fuzzer values cause pathops
to fail.

TBR=reed@google.com
BUG=657411, 657559
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2426393004

Review-Url: https://chromiumcodereview.appspot.com/2426393004
2016-10-20 11:34:10 -07:00
liyuqian
3f490cc642 Make SkFixedRound/Ceil/FloorToFixed as inline func
The macros that we were using will return unsigned int32 instead of
signed int32 because of the last 0xFFFF0000 mask. That may bring
problems if we right shift that result.

Special thanks to mtklein@google.com for helping me find out this issue.

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

Review-Url: https://chromiumcodereview.appspot.com/2433233003
2016-10-20 11:23:10 -07:00
Mike Klein
c0d550143e Add missing sse41::run_pipeline.
In practice this doesn't matter (we'll use sse2::run_pipeline) but the UBSAN bot caught me.

TBR=herb@google.com

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

Change-Id: Ib40ee4a8ebf274bbc10a78a80e7b1ad06cf644e5
Reviewed-on: https://skia-review.googlesource.com/3736
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-10-20 18:12:46 +00:00
liyuqian
2add0ffdaa Use Analytic AA in SkAAClip.
This will fix some Chrome ref tests.

The main issue here is that the SkAAClip requires: (1) we blit in order, and (2) we must forceRLE.

Note that this still depends on the global gSkUseAnalyticAA to turn on the Analytic AA.

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

Review-Url: https://chromiumcodereview.appspot.com/2430343003
2016-10-20 11:04:39 -07:00
borenet
ed20a7096d gen_tasks.go: Use new helpers from specs package
BUG=skia:5626
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2438043002

Review-Url: https://chromiumcodereview.appspot.com/2438043002
2016-10-20 11:04:32 -07:00
Mike Klein
90a381f5b2 Turn on /OPT:REF and /OPT:ICF too.
These two together shave another 5MB off dm.exe, from 16MB -> 11MB.

BUG=skia:

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

Change-Id: Id216867e0ad5bc115fbd4006095860dff9204947
Reviewed-on: https://skia-review.googlesource.com/3738
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2016-10-20 18:03:50 +00:00
Mike Klein
916ca1d8a0 Compile for Windows with /Zc:inline.
By default, MSVC generates standalone versions of all functions, including static inline functions that are only inlined.  Those standalone versions are dead code.  This /Zc:inline flag makes MSVC behave like all the other compilers, omitting those standalone functions.  Chrome builds with this flag.

This CL cuts dm.exe and nanobench.exe each down by about 3MB, 19->16MB for DM and 15MB->12MB for nanobench.  This shouldn't affect runtime speed, and didn't signficantly change clean build time on my Z840 (~90s either way).

BUG=skia:

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

Change-Id: Ibd2a80337fcefc3f4eaf4335ea4e95a80bb4fddb
Reviewed-on: https://skia-review.googlesource.com/3735
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2016-10-20 17:50:44 +00:00
raftias
80739b842a Fixed potential read-out-of-bounds issue in ICC profile loading
For 8-bit precision color LUT in A2B0 ICC color space profiles
it was skipping every 2nd CLUT value and then reading past the end
of the CLUT data table. Now it properly increments through
8-bit precision color LUT tables in profiles.

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

Review-Url: https://chromiumcodereview.appspot.com/2434563007
2016-10-20 10:38:58 -07:00
Matt Sarett
313c4635e3 Safely handle unsupported color xforms in SkCodec
(1) The transformation code *should* support any src SkColorSpace
that we successfully parse.  This is agreed upon internally and
by clients.  The fact that we currently don't is just a bug...
(2) We cannot and will not support all SkColorSpaces as dsts.

So if we fail to make a SkColorSpaceXform, we should assume that
it was caused by a bad dst color space.  The correct response in
this case is to return kInvalidConversion.  I've rewritten the CL
to do this.

The fact that weird src spaces will sometimes trigger a
kInvalidConversion is just a bug that is being actively worked on.

TBR=reed@google.com

BUG=skia:

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

Change-Id: Iac2b45120507ec71b1b3d555c61931f7348dad9e
Reviewed-on: https://skia-review.googlesource.com/3661
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Robert Aftias <raftias@google.com>
2016-10-20 17:31:35 +00:00
Mike Reed
ff6a07f4de remove unneeded legacy flags
BUG=skia:

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

Change-Id: I24fc613defd6c9e1dc7df08f6e3c3f2874df56d2
Reviewed-on: https://skia-review.googlesource.com/3732
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-10-20 17:17:13 +00:00
caryclark
4209dcbbc6 fix debug version of cubicpair detected by asan
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2435063002

Review-Url: https://chromiumcodereview.appspot.com/2435063002
2016-10-20 10:11:27 -07:00
Mike Reed
95f6b399e5 remove some legacy flags for g3
BUG=skia:

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

Change-Id: Idc30ed9d367026352747619580bf12da7aa9ffe5
Reviewed-on: https://skia-review.googlesource.com/3672
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-10-20 17:07:01 +00:00
Mike Klein
0bcfeac251 Compile Release builds with -momit-leaf-frame-pointer.
Unlike -fomit-frame-pointer, this doesn't make debugging or profiling any more difficult, as it only applies to leaves.  It will make our code (negligibly) smaller and (negligibly) faster.

Mostly I just find it easier to read the disassembly without all the rbp gymnastics getting in the way.


BUG=skia:

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

Change-Id: I4b96aee7619791d5980de7f46e82836ca08a6456
Reviewed-on: https://skia-review.googlesource.com/3700
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-20 17:01:14 +00:00
Mike Klein
2878e76247 SkRasterPipeline refactor
- Give body and tail functions separate types.  This frees a register in body functions, especially important for Windows.

  - Fill out default, SSE4.1, and HSW versions of all functions.  This means we don't have to mess around with SkNf_abi... all functions come from the same compilation unit where SkNf is a single consistent type.

  - Move Stage::next() into SkRasterPipeline_opts.h as a static inline function.

  - Remove Stage::ctx() entirely... fCtx is literally the same thing.

This is a step along the way toward building the entire pipeline in src/opts, removing the need for all the stages to be functions living in SkOpts.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3680
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot

Change-Id: I7de78ffebc15b9bad4eda187c9f50369cd7e5e42
Reviewed-on: https://skia-review.googlesource.com/3680
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-20 16:59:23 +00:00
Robert Phillips
d2fe3bce07 Fix bug in raster implementation of SkRRectsGaussianEdgeMaskFilter
The bug was the raster version didn't correctly handle the CTM.

This CL also adds a way to test the behavior (by translating the
reveal GM around in SampleApp)

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

Change-Id: Iaacc905167d20b453203307e5ef840f552fdbb38
Reviewed-on: https://skia-review.googlesource.com/3729
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2016-10-20 16:57:35 +00:00
ethannicholas
ddb37d67ba re-re-land of skslc now automatically turns on derivatives support
Only change from last attempt is putting the call to shaderDerivativeExtensionString behind a check for shaderDerivativeSupport to avoid a spurious assertion failure.

TBR=benjaminwagner@google.com

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

Review-Url: https://chromiumcodereview.appspot.com/2437063002
2016-10-20 09:54:00 -07:00
Brian Salomon
4a5e49dc6e Run ANGLE in GL mode on test bots
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Win-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE-Trybot

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

Change-Id: Ic3d6efcb331ac3947026476e357e76214f2ccdf8
Reviewed-on: https://skia-review.googlesource.com/3724
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-10-20 16:16:31 +00:00
caryclark
a35ab3e6e0 fix fuzzers
Many old pathops-related fuzz failures have built up while
the codebase was under a state a flux. Now that the code
is stable, address these failures.

Most of the CL plumbs the debug global state to downstream
routines so that, if the data is not trusted (ala fuzzed)
the function can safely exit without asserting.

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

Review-Url: https://chromiumcodereview.appspot.com/2426173002
2016-10-20 08:32:18 -07:00
Mike Reed
65820db5e1 use 'real' SkImageDeserializer
BUG=skia:

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

Change-Id: Ic07ea6bd2756f1be08e80075c236a70ce6c08a3b
TBR=mtklein
Reviewed-on: https://skia-review.googlesource.com/3727
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-20 15:03:15 +00:00
Mike Klein
43c2526665 Viewer on Mac.
- Support ObjC / ObjC++
  - Build SDL on Mac.
  - Build viewer on Mac.

Patched from Jim's CL.

BUG=skia:

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

Change-Id: I12663f2ed2969e22f51aefed560fbc22b2524167
Reviewed-on: https://skia-review.googlesource.com/3760
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-20 14:57:49 +00:00
Mike Klein
580046bc1a Slim down builder CIPD packages.
The Android builders don't need the clang_linux asset.
I don't think anything needs the android_sdk asset.

BUG=skia:

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

Change-Id: I3e61ba23ed661a998f9dc0eb4c46cc8eb1cf3226
Reviewed-on: https://skia-review.googlesource.com/3740
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-20 14:49:02 +00:00
Robert Phillips
a29a956d0e Add SkRRectsGaussianEdgeMaskFilter
SkRRectsGaussianEdgeShader will be removed once the usage of the
MaskFilter flavor has been propagated to Android

I will complete the raster implementation in a follow up CL.

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

Change-Id: I42470b17308582b040a5db1a7283c3d717405345
Reviewed-on: https://skia-review.googlesource.com/3632
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-10-20 14:06:52 +00:00
Ben Wagner
e1d6ff172e Class delete call unsized delete when size not known.
Some classes directly call global operator new to reserve space in
addition to the space the class will occupy. These clases must be
deleted with the unsized global operator new. If a build is configured
such that sized global operator new is called from a delete expression,
this must be overridden by such classes.

TBR=reed
Only affects private bits of SkData.

Change-Id: I797935db17a37aa8c2ca7b562a4ea65a7978a9f0
Reviewed-on: https://skia-review.googlesource.com/3678
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-19 21:41:00 +00:00
reed
f4ace0124f Revert "Revert "remove unneeded flags for android""
This reverts commit bbe17a6670.

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

Review-Url: https://chromiumcodereview.appspot.com/2426343005
2016-10-19 14:38:05 -07:00
Mike Klein
5d169587b8 More explicit body/tail function versioning.
MSVC was not picking up that tail==0 in the non-_tail versions of the kernel functions in SkRasterPipeline_opts.h.  This passes through a template bool parameter to convey the same message.

This makes the body code a bit smaller and faster on MSVC now by removing the tail>0 check and code.

BUG=skia:

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

Change-Id: I8bf81717a83f216eb1eb28a75dac41779dc508c1
Reviewed-on: https://skia-review.googlesource.com/3669
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-19 21:12:12 +00:00
Mike Klein
ec07b0b9c1 Try again with SkOpts_hsw and 8x pipelines, attempt 2.
Originally reviewed: https://skia-review.googlesource.com/3667

This time around, don't forget swap_src_dst.

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

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

Change-Id: I127e7fb2bf9d3bfee61c3749fc1c334c9476cb4e
Reviewed-on: https://skia-review.googlesource.com/3676
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-19 21:01:43 +00:00
Mike Klein
21f74906a5 Revert "Try again with SkOpts_hsw and 8x pipelines."
This reverts commit 4f02ce7995.

Reason for revert: missed a stage


TBR=mtklein@chromium.org,msarett@google.com,herb@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1dc1229183d67fe72977e492977a97b19dc630d2
Reviewed-on: https://skia-review.googlesource.com/3675
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-10-19 20:42:26 +00:00
Mike Klein
4f02ce7995 Try again with SkOpts_hsw and 8x pipelines.
All SkNx are now in anonymous namespaces and all their methods are force-inlined.  We should not have any ODR problems.

This is still a near 2x speedup, more so for f16.

BUG=skia:

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

Change-Id: I6db9a46f7164f49827ab4d7983e80bf8cea99995
Reviewed-on: https://skia-review.googlesource.com/3667
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-19 20:24:46 +00:00
scroggo
aef247af0a Subtract start_coord instead of adding it
crrev.com/2420843003 (DIFFERENT ISSUE) introduced some changes in
sampled images. (I already corrected the problem for interlaced PNGs
in crrev.com/2424353003.)

When deciding whether a row is needed, we need to subtract the starting
coordinate, similar to how we subtracted fFirstRow in SkPngCodec.

This should "fix" the remaining untriaged images in Gold (i.e. we will
go back to producing the original image).
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2440563002

Review-Url: https://chromiumcodereview.appspot.com/2440563002
2016-10-19 12:56:46 -07:00
borenet
d6a1defd1f Recipe fix for buildbotless bots
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2435803003

Review-Url: https://chromiumcodereview.appspot.com/2435803003
2016-10-19 12:56:43 -07:00
Mike Klein
d8765e3455 Define SK_CPU_SSE_LEVEL on Windows builds.
We check this define to know which intrinsics we can call safely.  The -msse flags set it for us on non-MSVC, but MSVC has no such switch.  We do this in GYP (and Chrome's GN) too.  No need for any defines on :avx or :hsw targets... the /arch:AVX and /arch:AVX2 do set SK_CPU_SSE_LEVEL for us.

Most directly, this means things like Sk4f::thenElse() will now use blendps when compiled into SkOpts_sse41.cpp.

BUG=skia:

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

Change-Id: Ie80a8b8e5544250b45cfe51c40604fade06b3ef9
Reviewed-on: https://skia-review.googlesource.com/3666
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
2016-10-19 18:01:37 +00:00
Mike Klein
4bc6d8fd3d Make monobench more usable on Windows.
All small stuff:
  - printf doesn't go to the Visual Studio console, SkDebugf does;
  - the Windows console can't show an ellipsis;
  - overwriting the console line is a little different on Windows.

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

Change-Id: I0175afd6d0147feaff8ff6edae2b35a7435c25f5
Reviewed-on: https://skia-review.googlesource.com/3664
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-19 17:43:07 +00:00
xidachen
95e34a3d84 Correct a small mistake in SkPath::build_arc_conics
In this function, when count is 0, it maps the dst point to start, where
it should really be stop. A test case is also added.

In the test case, it should be drawing three lines, without the change in
SkPath class, it will draw 2 lines only with the top horizontal line
missing because it maps the dst point to the start point, and hence
the horizontal line is not drawn.

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

Review-Url: https://chromiumcodereview.appspot.com/2409983004
2016-10-19 10:24:29 -07:00
borenet
bfa5b45578 Add key params for buildbotless bots in DM/nanobench
BUG=skia:5626
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2424793005

Review-Url: https://chromiumcodereview.appspot.com/2424793005
2016-10-19 10:13:32 -07:00
Mike Klein
12b2193fcc Remove shaderc DEPS.
Was just perusing DEPS and I realized shaderc is probably no longer needed.

BUG=skia:

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

Change-Id: I054a424b26e51dbfee77dbe79e1e175399627902
Reviewed-on: https://skia-review.googlesource.com/3561
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2016-10-19 16:51:02 +00:00
Mike Klein
4d7bb93914 disable packed texture tests on TSAN bot
https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-TSAN
is flaky.

BUG=skia:

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

Change-Id: I5c80970cb81db71f4acc89dc287952b1d2a3656c
Reviewed-on: https://skia-review.googlesource.com/3662
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-19 16:46:05 +00:00
Greg Daniel
77b53f66ba Support inline uploads in Vulkan
BUG=skia:

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

Change-Id: I5913c336aa33851d6d2e80d9638df2efa8ac0400
Reviewed-on: https://skia-review.googlesource.com/3586
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2016-10-19 16:06:12 +00:00
Mike Klein
560285d93a Remove custom NINJA_STATUS.
I think the Ninja [nnn/mmm] counts started going off when we landed this.
I'd rather have the [nnn/mmm] be correct than have the timestamps.

Change-Id: I96d24664789393056f94202f2b549ed5a4fe4bdb
Reviewed-on: https://skia-review.googlesource.com/3604
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-19 16:01:09 +00:00
Brian Osman
9f532a3598 Add helper to create random AsFPArgs for Ganesh unit tests
Reduces copy-paste and eases maintenance. I'll be adding another field to
AsFPArgs soon, and this is going to streamline that change.

BUG=skia:

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

Change-Id: I6372ed5dce50a5ba9d73039bd4714e34502a1f75
Reviewed-on: https://skia-review.googlesource.com/3639
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-10-19 16:01:07 +00:00
borenet
5e3d9c2e31 Roll recipe DEPS
This is for https://codereview.chromium.org/2426013002/ ("Add Swarming
magic environment variables to ENV_WHITELIST")

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

Review-Url: https://chromiumcodereview.appspot.com/2438553002
2016-10-19 08:58:29 -07:00
Mike Klein
7c78f3a863 SkNx: use SK_ALWAYS_INLINE thoroughly.
MSVC's not so good at inlining.  So tell it where to.  It won't hurt the others.

This has nothing directly to do with ODR safety.  The anonymous namespaces and 'static' on freestanding functions provide the correctness we need there.  But this change can help to mechanically prevent the sort of problems ODR violations can lead to.

I may follow up by extending this strategy further to Sk4px, which is used to implement a lot of the legacy xfermodes.

BUG=skia:

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

Change-Id: I927334c40910ce43da1fbabdf243c9cd5438bea6
Reviewed-on: https://skia-review.googlesource.com/3608
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-10-19 15:56:30 +00:00