Commit Graph

41876 Commits

Author SHA1 Message Date
Mike Reed
f93d021680 remove allocs for colorfilters
For a modified bench, that installs colorfilterimagefilters and then draws a colored rect:
before:
  13/13  MB	18	1.66µs	1.67µs	1.67µs	1.73µs	1%	█▂▂▃▄▁▂▁▁▃	8888
after:
  13/13  MB	17	874ns	878ns	882ns	920ns	2%	█▁▂▂▁▂▂▁▁▁	8888


Some observations
- we can sometimes build several rasterpipelines in a single draw
    - filterColor4f (can be called more than once)
    - actual_blit
- imagefilter::affectsTransparentBlack
    - calls through to the colorfilter
    - this in-turn invokes filterColor4f, which makes a pipeline
    + if we had elimnated the imagefilter (for a colorfilter) sooner,
      we would not have called affectsTransparentBlack
    + adding a virtual to colorfilter for affectsTransparentBlack might
      also avoid having to call filterColor4f (at least for filters
      that know how to determine this simply)

For now however, increasing the arena's stack-budget seems to brush over
these other inefficiencies.

More observations
- we decide to use pipeline before we fold-away the colorfilter (w/ no shader)
   - the pipeline later notices this, and becomes just a color draw
   - if we had removed the colorfilter earlier, we would have taken a different
     (legacy, slightly faster) blitter (logically using memset).

Change-Id: I1a63414acbf23967c4d4daed9956bdc4d81148c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214682
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-05-20 14:23:46 +00:00
Ethan Nicholas
9e6a39356e support for SkSL interpreter external function calls
Bug: skia:
Change-Id: Ie8c873bf7fc795567ad812f56c37bee4c06213bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214307
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-05-20 13:49:56 +00:00
Mike Klein
a8ceb775c1 Revert "remove SkMiniPicture and co."
This reverts commit 046ecb1b5e.

Reason for revert: Flutter

Original change's description:
> remove SkMiniPicture and co.
> 
> This was an optimization for Chromium that I believe is no longer
> relevant in a world of PaintOpBuffers.
> 
> Change-Id: Ic7526715a0ef1c3cec387a44189b7d56d5107af5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213680
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,reed@google.com,chinmaygarde@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ibf1ccee88c9ea140210cb9258ec96f9841e84c24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214661
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-20 13:18:48 +00:00
recipe-roller
b27f89dd93 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/dc8e23d35612f213aa1ee554196f640cc315e4d5 git-cl: Keep git push traces (ehmaldonado@chromium.org)
  https://crrev.com/94bcf1e49becef00de942795f0c1a9bdcc3aa91c autoninja: Don't echo command-line unless NINJA_SUMMARIZE_BUILD=1 (agrieve@google.com)
  https://crrev.com/bdce6c8361a0ee54a06d49c948be14225f9dd2aa Fix auto_stub.py for skipped tests. (maruel@chromium.org)
  https://crrev.com/4403107f990858f9f1f0ce5d8ecd119bd191001d Roll bb (nodir@google.com)
  https://crrev.com/e7f0b4c62c551cde2723d1456e007fcb10f53ac2 Revert "git-cl: Keep git push traces" (mmoss@chromium.org)
  https://crrev.com/8c66565649b7cae3bc80bba872b730902be7aa03 gclient: Fix applying patches to branch heads. (ehmaldonado@chromium.org)
  https://crrev.com/1b52d87ab5367886500c91a92cf310d5aa76e284 Reland "git-cl: Keep git push traces" (ehmaldonado@chromium.org)
  https://crrev.com/006b29556dadaacd5760dee35656acfc1eb5007e [lucicfg] Bump lucicfg version v1.7.2 -> v1.7.4. (tandrii@chromium.org)
  https://crrev.com/980d615e7e5d3984053c4553582d53e4ffebe3bd [bootstrap/win] Upgrade Python to 2.7.13. (tikuta@chromium.org)
  https://crrev.com/059f26bcb4225150dbb70acf1b73a03197311ae8 do not hardcode the path to bash by using the #!/usr/bin/env bash shebang (robert.nagy@gmail.com)
  https://crrev.com/cd862e37ea2953271923618ba5321c794b74867b gclient_scm: Decode Git output centrally for better Python 3 support (raul@tambre.ee)
  https://crrev.com/a04028c2e67b6d7554f8114de97c52507052c6fc Fix invalid Python file encoding "utf8" (raul@tambre.ee)
recipe_engine:
  https://crrev.com/563a82246180d949917bcd444411bbeb82604e97 [buildbucket] Add an assertion in search.py (nodir@google.com)
  https://crrev.com/027f3197fcb0c799794870ea3ee830b48e684f22 [buildbucket] Load all build fields (nodir@google.com)
  https://crrev.com/db2cbdb914cf9ba6fd0a0c2fa7adf2e9f5494a19 [buildbucket] Fix field mask in search (nodir@google.com)
  https://crrev.com/d114ff1c76cda45632eee3f5a414c8331afc2e74 Remove deprecated test suite. (iannucci@chromium.org)
  https://crrev.com/070d2629767dd69e3bc57058697d358936ffd600 Add attr_list_type to attr_util. (iannucci@chromium.org)
  https://crrev.com/00d1622e64d6c32d331c839953d309e2a21eb07f Add CrashEngine exception. (iannucci@chromium.org)
  https://crrev.com/3ba5a56b800ec3b6914ea433fbc8e376a653f405 Small improvement to PropertiesClient. (iannucci@chromium.org)
  https://crrev.com/cf87dfeacf9d4704fe7a12c7a4a58a5f88b988f9 Move FakeEnviron and merge_envs to their own file. (iannucci@chromium.org)
  https://crrev.com/c56bf21def1e889dfc29fd4fc137a203a6164ec3 Explicitly pass start_dir path through RecipeEngine. (iannucci@chromium.org)
  https://crrev.com/aec728797e5061bcb52537478c1202df8ea80abb Fix buildbucket module properties in recipe runbuild API. (iannucci@chromium.org)
  https://crrev.com/6c5f5ab7c20a45535d0c7e4ebb7527ff1d05ee53 Backport little recipe changes from the big refactor. (iannucci@chromium.org)
  https://crrev.com/89de9b614d19f40ca3659686ca4a9718cc0cbc83 Enable subsequences and/or regexes checking in a Steps's command. (gbeaty@chromium.org)
  https://crrev.com/a552175dc3f1dd19da04013be850c511f111f58f Update implementation_details.md with upcoming refactor. (iannucci@chromium.org)
  https://crrev.com/3f1ace721c34a30de9e89f8721d4d42995a2c0f0 Update documentation in recipe_test_api. (gbeaty@chromium.org)
  https://crrev.com/f9955f78cb9fa09207e05d3d0bd93164708baacc Fix accidental regression caused by PathClient fix. (iannucci@chromium.org)
  https://crrev.com/5a39fa23e6c9a2dcb570f8442da6fb0cd3874a92 Remove deprecated test recipe. (iannucci@chromium.org)
  https://crrev.com/90c7e6503a4950cb84a57b909bac36dd9eec595f Display scheduler input request as a log to avoid flooding the build page (sergiyb@chromium.org)
  https://crrev.com/842aee7058c3e87013ef8d59aef4c39fcceef507 Fix masked ImportErrors for config.py and test_api.py. (iannucci@chromium.org)
  https://crrev.com/20932a9267873300fb27651bd9572bfbb284930c [buildbucket] Do not crash on empty input (nodir@google.com)
  https://crrev.com/f34152acbe36ba6b4dc513885271cfca8838a634 Fix invalid Python file encoding "utf8" (raul@tambre.ee)
  https://crrev.com/440a45cae6b329192f60313e41714bd78e886c8d Refactor recipe engine step execution. (iannucci@chromium.org)
  https://crrev.com/9b3ed1d5e912b8e9195060c3401da9b5370f2fce Revert "Refactor recipe engine step execution." (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia55db2fc634bab1323135ad555f2b591a238d8ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214662
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-05-20 13:16:06 +00:00
recipe-roller
622e36f783 Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/43c083d5a4289d0f470be79c9d78b5b9916de3e5 Add missing options to git_rebase_update man page (dmcardle@chromium.org)
  https://crrev.com/5f6b911ad015b2660547353753bcfe50ae932fe2 Roll vpython. (iannucci@chromium.org)
  https://crrev.com/ccd2b4da9a7e6ddf126c0b4437db75201836154c Pruning old directories/ready files. (karenqian@google.com)
  https://crrev.com/80ee78e7fa9f84c3b36cc57e02034dc726d782af Convert print statements to Python 3 style (raul@tambre.ee)
recipe_engine:
  https://crrev.com/ec34fcd3b421c95e45a22bec90e9e676cd84928c Update implementation notes with information about magic_check_fn. (gbeaty@chromium.org)
  https://crrev.com/f95f160ff4e99f7c6b2e4cce06923e75cc158e26 Add beefier access control to StepData, remove StepDataAttributeError. (iannucci@chromium.org)
  https://crrev.com/a71df95b9d2348c680f05746607e12822d34517e Final simplification to RecipeResult. (iannucci@chromium.org)
  https://crrev.com/b4dac2345a45f448221fba393266fbcf541619db [buildbucket] Add search limit (nodir@google.com)
  https://crrev.com/a9d4612406b19eb642d31bff5b5a0705a783b5b0 Move StepData to its own file. (iannucci@chromium.org)


R=rmistry@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia9a9245089fb8cb46369f31b4acf5c3138a68e7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214660
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-05-20 12:33:25 +00:00
skia-autoroll
f4c66ccafc Roll third_party/externals/angle2 06de90c66c18..70958d15db70 (8 commits)
06de90c66c..70958d15db


git log 06de90c66c18..70958d15db70 --date=short --no-merges --format='%ad %ae %s'
2019-05-19 cnorthrop@google.com Let attribute aliasing logic detect overflow
2019-05-18 syoussefi@chromium.org Vulkan: Add support for surface multisampling
2019-05-17 jonahr@google.com Fix formatting issue in generate_stats
2019-05-17 ynovikov@chromium.org docs: Update Android Test Instructions reference
2019-05-17 syoussefi@chromium.org Vulkan: Tighten descriptor stage usage hints
2019-05-17 cnorthrop@google.com Allow attribute linking for ES2
2019-05-17 jmadill@chromium.org Fix KHR-GLES dEQP test paths.
2019-05-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-headers/src 4b0985f29277..9674a1a54754 (2 commits)


Created with:
  gclient setdep -r third_party/externals/angle2@70958d15db70

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=csmartdalton@google.com

Change-Id: I1a410f181b52e189478ffccd2b610100b1304a57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214642
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-20 05:34:25 +00:00
skia-autoroll
6ff3fcabbb Roll ../src 5ca9f9560554..4dc9df3b70d6 (533 commits)
5ca9f95605..4dc9df3b70


Created with:
  gclient setdep -r ../src@4dc9df3b70

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=csmartdalton@google.com

Change-Id: I9895670a15cfca1e6e57797d296ae23c0666b57c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214643
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-20 04:49:25 +00:00
skia-autoroll
6a8c3f07e8 Roll third_party/externals/swiftshader ab1e2b49fe88..7ab65834bc02 (24 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ab1e2b49fe88..7ab65834bc02


git log ab1e2b49fe88..7ab65834bc02 --date=short --no-merges --format='%ad %ae %s'
2019-05-19 swiftshader.regress@gmail.com Regres: Update test lists @ 977a0a43
2019-05-19 capn@google.com Implement OpImageQueryLod
2019-05-18 chrisforbes@google.com Use custom normalization for SNORM formats in sampler
2019-05-18 amaiorano@google.com CMake: add C4471 warning as error for MSVC: enum forward declare must have underlying type
2019-05-18 swiftshader.regress@gmail.com Regres: Update test lists @ f7d78f74
2019-05-18 chrisforbes@google.com Fix lod plumbing for Fetch
2019-05-18 chrisforbes@google.com Recognize more structs in vkGetPhysicalDeviceFeatures2
2019-05-18 hliatis@google.com Update third_party/llvm-7.0/Android.bp to match BUILD.gn
2019-05-18 capn@google.com Fix cubemap sampling at (0, 0, 0) division by zero
2019-05-18 capn@google.com Allow four texture coordinates
2019-05-18 capn@google.com Fix OpImageSampleProjDref
2019-05-18 capn@google.com Fix baseMipLevel usage
2019-05-17 hliatis@google.com Fix mismatched alloc/free in Swapchain
2019-05-17 hliatis@google.com VkPhysicalDevice should use Instance allocation scope
2019-05-17 fdegans@chromium.org [fuchsia] Disable build warning.
2019-05-17 sugoi@google.com Unnormalized texture coordinates
2019-05-17 sugoi@google.com Allow ImageView to cast compressed texture into other formats
2019-05-17 bclayton@google.com LLVMReactorDebugInfo: Fix warning that function may end without return.
2019-05-17 bclayton@google.com CMakeLists: Allow the sanitizers to be enabled for GCC
2019-05-17 bclayton@google.com Kokoro: Build macOS builds with debug info
2019-05-17 bclayton@google.com Fix warning treated as error
2019-05-17 capn@google.com Don't process unused texture coordinates
2019-05-17 chrisforbes@google.com Check for rest of interactions between usage bits and format features
2019-05-17 swiftshader.regress@gmail.com Regres: Update test lists @ ab1e2b49


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

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=csmartdalton@google.com

Change-Id: I5340f6e368a5d1a17968de38f3d044669ac0d40d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214641
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-20 04:36:35 +00:00
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