Commit Graph

729 Commits

Author SHA1 Message Date
Stephen White
0d70b716ca Add first Dawn dependencies.
Add Dawn repo to DEPS.
Add skia_use_dawn flag to BUILD.gn (default false).
Add Metal.framework for Mac when building for Dawn/Metal.
Add d3d12, dxgi, d3dcompiler libs when building for Dawn/D3D12.
Disable SPIRV validation when building for Dawn.
Add BUILD.gn for dawn and dawn/third_party libraries.

(Note that I had to split the declare_args() section of BUILD.gn
into two, so that I could refer to skia_use_dawn in skia_enable_spirv_validation.
If there's a better way to do this, I'm open to suggestions.)

Change-Id: I9bdaf990694f6b8bcce6b77c1a8b1620a7396e34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225137
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-10 21:21:17 +00:00
Brian Osman
489cf8888c Reland "Make the SkSL interpreter opt-in"
This reverts commit b6b966aa43.

Change-Id: I58c34fc8520384157c5adb0056f3568b8ef1d844
Bug: skia:9230
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225939
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-09 15:45:24 +00:00
Brian Osman
b6b966aa43 Revert "Make the SkSL interpreter opt-in"
This reverts commit 5cfbee286d.

Reason for revert: Breaking DM in Google3

Original change's description:
> Make the SkSL interpreter opt-in
> 
> Bug: skia:9230
> 
> Change-Id: I50b707a7dd372882a983a4570810dae05c2a3638
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225723
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I5ba231ab75dd44cc1d22d497f9d7e4b732e3aa14
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9230
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225938
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-08 20:47:03 +00:00
Craig Stout
b27aeb71b8 [fuchsia] Use //src/graphics/lib/vulkan for in-tree build
Change-Id: Ifd4f0f9e91377f543393cfb2e26f9d21ce807d2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225417
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Craig Stout <cstout@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Craig Stout <cstout@google.com>
2019-07-08 20:20:13 +00:00
Brian Osman
5cfbee286d Make the SkSL interpreter opt-in
Bug: skia:9230

Change-Id: I50b707a7dd372882a983a4570810dae05c2a3638
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225723
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-07-08 19:44:22 +00:00
Mike Klein
7e65076ae3 move Builder/Program dump()
This is test-only code only used by SkVMTest.cpp,
so it can live there.  This cuts the dependency
of SkVM on SkStream and co.

Change-Id: I7695e527b2d16e4485f8c5f4cd39bb8300e9221d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225321
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-02 23:10:23 +00:00
Mike Klein
b5f95cd1f8 tool support for SkVM JIT on aarch64
- Add quick-building skvmtool
    - Remove SkString dependency
    - Add aarch64 support for perf dumps

Here's what I see on now for the tiny skvmtool program:

x86-64 (Xeon Gold 6154)
           │      skvm-jit-1707131987():
     24.93 │   0:   vmovups (%rsi),%ymm0
     50.13 │        vpmulld %ymm0,%ymm0,%ymm0
     24.93 │        vmovups %ymm0,(%rsi)
           │        add    $0x20,%rsi
           │        sub    $0x8,%rdi
           │      ↑ jne    0
           │        vzeroupper
           │      ← retq

aarch64 (Cortex A53)
           │      skvm-jit-485593645():
     11.55 │   0:   ldr    q0, [x1]
     47.65 │        mul    v0.4s, v0.4s, v0.4s
     31.77 │        str    q0, [x1]
           │        add    x1, x1, #0x10
      8.66 │        subs   x0, x0, #0x4
           │      ↑ b.ne   0
      0.36 │      ← ret

Change-Id: Ia83ebdc6d96c8bd367bce0e8f2792b5e5c79f750
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225186
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-07-02 20:11:19 +00:00
Mike Klein
ba41df7c60 disable SkVM JIT on Android
Crashing Nexus5x GPU Perf bots, who knows why...

Cq-Include-Trybots: skia.primary:Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android
Change-Id: I351bb15651015561cd54b13c6e3732fd79c53cf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224287
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 23:18:03 +00:00
Mike Klein
0ef3f53c8e aarch64 JIT first pass
- this is enough to run some of the test programs
  - a couple instructions TODO: load8, store8, bytes,
    so I32_SWAR and I32 are not yet JIT'd, but F32
    and I32_Naive are

Change-Id: I1d97cff24aa7307726c722cce45896ed319877e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224194
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-27 20:15:29 +00:00
Nathaniel Nifong
0c4fbf1bbb Include sharing proc in skia static library when building for android.
So it can be used for SKP serialization.

Bug: 9203
Change-Id: I094d5222f220bb79c7f61fd5ebebf48e23e97b0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223705
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2019-06-25 20:37:53 +00:00
Mike Klein
6bbeb4ab72 remove xbyak
For now, disable the vpmovusdb AVX-512 instruction, using the compound
AVX2 fallback instead.  I need to learn how to encode EVEX prefixes
before we can use that, and it's not very important.

That's everything!  We're fully in control now, and should be able to
run this on any x86-64 Linux or Mac.  And we can relax some of the
defined(SKVM_JIT) guards so that, e.g., we can unit test Assembler even
on all platforms.

Stifle some warnings about ~bool by ~(int)bool.

Would like to enable when is_mac too but can't seem to get past
(bogus?) thread annotation on the bots.  My local Mac is fine. :/

Change-Id: If00bdd97ebd9684ed109933e2fa70c5e6f6ea339
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222631
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-06-22 00:16:38 +00:00
Nathaniel Nifong
0426c38daa Reland "Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger."
This is a reland of 7635013ad1

Original change's description:
> Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger.
> 
> Change-Id: I73affae3cd05a2aa6ac1c75c8e049d352bbf3a85
> Bug: 9176
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217135
> Commit-Queue: Nathaniel Nifong <nifong@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

Bug: 9176
Change-Id: Ifef1ff45ac0013ba3015f88c7ecd75527b28b604
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222505
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2019-06-21 15:49:21 +00:00
Brian Salomon
384981be3d Revert "Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger."
This reverts commit 7635013ad1.

Reason for revert: breaking bots 

Original change's description:
> Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger.
> 
> Change-Id: I73affae3cd05a2aa6ac1c75c8e049d352bbf3a85
> Bug: 9176
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217135
> Commit-Queue: Nathaniel Nifong <nifong@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

TBR=djsollen@google.com,mtklein@google.com,kjlubick@google.com,reed@google.com,nifong@google.com

Change-Id: Ie5e5dac46ba1beeb8de0a29c1a7be1264616fe92
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 9176
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222502
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-06-20 18:52:01 +00:00
Nathaniel Nifong
7635013ad1 Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger.
Change-Id: I73affae3cd05a2aa6ac1c75c8e049d352bbf3a85
Bug: 9176
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217135
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-06-20 17:33:04 +00:00
Brian Osman
fb32ddf622 Revert "Revert "Shuffle SkSL sources around so compiler and bytecode can be used w/o GPU""
This reverts commit 37a59ef1af.

Change-Id: If38da265ebbb196e72c7d035ba51028438787e2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221541
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-06-18 14:47:12 +00:00
Robert Phillips
37a59ef1af Revert "Shuffle SkSL sources around so compiler and bytecode can be used w/o GPU"
This reverts commit 90507286cc.

Reason for revert: Seems to be breaking some builds

Original change's description:
> Shuffle SkSL sources around so compiler and bytecode can be used w/o GPU
> 
> Change-Id: I7236a30040ab532086e68d6e9de2898dd7acaa32
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221098
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

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

Change-Id: Ie230315a72ebcfae32bc9ce7bafec1f87106cff2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221536
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-18 11:35:18 +00:00
Mike Klein
17a9655db2 enable SkVM JIT testing on x86-64 Linux bots
Change-Id: Id87d8e7f4d9ae458f2eb79c82682702f659dec43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221271
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-18 00:29:45 +00:00
Brian Osman
90507286cc Shuffle SkSL sources around so compiler and bytecode can be used w/o GPU
Change-Id: I7236a30040ab532086e68d6e9de2898dd7acaa32
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/221098
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-06-17 21:16:18 +00:00
Mike Reed
d62d406aa2 Revert "Revert "try resolver pattern""
This reverts commit 2bafb64ed3.

Change-Id: I46f29284546a8978fd0005a0937e28410e5ac0da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220518
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-06-12 14:46:56 +00:00
Mike Klein
613ad38b10 add basic JIT using xbyak
Long term we'll need to spin up our own codegen rather than using xbyak,
since it uses exceptions and does not support ARM.

I really don't like how I've hacked in the caching of the JITted
program, but that'll change anyway when switching away from xbyak.

Performance looks good, better than (lowp) SkRasterPipeline
but not quite as good as hand-tuned code:

  Opts:     0.2 ns/px
  RP:       0.7
  F32:      0.8
  I32:      0.6
  I32_SWAR: 0.5

ninja -C out dm nanobench && out/dm -m SkVM && gobjdump -D -b binary -mi386:x86-64 /tmp/code.bin --insn-width=10

Change-Id: I34ce46e1d3fe5aa75f42709049a92ac79bf48bbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219341
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-11 18:40:39 +00:00
Julia Lavrova
a3552c5e6d Reland "SkParagraph"
This is a reland of 10ad0b9b01

Original change's description:
> SkParagraph
>
> Change-Id: I0a4be75fd0c18021c201bcc1edfdfad8556edeff
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/192100
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

Change-Id: I46cf43eae693edf68e45345acd0eb39e04e02bfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219863
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-06-11 17:20:36 +00:00
Herb Derby
2bafb64ed3 Revert "try resolver pattern"
This reverts commit a716809d5a.

Reason for revert: breaks google3

Original change's description:
> try resolver pattern
> 
> Change-Id: I32c5dbf4cacce9112df42a6f29800859625dc4a9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218965
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Mike Reed <reed@google.com>

TBR=robertphillips@google.com,reed@google.com

Change-Id: Ib6facd0fda07762ed394b7b2c84771d7a93edae0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219488
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-11 16:01:14 +00:00
Mike Reed
a716809d5a try resolver pattern
Change-Id: I32c5dbf4cacce9112df42a6f29800859625dc4a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218965
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-06-11 12:35:38 +00:00
Herb Derby
07cd38dc13 Revert "SkParagraph"
This reverts commit 10ad0b9b01.

Reason for revert: Breaks google3 build

Original change's description:
> SkParagraph
> 
> Change-Id: I0a4be75fd0c18021c201bcc1edfdfad8556edeff
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/192100
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

TBR=borenet@google.com,djsollen@google.com,halcanary@google.com,bungeman@google.com,kjlubick@google.com,reed@google.com,drott@chromium.org,jlavrova@google.com

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

Change-Id: I3f4ef2f34b7489d008c2fe92527d39fba0e16ff7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219858
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-10 13:16:53 +00:00
Julia Lavrova
10ad0b9b01 SkParagraph
Change-Id: I0a4be75fd0c18021c201bcc1edfdfad8556edeff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/192100
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2019-06-07 17:23:23 +00:00
Mike Klein
7b7077cc36 centralize test/bench SkVM builders
Eliminate the duplicate functionality,
and better testing for the bench builders.

Change-Id: If20e52107738903f854aec431416e573d7a7d640
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218041
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-04 16:55:59 +00:00
Jim Van Verth
8a9a371182 Reland "Added AutoreleasePool for managing pool memory in testing apps."
This is a reland of a36e089065

This is only active when Metal is enabled.

Original change's description:
> Added AutoreleasePool for managing pool memory in testing apps.
>
> This is only active on MacOS and iOS -- on other platforms it
> will do nothing as they have no need for autorelease pools.
>
> Bug: skia:8243
> Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:8243
Change-Id: I743a3dcc93b46387a6a330e855c2e8810b482544
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217379
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-05-31 15:40:01 +00:00
Kevin Lubick
c4fec06e5a Revert "Added AutoreleasePool for managing pool memory in testing apps."
This reverts commit a36e089065.

Reason for revert: Primary suspect in breaking G3

Original change's description:
> Added AutoreleasePool for managing pool memory in testing apps.
> 
> This is only active on MacOS and iOS -- on other platforms it
> will do nothing as they have no need for autorelease pools.
> 
> Bug: skia:8243
> Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,brianosman@google.com

Change-Id: I64f6e0baba21a9d35682ab53bdf418180be8579b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8243
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217377
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-05-31 12:31:14 +00:00
Jim Van Verth
a36e089065 Added AutoreleasePool for managing pool memory in testing apps.
This is only active on MacOS and iOS -- on other platforms it
will do nothing as they have no need for autorelease pools.

Bug: skia:8243
Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-30 19:13:34 +00:00
Mike Reed
5093e23de6 support assets for skottie2movie
Change-Id: Icb66c9cf4eb2db72997b566fe863dab21d2824ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216871
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2019-05-30 14:37:29 +00:00
Mike Reed
f97e8e961b simplify api to make encoder, use swscale for faster rgb->yuv
Change-Id: I19ea48667aa843e1166231fe8d2622af91cce972
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216611
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-05-29 17:59:18 +00:00
Mike Reed
c0ee21feb8 skia helper for encoding video
Change-Id: I36aef5872fc8f5938854ab18b754f3800b9879ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215165
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-05-28 20:39:21 +00:00
Mike Klein
f77dbd04b9 remove -ffp-contract
We don't set it in Chrome, so this'll make our local bots a little more
consistent with what we see in Chrome.  Very, very minor stuff.

Bug: skia:9103
Change-Id: Iecedd367780b6a721bc49dfa2d0a7837eb3bd28d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215144
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-22 16:29:09 +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
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
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
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
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
Chinmay Garde
8982076016 Allow building Skia with Fuchsia SDK enabled buildroots.
The Fuchsia SDK can now be consumed by non-Fuchsia buildroots to produce
Fuchsia artifacts.

The Fuchsia SDK comes with a JSON manifest that describes the various SDK
"parts". GN targets are stamped for each of these parts. The location of these
GN targets can be configured. That location is set to |fuchsia_sdk_root| in
each buildroot. This variable is defined in //build/fuchsia/sdk.gni in each
buildroot. For buildroots that don't care or know about the Fuchsia SDK, that
file may not exist. This is why, the import of that file is guarded behind
the is_fuchsia flag. When the Fuchsia SDK is enabled, that file will define
values for two required variable |using_fuchsia_sdk| and |fuchsia_sdk_root|.

The first flag defines if the SDK is being used. If unset (but defined), the
builds are in-tree. Eventually we want only SDK builds. |fuchsia_sdk_root|
is set to the spot in the buildroot where the GN targets for the SDK parts
are stamped.

Change-Id: I99a0b48326d722703c786263edde7421f9014179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212034
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-07 18:53:50 +00:00
Hal Canary
0569447470 experimental/editor: progress
- selection
  - some state moved out of editor.
  - Editor::getPosition() translates x,y mouse position into text
    position
  - General Editor::move() function for moving cursor
  - Editor::insert() (does not yet handle newlines)
  - Editor::remove() (does not yet delete across lines)
  - new StringSlice class to replace SkString.

Change-Id: I1ca03247a745bc045e41619cd5a839c495dc405b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211884
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-05-07 18:01:50 +00:00
Hal Canary
7b300a4e47 Experimental Editor: begin text selection code
Bug: skia:9020
Change-Id: I6a67ef4a3bcf443dbe14f58e81b405588f84848e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211345
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2019-04-30 17:21:52 +00:00
Mike Klein
9e25bb993d public_includes -= include/third_party/vulkan
Got a little overzealous cleaning up public_include_dirs
in https://skia-review.googlesource.com/c/skia/+/209706.
This puts everything back how it used to be, with Skia
always using them internally, and only test code using
them externally.

Change-Id: I7f17afbaf20469e78f0f633254f17123e97233fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211083
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-29 16:23:05 +00:00
Mike Klein
f5f4e81e33 Revert "SKIA_IMPLEMENTATION is only relevant in shared builds"
This reverts commit 8413ff13fe.

Reason for revert: turns out that's not true.  It's how we pick the right Vulkan headers.

Original change's description:
> SKIA_IMPLEMENTATION is only relevant in shared builds
> 
> Change-Id: If4ce780a74d59e5ec5c9d950a560527d4de7e030
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210130
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

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

Change-Id: I35fc5458930254597279875125bb392af4b8e74c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211092
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-04-29 16:20:05 +00:00
Mike Klein
40fff267d4 remove third_party/skcms from includes
Change-Id: I3ee00f4892f694eb04c2e51cfd4565df67a95d64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211087
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-04-29 15:50:06 +00:00
Hal Canary
50d650d3ef Experimental text editor: factor out Editor class.
Change-Id: Ie3ab5566b66f8255097001d015b39ca650cc0f20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210920
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-29 15:43:35 +00:00
Hal Canary
378be8dcc0 sk_app: fix BUILD file
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-x86_64-Debug-MoltenVK_Vulkan

Change-Id: I67a298afc41bef7de49e1d9e52cf0bd0f8d1fe0a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211000
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-04-29 15:34:05 +00:00
Brian Osman
ea236bf818 Move skcms.h to include/third_party/skcms
Add a shim to redirect until clients are updated

Change-Id: Ib43614e5620b1a24ca18187c1646a8ed1a9ee7a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/211003
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-29 15:02:45 +00:00
Hal Canary
152ac9be2f Fix MoltemVk Bots
Change-Id: I4402278a51dc8314e1841b890a3e542a9cf74108
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210427
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-04-26 11:57:56 +00:00
Mike Klein
8413ff13fe SKIA_IMPLEMENTATION is only relevant in shared builds
Change-Id: If4ce780a74d59e5ec5c9d950a560527d4de7e030
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210130
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-04-25 17:03:09 +00:00