Commit Graph

41868 Commits

Author SHA1 Message Date
skia-recreate-skps
ed2255b4ea Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: If30dc9700348aec06aff9c18dfaacf4d7d8f5d3a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214600
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-05-19 08:57:00 +00:00
Ravi Mistry
8c6bfe5350 Whitespace test
NoTry: true
Bug: skia:
Change-Id: I9cc104c178fc19c352e94f81ba22375ede4d29dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/189489
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: Ravi Mistry <rmistry@google.com>
2019-05-18 13:05:29 +00:00
Mike Reed
7bf160e6d5 Revert "Revert "Experimental SkVideoDecoder, to wrap calls to ffmpeg""
fix google3 build (don't build the new gm)

This reverts commit 9cc53fa4bd.

Change-Id: I3de8aa4959f62a380f1d4aaf2b788d250775e194
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214442
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-05-17 21:25:48 +00:00
Mike Klein
76346ac952 Reland "byte align everything in SkSLInterpreter"
This is a reland of e5288369c8,
with newly added calls to align() removed.

Original change's description:
> byte align everything in SkSLInterpreter
>
> It's nicer to write code without having to think about alignment,
> and this appears to be faster too:
>
>     $ ninja -C out nanobench && out/nanobench --config 8888 -m GM_runtime_cf_interp_1 --loops 0
>     Before:  24/24  MB	1	18.4ms	18.5ms	18.5ms	18.6ms	0%	█▆▅▅▅▁▅▅▅▅	8888	GM_runtime_cf_interp_1
>     After:   23/23  MB	1	16.6ms	16.6ms	16.6ms	16.7ms	0%	▁▁▃█▅▂▁▁█▅	8888	GM_runtime_cf_interp_1
>
> While byte-aligning things I noticed the write16 and write32 calls could
> do all their bytes at once, in one call to resize() instead of 2-4 calls
> push_back.
>
> Looking at that disassembly, I noticed vector_instruction can be static.
>
> Change-Id: I22985b49d6745797da10bbd6b6f2002a7618f2ae
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214338
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: Ibb990bc3c3334115e22cf36234aa58b662b8ca4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214354
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-05-17 21:01:48 +00:00
Michael Ludwig
9cc53fa4bd Revert "Experimental SkVideoDecoder, to wrap calls to ffmpeg"
This reverts commit 69596470d1.

Reason for revert: breaks google3 roll
third_party/skia/HEAD/gm/video_decoder.cpp:8:10: fatal error: 'experimental/ffmpeg/SkVideoDecoder.h' file not found
#include "experimental/ffmpeg/SkVideoDecoder.h"

Original change's description:
> Experimental SkVideoDecoder, to wrap calls to ffmpeg
> 
> If you want to build ffmpeg locally, here is how I configured it:
> ./configure --disable-all --enable-avcodec --enable-avformat --enable-decoder=h264 --enable-parser=h264 --enable-demuxer=mov --enable-static --enable-protocol=file
> 
> Bug: skia: 9085
> Change-Id: If1892b62314af26e56ecb0293850f7554106c3d0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213664
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Nathaniel Nifong <nifong@google.com>

TBR=mtklein@google.com,bsalomon@google.com,scroggo@google.com,brianosman@google.com,fmalita@chromium.org,reed@google.com,nifong@google.com

Change-Id: I33d68e11a67ccf3616296e3377b42438c7f95edc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia: 9085
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214441
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-05-17 20:43:10 +00:00
Mike Klein
b6a6f0829e disassemble on unit test failure
Change-Id: I072f5d72f64eb683cc90c2890313ee289487cff3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214403
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-05-17 20:36:48 +00:00
Ravi Mistry
f9c9bdcf78 [Recreate SKPs bot] Fix failing web pages
Do idea why the old pages were failing. Updated the deep links.

NoTry: true
Bug: skia:9083
Change-Id: Iba7c5777f8eaf69d2f0d84c07f8fad385e683422
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214302
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-05-17 20:34:58 +00:00
Mike Klein
91702486bb remove stray kNop
Change-Id: I09c8f768c0bf87deee0fe22686ffe21c2c9c5901
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214401
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-05-17 20:29:18 +00:00
Robert Phillips
efb9f14aba Add testing of mipmaps to backend allocation test
Bug: skia:9091
Change-Id: I1d928d3180c47d22a41c69e169da00b598318d47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214301
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-05-17 19:57:56 +00:00
Brian Salomon
a34e0fc837 Revert "Make SkSurface::asyncRescaleAndRead use kStrict constraint"
This reverts commit 451b01fe09.

Reason for revert: broke the existing GMs

Original change's description:
> Make SkSurface::asyncRescaleAndRead use kStrict constraint
> 
> Also fix crash if SkSurface has no color space.
> 
> Bug: skia:8962
> Change-Id: I5826ddb10daa46f286d2405b7229ea4f0aefa8f2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214306
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=bsalomon@google.com,brianosman@google.com

Change-Id: I8e5738492ebd0705c7a3e50a4e7bf9f1d8af578b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214420
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-05-17 19:57:14 +00:00
Jim Van Verth
bb66ac1e5e Fix matrix layout in Metal.
2x2 matrices are packed tightly, 3x3 have a pad of float at the end
of each row.

Bug: skia:8243
Change-Id: I07c3d051643aed13e37bc52a13cdd67a3728d71b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214364
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-05-17 19:37:46 +00:00
Mike Klein
b1e4a4e438 Revert "byte align everything in SkSLInterpreter"
This reverts commit e5288369c8.

Reason for revert: bad merge with code adding calls to align()

Original change's description:
> byte align everything in SkSLInterpreter
> 
> It's nicer to write code without having to think about alignment,
> and this appears to be faster too:
> 
>     $ ninja -C out nanobench && out/nanobench --config 8888 -m GM_runtime_cf_interp_1 --loops 0
>     Before:  24/24  MB	1	18.4ms	18.5ms	18.5ms	18.6ms	0%	█▆▅▅▅▁▅▅▅▅	8888	GM_runtime_cf_interp_1
>     After:   23/23  MB	1	16.6ms	16.6ms	16.6ms	16.7ms	0%	▁▁▃█▅▂▁▁█▅	8888	GM_runtime_cf_interp_1
> 
> While byte-aligning things I noticed the write16 and write32 calls could
> do all their bytes at once, in one call to resize() instead of 2-4 calls
> push_back.
> 
> Looking at that disassembly, I noticed vector_instruction can be static.
> 
> Change-Id: I22985b49d6745797da10bbd6b6f2002a7618f2ae
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214338
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,brianosman@google.com,ethannicholas@google.com

Change-Id: Id4d0c1dfcfe8b2f91cf90e636cae5bef760df0e6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214353
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-17 19:21:59 +00:00
Mike Reed
69596470d1 Experimental SkVideoDecoder, to wrap calls to ffmpeg
If you want to build ffmpeg locally, here is how I configured it:
./configure --disable-all --enable-avcodec --enable-avformat --enable-decoder=h264 --enable-parser=h264 --enable-demuxer=mov --enable-static --enable-protocol=file

Bug: skia: 9085
Change-Id: If1892b62314af26e56ecb0293850f7554106c3d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213664
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2019-05-17 19:18:28 +00:00
Mike Klein
e5288369c8 byte align everything in SkSLInterpreter
It's nicer to write code without having to think about alignment,
and this appears to be faster too:

    $ ninja -C out nanobench && out/nanobench --config 8888 -m GM_runtime_cf_interp_1 --loops 0
    Before:  24/24  MB	1	18.4ms	18.5ms	18.5ms	18.6ms	0%	█▆▅▅▅▁▅▅▅▅	8888	GM_runtime_cf_interp_1
    After:   23/23  MB	1	16.6ms	16.6ms	16.6ms	16.7ms	0%	▁▁▃█▅▂▁▁█▅	8888	GM_runtime_cf_interp_1

While byte-aligning things I noticed the write16 and write32 calls could
do all their bytes at once, in one call to resize() instead of 2-4 calls
push_back.

Looking at that disassembly, I noticed vector_instruction can be static.

Change-Id: I22985b49d6745797da10bbd6b6f2002a7618f2ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214338
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-17 19:12:53 +00:00
Michael Ludwig
63af31a0ab Force snapBackImage() to N32 for image filters
Change-Id: I6232413452488d11782fc6ae2d5927bac2a3a26d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214363
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-05-17 19:07:58 +00:00
Brian Salomon
451b01fe09 Make SkSurface::asyncRescaleAndRead use kStrict constraint
Also fix crash if SkSurface has no color space.

Bug: skia:8962
Change-Id: I5826ddb10daa46f286d2405b7229ea4f0aefa8f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214306
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-17 19:07:48 +00:00
Brian Osman
f3fa60010e Implement postfix ++/--, and use the correct 1 for floats
Change-Id: I0e6e8205998f3058cb59e279704e23989bccc66b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214192
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-17 19:01:05 +00:00
Mike Klein
b45ee83cc7 warmup learning sksl interpreter
Do some TODOs.

I have no idea what I am doing with align()... just following what
appears to be the pattern without understanding what it does.

Change-Id: I1b15240e037769efdacb399992cac1786101cd0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214329
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-17 16:47:10 +00:00
Brian Salomon
201700fa86 Initial version of rescaling async readback API
This is implemented at backend-neutral level and so misses some
opportunities to reduce the number of passes in the GPU backend.

Filter quality is interpreted as:
none - single nearest neighbor resampling
low - chain of bilinear resamplings. 2x up/down except for one
step which may be smaller than 2x.
medium - same as low
high - when both scale factors are up then same as low but with bicubic
filtering rather than linear. Otherwise, same as low.

Bug: skia:8962

Change-Id: I4467636c14b802d6a0d9b5c363c1ad9e87a1a44b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213831
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-05-17 16:39:10 +00:00
Michael Ludwig
08b260c27b Refactor complex CTM management for image filters
This consolidates the scale decomposition and SkMatrixImageFilter logic
that SkCanvas did during a layer save into an applyCTM function. It is
expanded to handle the extra transformation steps for backdrops.

The backdrop logic in SkCanvas has also been updated to only snap the
necessary portion of the buffer, and also use applyCTM. Previously any
backdrop filter with a CTM beyond scale/translate would do no filtering.

Unfortunately, perspective has caused too many headaches to solve in a
single CL, so its issues are recorded at skbug.com/9074.

Other minor fixes that were encountered while working on this:
- Raster's CopyFromRaster() incorrectly held onto the subset after copying.
  (unfortunately it looks like snapBackImage() needs to copy; referencing
   the subset directly corrupted the output).
- SkLocalMatrixImageFilter now supports complex CTMs assuming its input
  supports CTMs.
- CropRects need to apply in the source coordinate system, but are not
  aware of complex CTMs when performing clipping. For a simple fix, any
  filter with a crop rect set cannot support complex CTMs until that's
  updated.

Bug: skia:9074, chromium:959412
Change-Id: I1276a4ec400dfefb958c14beda078bdf1d087baa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213080
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-17 16:12:11 +00:00
Jim Van Verth
9756c36666 Metal: Add check for invalid shader functions
Bug: skia:8243
Change-Id: Ibcf34d72d06d06cbffc411afade277b6d94991b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214304
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-05-17 15:44:19 +00:00
Robert Phillips
9b16f81858 Switch over to using new direct allocation API in our tests (as much as possible at least)
To fully switch over we need the entry point that uploads data but most of the old call
sites can be switched over now.

Change-Id: I362b1dfde7d88bf8d3f8f90155f53d9ac442a329
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214300
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-17 15:41:50 +00:00
Greg Daniel
4f71cccb9d Appease compilers after swizzle change.
Change-Id: I9d9f4f84c72899780b59b5a20436b30b5c54ccc2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214303
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-05-17 15:28:19 +00:00
Robert Phillips
dc62b64a72 Add helper method to fill in yuvaIndices given a yuv format
This is just a start. If we like it we can make it more public.

The general idea is to make it easier for clients to fill in the yuvaIndices array for the more esoteric YUV formats (e.g., YUY2).

Change-Id: Ie5684f52c0b2681f00a6b146476e46c71303a4e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214182
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-17 15:20:09 +00:00
Greg Daniel
eb4a827d5b Add GrCaps call to get swizzle from BackendFormat and ColorType.
This CL just adds the caps function. Follow on CL will use it thoughout
the gpu backend to remove GrPixelConfig dependency for swizzle.

Bug: skia:6718
Change-Id: Id299c72a9dc9f33411d8fd9c806158da20372474
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214188
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-17 14:38:08 +00:00
Brian Osman
4e93feba40 Interpreter: Implement ternary operator
Change-Id: If05661224d4a53e1854180d9b280ebb7a7ac2793
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214191
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-17 14:29:23 +00:00
Brian Osman
4c63a1eada Particles + Interpreter: Bind particle's SkRandom to "rand"
Update sample effects to use that (and remove the need for the
hacky workaround "random -> frame" affector I was using).

Current perf on my workstation, 6k particles updating:
native: 0.67 ms
interp: 0.97 ms

Change-Id: I3a2168c210d7431ffffe2b87ab6adade69f1dce7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214190
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-17 14:29:22 +00:00
Ethan Nicholas
48a75aa661 redesigned SkSL interpreter vector instructions
Bug: skia:
Change-Id: I7737eacdb5acd6b19d95fce7ee76945f0f9d0d7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214221
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-05-17 14:24:18 +00:00
Avinash Parchuri
0d380182d5 Apply layer in-point as a negative time-bias for multi-frame image assets.
The time argument to skottie::ImageAsset::getFrame() is expected to be relative to the in-point of the layer.

Change-Id: I9299e07af2254353e0799a827813c1bd75bdec26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213800
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2019-05-17 14:24:17 +00:00
skia-autoroll
3c9fc2d3b2 Roll third_party/externals/swiftshader d61595f367af..ab1e2b49fe88 (8 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d61595f367af..ab1e2b49fe88


git log d61595f367af..ab1e2b49fe88 --date=short --no-merges --format='%ad %ae %s'
2019-05-16 chrisforbes@google.com Unbreak some synchronization edge cases
2019-05-16 chrisforbes@google.com Various fixes for VS-only pipeline
2019-05-16 chrisforbes@google.com Remove asserts blocking atomic load/store in Image storage class
2019-05-16 chrisforbes@google.com Whitelist supported capabilities
2019-05-16 chrisforbes@google.com Use provided VkPipelineLayout in BindDescriptorSets
2019-05-16 chrisforbes@google.com Avoid RValue<SIMD::Int>(int)
2019-05-16 bclayton@google.com SpirvShader: Precision fixes for GLSLstd450Ldexp
2019-05-16 swiftshader.regress@gmail.com Regres: Update test lists @ d61595f3


Created with:
  gclient setdep -r third_party/externals/swiftshader@ab1e2b49fe88

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=michaelludwig@google.com

Change-Id: Ia7fac7908d2e92f80bc5816f7f2b950fbc7cffc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214260
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-17 14:19:13 +00:00
Michael Ludwig
4325270445 Remove rounding on explicit clip geometry
The rounding that was introduced as part of https://skia-review.googlesource.com/c/skia/+/213132
creates more problems than it is worth, leading to inconsistencies between
the CPU and GPU rounding during non-AA rasterization.

This removes the rounding so that solid-color axis-aligned draws and clipped
draws are always consistent. This reduces the likelihood of running into the
issues seen in 423834 (although follow-up changes are needed to apply this
same clip consolidation to all SkPaints and texture draws). It does re-expose
the background-clip: content-box issue is 957946, but this should be addressed
in Blink instead (see https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/paint/box_painter_base.cc?rcl=6269d3758afa9216aa560a0406851a4e628f5a11&l=818)

Bug: chromium:957946, chromium:423834
Change-Id: I64540c7d9ceaf46e410ac16c5cdccc6c4bad0089
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214189
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-05-17 14:19:12 +00:00
skia-autoroll
e5b3e400b6 Roll ../src 8c742b264faa..5ca9f9560554 (448 commits)
8c742b264f..5ca9f95605


Created with:
  gclient setdep -r ../src@5ca9f95605

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=michaelludwig@google.com

Change-Id: I7d1c47a0687cc6561f1ef8d2087767d76e1dc834
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214262
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-17 14:14:09 +00:00
skia-autoroll
1eb4557ff2 Roll third_party/externals/angle2 6ddb7768fa25..06de90c66c18 (9 commits)
6ddb7768fa..06de90c66c


git log 6ddb7768fa25..06de90c66c18 --date=short --no-merges --format='%ad %ae %s'
2019-05-16 syoussefi@chromium.org Vulkan: Re-enable a handful of suppressed ES3 tests
2019-05-16 jmadill@chromium.org Break debugger on assertion failure.
2019-05-16 jmadill@chromium.org Fix Clang warning in dEQP-KHR tests.
2019-05-16 syoussefi@chromium.org Add a note regarding RenderDoc+Android+Vulkan+dEQP
2019-05-16 jmadill@chromium.org Add KHR-GLES dEQP tests.
2019-05-16 syoussefi@chromium.org Vulkan: make sure default uniforms are in std140
2019-05-16 aleino@nvidia.com Use D3D11 GetDimensions driver workaround for integer cube maps
2019-05-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src f815e6fe51af..9dfd4b835807 (6 commits)
2019-05-16 jiajia.qin@intel.com Do struct mapping under conditions


Created with:
  gclient setdep -r third_party/externals/angle2@06de90c66c18

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=michaelludwig@google.com

Change-Id: I1ca80f9a38c962fd5be6208ae2b6c7080384a7bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214261
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-17 14:14:08 +00:00
Robert Phillips
0c6daf034b Direct backend object allocation API
Change-Id: Ie8733a4db8061c67678a41cf239ce4407e967df7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212965
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-05-17 12:14:48 +00:00
Brian Osman
c6568afa0b Remove Nima from DEPS, experiments, Viewer, etc.
Change-Id: Ide69d3c9f0f02e886bd0d52723d425a548edd2e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214187
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-16 17:02:11 +00:00
Jim Van Verth
d063e8b6f1 Revise Mac windowing and context creation.
Windowing and events:
* Use a NSTrackingArea to only capture mouse events within the view.
* Use ViewDelegate to track events rather than pulling them out of the
  event pump.
* Sets up the autoreleasepool correctly to clear out old events

Context creation:
* Don't use a subview for OpenGL (it's not necessary).
* For Metal, use a CAMetalLayer rather than MTKView.
* Add vsync support to Metal.

Bug: skia:8737
Change-Id: I8ea5cc865df65f8dc2fef47082bf6a4d1657cf03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213672
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-16 16:46:11 +00:00
Brian Osman
1091f02b40 Interpreter: Change all Load/Store ops to use immediate indices
Avoids the need for a PushImmediate (which usually also required
a Nop for alignment) on every load/store. And it makes the codegen
for local vs. global identical, which simplifies the byte-code
generator in a few spots.

This means that places previously using DupDown now need something that
dupes the *top* N elements of the stack. Just use Vector + Dup, and
remove the (now unused) DupDown instruction.

Also add/implement kStoreSwizzleGlobal, which was the last missing
load/store op (and add a test case).

Change-Id: Id450272c11f4f1842c9d57bc5114e7f81e9e926e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214062
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-16 14:19:51 +00:00
Robert Phillips
f0ced62f91 Make createTestingOnlyBackendTexture and deleteTestingOnlyBackendTexture no longer be behind GR_TEST_UTILS (take 2)
Change-Id: Id00d0692c99c7eaec685788fec29ee189f020f2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214180
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-16 14:07:20 +00:00
skia-autoroll
3f4b4dcb51 Roll ../src a01010a50904..8c742b264faa (455 commits)
a01010a509..8c742b264f


Created with:
  gclient setdep -r ../src@8c742b264f

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=michaelludwig@google.com

Change-Id: I116e1d83aafcbe057bbccd38a53e1c32c6561e7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214131
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-16 06:00:11 +00:00
skia-autoroll
9ad72e7928 Roll third_party/externals/angle2 bff32703c75b..6ddb7768fa25 (10 commits)
bff32703c7..6ddb7768fa


git log bff32703c75b..6ddb7768fa25 --date=short --no-merges --format='%ad %ae %s'
2019-05-16 jmadill@chromium.org Remove angle:: prefix in angle_deqp_gtest.
2019-05-16 jmadill@chromium.org Add IsDirectory helper function to system_utils.
2019-05-15 tobine@google.com Vulkan:Allow same-named var in nested scope
2019-05-15 timvp@google.com Android: Fix symbol compression logic
2019-05-15 jmadill@chromium.org dEQP: Make deqp_path GN variable public.
2019-05-15 jmadill@chromium.org Suppress flaky OpenGL ES3 test.
2019-05-15 jmadill@chromium.org Update dEQP build config to use GN templates.
2019-05-15 geofflang@chromium.org Use clamp cast for stencil mask in all versions.
2019-05-15 courtneygo@google.com Add support for OES_depth_texture
2019-05-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src e935dac9ef8a..f815e6fe51af (1 commits)


Created with:
  gclient setdep -r third_party/externals/angle2@6ddb7768fa25

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=michaelludwig@google.com

Change-Id: I79d44180e941315190d04bc78d3365f368f497c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214130
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-16 05:55:21 +00:00
skia-autoroll
7921042df7 Roll third_party/externals/swiftshader 3d7b7ea134d1..d61595f367af (10 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3d7b7ea134d1..d61595f367af


git log 3d7b7ea134d1..d61595f367af --date=short --no-merges --format='%ad %ae %s'
2019-05-15 hliatis@google.com Have final present function perform a VkQueueWaitIdle()
2019-05-15 capn@google.com Fix negation of unsigned value warning treated as error
2019-05-15 chrisforbes@google.com Fix color blend state handling for multiple attachments
2019-05-15 chrisforbes@google.com Move constant specialization to SpirvShader
2019-05-15 sugoi@google.com 32 bit safe code
2019-05-15 chrisforbes@google.com Remove Context::separateAlphaBlendEnable etc
2019-05-15 chrisforbes@google.com Now that we have swizzles forced, don't bother with channel replacement
2019-05-15 chrisforbes@google.com Override imageview swizzles for channel replacement edge cases
2019-05-15 bclayton@google.com CMakeLists: Silence pedantic MSVC warning about switch with no cases
2019-05-15 swiftshader.regress@gmail.com Regres: Update test lists @ 3d7b7ea1


Created with:
  gclient setdep -r third_party/externals/swiftshader@d61595f367af

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=michaelludwig@google.com

Change-Id: I770e8de2018fa834792c77e14beace4b0ac35c9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214129
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-16 05:40:41 +00:00
Mike Klein
b3c0bf6426 Revert "manually register codecs in DM"
This reverts commit 9b2633e294.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> manually register codecs in DM
> 
> We'll want to do this when we've got Google3 refactored
> to slice out each of these four codecs into its own little target.
> 
> Small tweaks to make SkPngCodec match the pattern of the rest.
> 
> Should be harmless to have both the compile-time and runtime
> registration, right?
> 
> Change-Id: Ic72394764ac267758dc1023e85f3d0c4b655d420
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213872
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,scroggo@google.com,brianosman@google.com

Change-Id: If3272ef1985757a93ada229f833408d4bf83ddfb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214108
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:03:02 +00:00
Mike Klein
4bf6fd68db Revert "add runtime registration for encoders"
This reverts commit 940c3f136d.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> add runtime registration for encoders
> 
> If we want to make these external dependencies mix-and-match in Google3,
> we'll need to group together the encoders and decoders, everything that
> dependends on each external library.
> 
> I was tempted to try to remove these generic encoder entrypoints and
> replace them with calls to the direct equivalents, but I'm not sure
> that's necessary.  I think we can just register encoders like decoders.
> 
> Change-Id: I41d2d1bb3ceb1daafa62c95d345eb6a70249be75
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213880
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=mtklein@google.com,scroggo@google.com,brianosman@google.com

Change-Id: I3ee9353ca6b3c6c11feba0503b672d8986a347be
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214107
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:02:39 +00:00
Mike Klein
0af9929416 Revert "remove #if guards in SkAndroidCodec.cpp"
This reverts commit 8ae07c319d.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> remove #if guards in SkAndroidCodec.cpp
> 
> I'm not sure I entirely understand what's going on here, but it looks
> like these removed guards aren't needed?  Can you walk me through what
> they're for?  I think they're getting in the way of runtime registered
> codecs working with SkAndroidCodec.
> 
> Change-Id: I078bfb77797b4a3419f02a20d77d0aa8d7bce09d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213876
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>

TBR=mtklein@google.com,scroggo@google.com

Change-Id: I92883e0e8e334766b6004faf0801689d6f4cde9d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214106
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:02:14 +00:00
Mike Klein
c9deffaed2 Revert "skip runtime registration on iOS"
This reverts commit 017126fe1d.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> skip runtime registration on iOS
> 
> These encoders and decoders are not built and linked
> in Google3 iOS builds.  We just need to hack a bit to
> get DM to build there... we never run it.
> 
> Change-Id: I6cdfbb6df3c4fe30096b2715cad004bccec0bcaa
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214002
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=mtklein@google.com,brianosman@google.com

Change-Id: Id8e9d8ccb79f5cae6d7af4a42dfbe514f77fc417
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214103
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:01:45 +00:00
Mike Klein
ab737e433a Revert "unguard SkFooEncoder.cpp"
This reverts commit 32c32b9a6c.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> unguard SkFooEncoder.cpp
> 
> We used to define SkFooEncoder::Encode() either
> here or as failing stubs in SkImageEncoder.cpp.
> 
> Now that we're not defining them in SkImageEncoder.cpp,
> we can lift these guards here.
> 
> Change-Id: Id916811225450e4c3a84f1e7f38ae510be1d6268
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214004
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,scroggo@google.com

Change-Id: I089a21d2fd4928969d956e47981a36efa71d9378
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214101
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 22:01:34 +00:00
Mike Klein
9509e04550 Revert "move encoders into codec_srcs"
This reverts commit 6a89611353.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> move encoders into codec_srcs
> 
> This is a stepping stone towards runtime registration.
> 
> This should work in concert with all the other CLs
> that are in the roll pipeline to get things building.
> 
> Change-Id: Id95f1e0bbea2f48f7b5fa438f4310f8db1d5b978
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214083
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,scroggo@google.com,brianosman@google.com

Change-Id: I4808404f0968e8a4deaf259a46e366152b7590fc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214100
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 21:57:59 +00:00
Mike Klein
9098c28d92 Revert "format public.bzl"
This reverts commit f4c2c8e31b.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> format public.bzl
> 
> Change-Id: Ie92b366e5d6e6fcb99c56e80f34e315ad1be8831
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214093
> Reviewed-by: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com

Change-Id: I66f11062ea21127e5d4c44eec932bd41f99d4f2d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214099
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-15 21:57:31 +00:00
Ethan Nicholas
f9ef1b893d fixed SkSL interpreter copying from nullptr
Bug: skia:
Change-Id: I15aa378cfd3c2425b111c639c25995c0e6ace634
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214063
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-05-15 21:23:47 +00:00
Mike Klein
f4c2c8e31b format public.bzl
Change-Id: Ie92b366e5d6e6fcb99c56e80f34e315ad1be8831
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214093
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-15 20:54:00 +00:00