Commit Graph

632 Commits

Author SHA1 Message Date
Kevin Lubick
134be1d9ba [canvaskit] Expose nima animation as POC
Still to come, actually exposing drawVertices, and the
other APIs needed.

Had to re-make all the jsfiddles because of an API change
in a previous CL.

Docs-Preview: https://skia.org/?cl=166444
Bug: skia:
Change-Id: I4d4825f6e7b073d6792ab8d99d5117df860d4815
Reviewed-on: https://skia-review.googlesource.com/c/166444
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-10-30 20:15:28 +00:00
Kevin Lubick
d969932474 Refactor Nima code
There were two copies of a Nima "player" and this moves them out of
samplecode/ and viewer/ to experimental/ where it is a bit more
accessible (e.g. for WebAssembly).

Bug: skia:
Change-Id: I05419a352f0d13d16b462a374578107513eb1243
Reviewed-on: https://skia-review.googlesource.com/c/166441
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-10-30 19:32:52 +00:00
Leon Scroggins III
e93ec68a52 Reland "New GIF codec; new third_party/wuffs dep"
This reverts commit 7d1c9ec49f.

Bug: skia:8235
Change-Id: I830ba00a87e85c80f7e8583f5dfa105cd60029b2
Reviewed-on: https://skia-review.googlesource.com/c/165301
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-10-26 13:53:04 +00:00
Brian Osman
7d1c9ec49f Revert "New GIF codec; new third_party/wuffs dep"
This reverts commit 60009388be.

Reason for revert: Breaking Google3 roll.

Original change's description:
> New GIF codec; new third_party/wuffs dep
> 
> Bug: skia:8235
> Change-Id: I883e05bc50c48f822b5ac3884f25ae67d21c94a9
> Reviewed-on: https://skia-review.googlesource.com/c/136940
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>

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

Change-Id: I515c5144d0475173ce8f854f4f00f59c4655fdc4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8235
Reviewed-on: https://skia-review.googlesource.com/c/164903
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-10-25 13:03:10 +00:00
Nigel Tao
60009388be New GIF codec; new third_party/wuffs dep
Bug: skia:8235
Change-Id: I883e05bc50c48f822b5ac3884f25ae67d21c94a9
Reviewed-on: https://skia-review.googlesource.com/c/136940
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-10-24 20:17:59 +00:00
Mike Klein
42bb3604bc Revert "re-enable effect deserialization for flutter"
This reverts commit 798a713685.

Reason for revert: try again with https://skia-review.googlesource.com/c/skia/+/163543 landed.

Original change's description:
> re-enable effect deserialization for flutter
> 
> I've got to figure this is the cause of the broken flutter roll:
> 
>     [ RUN      ] ParagraphTest.SimpleShadow
>     ../../third_party/skia/src/core/SkWriteBuffer.cpp:238: fatal error: "assert(name)"
>     ./flutter/testing/run_tests.sh: line 11: 13151 Trace/breakpoint trap   (core dumped) out/host_debug_unopt/txt_unittests --font-directory=flutter/third_party/txt/third_party/fonts
> 
> Change-Id: Idffbd203c9f790fd7613153d9f7973c7ad0a87a5
> Reviewed-on: https://skia-review.googlesource.com/c/163541
> Reviewed-by: Mike Klein <mtklein@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: I2d30abb1291920048a12c80ec297c0f7d279532e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/163980
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-10-19 18:14:15 +00:00
Mike Klein
798a713685 re-enable effect deserialization for flutter
I've got to figure this is the cause of the broken flutter roll:

    [ RUN      ] ParagraphTest.SimpleShadow
    ../../third_party/skia/src/core/SkWriteBuffer.cpp:238: fatal error: "assert(name)"
    ./flutter/testing/run_tests.sh: line 11: 13151 Trace/breakpoint trap   (core dumped) out/host_debug_unopt/txt_unittests --font-directory=flutter/third_party/txt/third_party/fonts

Change-Id: Idffbd203c9f790fd7613153d9f7973c7ad0a87a5
Reviewed-on: https://skia-review.googlesource.com/c/163541
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-10-18 21:16:35 +00:00
Mike Klein
2ba047972a split out effect deserialization, disable in flutter
I think this ought to cut out a bunch of effects in Flutter,
provided they're not looking to deserialize .skps.

Serialization should still work.

Size ought to drop from ~1346880 to 1265506.

Change-Id: I2cd5d7c9b2e890cbe91b02cd00868872f033de5c
Reviewed-on: https://skia-review.googlesource.com/c/163441
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-10-18 18:54:05 +00:00
Kevin Lubick
32dfdbe1af [canvaskit] Slice out SkPicture
Removes about 120k uncompressed, 40k gzipped

Bug: skia:
Change-Id: I7e0b404f18fc3c6d4ff6b01d2c9bcd657b7d5e07
Reviewed-on: https://skia-review.googlesource.com/c/163246
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-10-18 14:15:47 +00:00
Kevin Lubick
ca7c297989 Revert "Re-enable NVPR on flutter."
This reverts commit f9c5ca4119.

Reason for revert: The potential root cause of the fucshia roll failure
was removed in https://skia-review.googlesource.com/c/skia/+/162022/11/src/gpu/GrPathRendering_none.cpp

Original change's description:
> Re-enable NVPR on flutter.
> 
> This hopefully fixes fuchsia roll.
> 
> Bug: skia:
> Change-Id: I5c5f28413e45f46e94d54ce75ef5fb19fca32347
> Reviewed-on: https://skia-review.googlesource.com/c/162581
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: Iebba700752560b65f20e873910b38be8295e69bf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/163122
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-10-17 14:05:21 +00:00
Leon Scroggins III
0b8fcbcfa3 Add fuzzers for SkAndroidCodec & incrementalDecode
Fuzz SkAndroidCodec to help to catch errors in both incrementalDecode
and scanlineDecode. Try a variety of sample sizes, but cap it at 64.
Though sometimes larger sample sizes are used, the lower ones tend to
more common. Also draw the resulting bitmap to verify that we
initialized all pixels.

Independently test incrementalDecode to ensure that it initializes
rowsDecoded.

Change-Id: I20d8a408cd280262fdc62f902a6f04f0f57f5ad2
Reviewed-on: https://skia-review.googlesource.com/c/162025
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-10-17 12:08:18 +00:00
Greg Daniel
f9c5ca4119 Re-enable NVPR on flutter.
This hopefully fixes fuchsia roll.

Bug: skia:
Change-Id: I5c5f28413e45f46e94d54ce75ef5fb19fca32347
Reviewed-on: https://skia-review.googlesource.com/c/162581
Reviewed-by: Brian Osman <brianosman@google.com>
2018-10-16 16:15:47 +00:00
Mike Klein
26a6049beb Flutter also won't need NVPR.
The intersection of devices that Flutter targets
and devices that support NVPR is very slim.

Change-Id: Idcb1278df4895ed253a4c0eb6044c4cc53c68cb8
Reviewed-on: https://skia-review.googlesource.com/c/162100
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-10-15 15:34:21 +00:00
Kevin Lubick
4bf2c26b93 Remove nvpr from CanvasKit
Saves about 20k uncompressed, 7k compressed.

Bug: skia:
Change-Id: I060c58380f3e3266bca9028ba5ba6aa17ce178dc
Reviewed-on: https://skia-review.googlesource.com/c/161942
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-10-15 14:11:29 +00:00
Mike Klein
36528e91c2 clean up SkPipe
One less SkCanvas subclass to deal with...

Change-Id: I21e81648026be5d732e8d9a28baed55015492a04
Reviewed-on: https://skia-review.googlesource.com/c/161584
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-10-12 16:50:21 +00:00
Kevin Lubick
93faa6795b Make CCPR optional
This can reduce code size where CCPR is not supported (e.g. WebGL 1.0)

Drops 130k uncompressed, 50k compressed.

Bug: skia:
Change-Id: I8af7e681e1f3520a18e0c0d55e318dcf88206584
Reviewed-on: https://skia-review.googlesource.com/c/161041
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-10-10 20:20:01 +00:00
Kevin Lubick
f4def34885 Move dumpJSON behind the SK_ENABLE_DUMP_GPU flag
This should trim the code size of a WASM CanvasKit by 10-20KB.

Bug: skia:
Change-Id: Ibf0f8596c04e891e8f7cbc2fa4f1d1852f7cb462
Reviewed-on: https://skia-review.googlesource.com/c/159261
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-10-05 18:18:30 +00:00
Greg Daniel
b4d895606f Reland "Reland "Always include public/include headers for vulkan and just guard src files with SK_VULKAN.""
This reverts commit a55e214bbe.

Reason for revert:google3 should be fixed now

Original change's description:
> Revert "Reland "Always include public/include headers for vulkan and just guard src files with SK_VULKAN.""
> 
> This reverts commit 55aea84baa.
> 
> Reason for revert: Google3 roll failing like
> 
> third_party/skia/HEAD/include/gpu/vk/GrVkDefines.h:15:10: fatal error: '../../../third_party/vulkan/SkiaVulkan.h' file not found
> #include "../../../third_party/vulkan/SkiaVulkan.h"
> 
> 
> Original change's description:
> > Reland "Always include public/include headers for vulkan and just guard src files with SK_VULKAN."
> > 
> > This reverts commit 684b506f35.
> > 
> > Reason for revert: Chrome change has landed to fix broken chrome roll.
> > 
> > Original change's description:
> > > Revert "Always include public/include headers for vulkan and just guard src files with SK_VULKAN."
> > >
> > > This reverts commit 6e2d607334.
> > >
> > > Reason for revert: chrome roll
> > >
> > > Original change's description:
> > > > Always include public/include headers for vulkan and just guard src files with SK_VULKAN.
> > > >
> > > > This should allow a client to build a skia library that doesn't use vulkan but still
> > > > has all the public headers defined so that they don't have to build two versions of
> > > > their code.
> > > >
> > > > Bug: chromium:862144
> > > > Change-Id: I0eecbe0bc48123619f217e2cf318eb9a8c77ccb2
> > > > Reviewed-on: https://skia-review.googlesource.com/158661
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > >
> > > TBR=egdaniel@google.com,bsalomon@google.com,cblume@chromium.org
> > >
> > > Change-Id: I76ae6f435333755fa5d546fc1e5999a324b4fd05
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: chromium:862144
> > > Reviewed-on: https://skia-review.googlesource.com/c/159000
> > > Reviewed-by: Mike Klein <mtklein@google.com>
> > > Commit-Queue: Mike Klein <mtklein@google.com>
> > 
> > TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com,cblume@chromium.org
> > 
> > Change-Id: Id019b428f880efbd7ead8dee4178c6190469a290
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:862144
> > Reviewed-on: https://skia-review.googlesource.com/c/159145
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com,cblume@chromium.org
> 
> Change-Id: I0e5c72e2d79dac28021b02168a9e11ac08db765c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:862144
> Reviewed-on: https://skia-review.googlesource.com/c/159155
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com,cblume@chromium.org

Change-Id: I58f7f8ca5281cd5fe0c145c01e9b9465c9b9ec31
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:862144
Reviewed-on: https://skia-review.googlesource.com/159260
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-10-03 18:44:59 +00:00
Mike Klein
a55e214bbe Revert "Reland "Always include public/include headers for vulkan and just guard src files with SK_VULKAN.""
This reverts commit 55aea84baa.

Reason for revert: Google3 roll failing like

third_party/skia/HEAD/include/gpu/vk/GrVkDefines.h:15:10: fatal error: '../../../third_party/vulkan/SkiaVulkan.h' file not found
#include "../../../third_party/vulkan/SkiaVulkan.h"


Original change's description:
> Reland "Always include public/include headers for vulkan and just guard src files with SK_VULKAN."
> 
> This reverts commit 684b506f35.
> 
> Reason for revert: Chrome change has landed to fix broken chrome roll.
> 
> Original change's description:
> > Revert "Always include public/include headers for vulkan and just guard src files with SK_VULKAN."
> >
> > This reverts commit 6e2d607334.
> >
> > Reason for revert: chrome roll
> >
> > Original change's description:
> > > Always include public/include headers for vulkan and just guard src files with SK_VULKAN.
> > >
> > > This should allow a client to build a skia library that doesn't use vulkan but still
> > > has all the public headers defined so that they don't have to build two versions of
> > > their code.
> > >
> > > Bug: chromium:862144
> > > Change-Id: I0eecbe0bc48123619f217e2cf318eb9a8c77ccb2
> > > Reviewed-on: https://skia-review.googlesource.com/158661
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> >
> > TBR=egdaniel@google.com,bsalomon@google.com,cblume@chromium.org
> >
> > Change-Id: I76ae6f435333755fa5d546fc1e5999a324b4fd05
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:862144
> > Reviewed-on: https://skia-review.googlesource.com/c/159000
> > Reviewed-by: Mike Klein <mtklein@google.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
> 
> TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com,cblume@chromium.org
> 
> Change-Id: Id019b428f880efbd7ead8dee4178c6190469a290
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:862144
> Reviewed-on: https://skia-review.googlesource.com/c/159145
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com,cblume@chromium.org

Change-Id: I0e5c72e2d79dac28021b02168a9e11ac08db765c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:862144
Reviewed-on: https://skia-review.googlesource.com/c/159155
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-10-03 16:34:23 +00:00
Greg Daniel
55aea84baa Reland "Always include public/include headers for vulkan and just guard src files with SK_VULKAN."
This reverts commit 684b506f35.

Reason for revert: Chrome change has landed to fix broken chrome roll.

Original change's description:
> Revert "Always include public/include headers for vulkan and just guard src files with SK_VULKAN."
>
> This reverts commit 6e2d607334.
>
> Reason for revert: chrome roll
>
> Original change's description:
> > Always include public/include headers for vulkan and just guard src files with SK_VULKAN.
> >
> > This should allow a client to build a skia library that doesn't use vulkan but still
> > has all the public headers defined so that they don't have to build two versions of
> > their code.
> >
> > Bug: chromium:862144
> > Change-Id: I0eecbe0bc48123619f217e2cf318eb9a8c77ccb2
> > Reviewed-on: https://skia-review.googlesource.com/158661
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,cblume@chromium.org
>
> Change-Id: I76ae6f435333755fa5d546fc1e5999a324b4fd05
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:862144
> Reviewed-on: https://skia-review.googlesource.com/c/159000
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=egdaniel@google.com,mtklein@google.com,bsalomon@google.com,cblume@chromium.org

Change-Id: Id019b428f880efbd7ead8dee4178c6190469a290
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:862144
Reviewed-on: https://skia-review.googlesource.com/c/159145
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-10-03 13:30:30 +00:00
Mike Klein
684b506f35 Revert "Always include public/include headers for vulkan and just guard src files with SK_VULKAN."
This reverts commit 6e2d607334.

Reason for revert: chrome roll

Original change's description:
> Always include public/include headers for vulkan and just guard src files with SK_VULKAN.
> 
> This should allow a client to build a skia library that doesn't use vulkan but still
> has all the public headers defined so that they don't have to build two versions of
> their code.
> 
> Bug: chromium:862144
> Change-Id: I0eecbe0bc48123619f217e2cf318eb9a8c77ccb2
> Reviewed-on: https://skia-review.googlesource.com/158661
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,cblume@chromium.org

Change-Id: I76ae6f435333755fa5d546fc1e5999a324b4fd05
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:862144
Reviewed-on: https://skia-review.googlesource.com/c/159000
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-10-02 18:05:54 +00:00
Greg Daniel
6e2d607334 Always include public/include headers for vulkan and just guard src files with SK_VULKAN.
This should allow a client to build a skia library that doesn't use vulkan but still
has all the public headers defined so that they don't have to build two versions of
their code.

Bug: chromium:862144
Change-Id: I0eecbe0bc48123619f217e2cf318eb9a8c77ccb2
Reviewed-on: https://skia-review.googlesource.com/158661
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-10-02 17:41:53 +00:00
Kevin Lubick
cbcff385c1 Have pathkit use libpathkit.a for faster builds
Of note, it is very important for the -DSK_RELEASE/-DSK_DEBUG
to match between libskia.a and the WASM bindings, otherwise
things like SKDEBUGCODE are sometimes compiled in and sometimes
not, which can cause headaches like sizeof() mismatching between
.cpp files and .h files.

Bug: skia:
Change-Id: Id6ef58c44a7c10014a243b36708e0891514f6008
Reviewed-on: https://skia-review.googlesource.com/158341
Reviewed-by: Mike Klein <mtklein@google.com>
2018-10-02 13:27:29 +00:00
Stan Iliev
a7a52b9de3 Fix error at run time to load skottie_android.so
Test: Ran Skottie app
Bug: skia:
Change-Id: I2147433018154069a9294ac80dbeb8692ec748cc
Reviewed-on: https://skia-review.googlesource.com/158441
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2018-10-01 20:46:50 +00:00
Mike Klein
60900b55f9 move skpipe to experimental
Nothing's using it except test tools.
I'd like to make that a bit clearer by getting it out of src.

Disabled the fuzzer.

Removed the bench so Android's building nanobench doesn't block this.

Bug: chromium:886713

Change-Id: I761f52c40171c27ff4b699409b32647e84684ec3
Reviewed-on: https://skia-review.googlesource.com/156240
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-09-21 17:20:25 +00:00
Kevin Lubick
217056c048 [CanvasKit] Implement some basic Canvas/Surface things.
drawText is having issues in a release build.  Skottie sometimes
asserts in debug mode. This possibly has something to do with
memory alignment - like https://skia-review.googlesource.com/c/skia/+/155980
helped fix.

Patchset 9 shows off integrating Skia drawing to
an HTML canvas using Ganesh.

To see it locally, set up https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html
and then set $EMSDK to be that directory.  Then run

   make clean
   make local-example

and navigate to http://localhost:8000/skia-wasm/example.html

Patchset 20 shows off Skottie animating directly to a Canvas.

Docs-Preview: https://skia.org/?cl=153882
Bug: skia:
Change-Id: I2ad2f4ffac00925ee901982ccbaeb7aa63b1ea23
Reviewed-on: https://skia-review.googlesource.com/153882
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-09-21 12:03:55 +00:00
Florin Malita
268707284d [skottie] GM exercising external font loading
Sets up a fake web font loader which serves a local/resource font to
the sample text animation.

Also rename resources/skotty/skotty_* -> resources/skottie/skottie_*.

Change-Id: I4af5b24fc3cc5c63c78801979f9be56744047134
Reviewed-on: https://skia-review.googlesource.com/155881
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-09-20 19:05:35 +00:00
Hal Canary
23564b9249 SkDocument: Factories now located in SkPDFDocument.h and SkXPSDocument.h
Change-Id: I48e73b27e52511292c2c0bd51ef0168766f53a80
Reviewed-on: https://skia-review.googlesource.com/152780
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-09-20 18:21:07 +00:00
Nigel Tao
81125c5643 Remove duplicate BUILD.gn configuration
There's another `if (skia_llvm_path != "")` about 40 lines down.

Bug: skia:
Change-Id: I490c0972367d0042e5f87868c0640cc106f6f6c2
Reviewed-on: https://skia-review.googlesource.com/154260
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-09-18 19:48:32 +00:00
Kevin Lubick
bc9a1a837d Make fuzz::next overloads more consistent
Some oss-fuzz bugs (like the linked one) would not reproduce
in Skia proper due to the fact that there were subtle overloads
of the various Fuzz::next() methods in FuzzCanvas.cpp that
were pulled in in Skia proper, but not oss-fuzz.

This puts all of them in to FuzzCommon.h and makes the
matrix and rrect ones opt-in (fuzz_matrix, fuzz_rrect).

Additionally, this renames fuzz.cpp -> FuzzMain.cpp so we
can properly include Fuzz.cpp in oss-fuzz without
having two mains.

Bug: oss-fuzz:10378
Change-Id: I6cf9afb471781b9fadb689482109a1e5662358b5
Reviewed-on: https://skia-review.googlesource.com/154900
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-17 19:20:51 +00:00
Chinmay Garde
d92d035e00 Allow users of Skia to optionally link against X11 and GL on Linux.
Change-Id: Id46986c0c7865d1877766e1584550e0b9e1af6c2
Reviewed-on: https://skia-review.googlesource.com/154803
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-17 19:15:49 +00:00
Florin Malita
bfe876a598 [skottie] Enable skotte_tool on Mac builds
TBR=
Change-Id: I6896c6d52c7f85e5c967920340f873b3f1daf4b3
Reviewed-on: https://skia-review.googlesource.com/151160
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-09-02 16:54:52 +00:00
Herb Derby
33ac15e452 Add an empty typeface for testing
Change-Id: I091389fcc41b9eb5002ae0d005360249b51884d9
Reviewed-on: https://skia-review.googlesource.com/150137
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-29 17:27:21 +00:00
Leon Scroggins III
36f7e3298e Reland "Switch SkCodec to use skcms plus fixes""
This reverts commit 83988edfd3.

The CTS failure was actually due to another CL.

TBR=brianosman@google.com
TBR=djsollen@google.com

Bug: skia:6839
Bug: skia:8052
Bug: skia:8278
Change-Id: Id9f152ec2c66467d90f49df223cb9b7c168ac2ac
Reviewed-on: https://skia-review.googlesource.com/149483
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-27 16:16:14 +00:00
Leon Scroggins
83988edfd3 Revert "Reland "Switch SkCodec to use skcms" plus fixes"
This reverts commit 49894f450f.

Reason for revert: Breaking a CTS test on the Android roll:

java.lang.AssertionError: expected:<67043583> but was:<50266367>
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.failNotEquals(Assert.java:834)
	at org.junit.Assert.assertEquals(Assert.java:645)
	at org.junit.Assert.assertEquals(Assert.java:631)
	at android.graphics.cts.BitmapColorSpaceTest.verifyGetPixel(BitmapColorSpaceTest.java:301)
	at android.graphics.cts.BitmapColorSpaceTest.inColorSpaceP3ToSRGB(BitmapColorSpaceTest.java:612)

Expected: 3FF00FF Actual: 2FF00FF

Original change's description:
> Reland "Switch SkCodec to use skcms" plus fixes
> 
> This reverts commit 33d5394d08,
> relanding 81886e8f94 as well as
> "Fix CMYK handling in JPEG codec" (commit
> f8ae5ce20c)
> 
> Add a test based on the CTS test that failed in the original commit.
> purple-displayprofile.png is the image used in the CTS test, with the
> Android license.
> 
> This also adds a fix for SkAndroidCodec, ensuring that we continue to
> use a wide gamut SkColorSpace for images that do not have a numerical
> transfer function and have a wide gamut. This includes a test, with
> wide-gamut.png, which was created with Photoshop and the profile
> "sRGB_Calibrated_Homogeneous.icc" from the skcms tree.
> 
> Bug: skia:6839
> Bug: skia:8052
> Bug: skia:8278
> 
> TBR=djsollen@google.com
> As with the original, no API change
> 
> Change-Id: I4e5bba6a3151f9dc6491e8eda73d4de0535bd692
> Reviewed-on: https://skia-review.googlesource.com/149043
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>

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

Change-Id: Ie71e1fecc26de8225d2fe603765c1e1e0d738634
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:6839, skia:8052, skia:8278
Reviewed-on: https://skia-review.googlesource.com/149262
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-24 21:41:37 +00:00
Leon Scroggins III
49894f450f Reland "Switch SkCodec to use skcms" plus fixes
This reverts commit 33d5394d08,
relanding 81886e8f94 as well as
"Fix CMYK handling in JPEG codec" (commit
f8ae5ce20c)

Add a test based on the CTS test that failed in the original commit.
purple-displayprofile.png is the image used in the CTS test, with the
Android license.

This also adds a fix for SkAndroidCodec, ensuring that we continue to
use a wide gamut SkColorSpace for images that do not have a numerical
transfer function and have a wide gamut. This includes a test, with
wide-gamut.png, which was created with Photoshop and the profile
"sRGB_Calibrated_Homogeneous.icc" from the skcms tree.

Bug: skia:6839
Bug: skia:8052
Bug: skia:8278

TBR=djsollen@google.com
As with the original, no API change

Change-Id: I4e5bba6a3151f9dc6491e8eda73d4de0535bd692
Reviewed-on: https://skia-review.googlesource.com/149043
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-08-24 17:46:25 +00:00
Leon Scroggins III
33d5394d08 Revert "Switch SkCodec to use skcms" and follow on change
This reverts commit 81886e8f94 and
f8ae5ce20c
("Fix CMYK handling in JPEG codec")

This fixes the Android build, which was failing a CTS test with this
change.

Bug: skia:6839
Bug: skia:8052

TBR=djsollen@google.com
As with the original, no API change

Change-Id: Ic744a610e9f431707f871de44f9f64040bc60d14
Reviewed-on: https://skia-review.googlesource.com/148810
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-08-22 21:13:50 +00:00
Leon Scroggins III
81886e8f94 Switch SkCodec to use skcms
Bug: skia:6839
Bug: skia:8052

Create an skcms_Profile instead of an SkColorSpace when creating an
SkCodec. Eventually we'll move the SkImageInfo (and its SkColorSpace)
entirely to clients (e.g. SkAndroidCodec, SkCodecImageGenerator), but
for now, create it with SkEncodedInfo::makeImageInfo.

Create new SkEncodedInfo::Colors for the special PNG cases that we
want to map to specific SkColorTypes.

SkEncodedInfo:
- Add ICCProfile, which owns an skcms_ICCProfile
 - FIXME: maybe we should have a single instance for
  SRGB like SkColorSpace?
- Add kXAlpha_Color, for kAlpha_8. Since I'm not longer creating
  an SkImageInfo (at least in SkPngCodec), it needs a way to pass
  this info to the caller.
- Add k565_Color, for the same reason. Matt originally had this in
  https://codereview.chromium.org/2212563003/#ps120001, but didn't
  land that version. I like it though. Mike didn't like the bits
  per component for 565, but it seems like a sensible hack, much
  like the existing one for kAlpha_8
- Add width and height. These were removed for redundancy with
  SkImageInfo, but it makes sense to have them here without it.
BUILD.gn:
- Build the new SkEncodedInfo.cpp
SkCodec:
- Remove the constructor with an SkImageInfo. Edit the other one
  to drop width and height (now in SkEncodedInfo) and take a RHS
  reference to SkEncodedInfo
- Create the SkImageInfo from fEncodedInfo (for now)
- Consolidate choosing skcms_AlphaFormat for Transform here
- Call conversionSupported from initializeColorXform, with a new
  parameter for whether there is a color Xform, allowing SkJpegCodec
  and SkHeifCodec to override that method instead of having another
  method.
SkBmpCodec (etc)
- Adapt to the changes above
- Create a new SkEncodedInfo w/o profile for the swizzler.
SkPngCodec:
- use the new SkEncodedInfo::Colors rather than a custom SkImageInfo
SkRawCodec:
- Remove SkEncodedInfo from SkDngImage, which doesn't actually need it.
  This is helpful since we don't know all the info yet.
- Rewrite gAdobeRGB_toXYZD50 as an skcms_Matrix3x3
SkWebpCodec:
- Remove premul_step computation, and simplify to just rely on
  the base class' handling of applying the transform.
SkSwizzler:
- Add cases for the new SkEncodedInfo::Colors

TBR=reed@google.com
No public API changes. Only private/public members of SkCodec.h are
modified.

Change-Id: Ic0d3bb752b03f13be886b80331987aa5a5713fc0
Reviewed-on: https://skia-review.googlesource.com/136062
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-22 18:16:20 +00:00
Ben Wagner
b2c4ea6219 Move Views into Sample and Viewer.
What is left of the SkView system is used only by samples or viewer.
As a result, move it out of the Skia source tree and re-organize so it
is a bit easier to understand and use more shared code.

Move samplecode/ClockFaceView.cpp to samplecode/SampleTextEffects.cpp,
sice that's what's actually in it.

Move SkAnimTimer.h to tools/timer, since it's actually shared between gm
and samples.

Change-Id: I55dafd94c64e4f930ddbd19168e0f812af86c455
Reviewed-on: https://skia-review.googlesource.com/146161
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-09 15:25:32 +00:00
Brian Osman
e581aaad4d Remove picture_utils
More pointless hoop-jumping

Change-Id: I0123e0a1e27140a82ffe08ad88e0d115c060436d
Reviewed-on: https://skia-review.googlesource.com/146449
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-09 14:14:17 +00:00
Greg Daniel
53956d9bfd Add iOS Metal Build job.
Bug: skia:8230
Change-Id: Ic8c17954c5dcaeebcfd028e24a0556d0b09a5b62
Reviewed-on: https://skia-review.googlesource.com/146168
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-08-08 20:22:35 +00:00
Ben Wagner
30a4e3da4b Add Win OpenCL Build job.
Bug: skia:8081
Change-Id: Ibcb82389668bd9ea7395e498696417d5701761c0
Reviewed-on: https://skia-review.googlesource.com/140782
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-08 00:27:48 +00:00
Hal Canary
f4abda5877 Revert "Test: New GMs should be nicely named"
This reverts commit 73ec9a09f3.

Reason for revert:
  broke Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts
    ERROR: 'fontmgr_bounds_1_-0.25Win7' is a bad name.
    ERROR: 'fontmgr_bounds_0.75_0Win7' is a bad name.


Original change's description:
> Test: New GMs should be nicely named
> 
> Motivation:
> 
>     An issue came up a while back with SkQP where some the JUnit testing
>     framework dislikes test names that aren't valid Java identifiers.  I am
>     currently replacing invalid characters with underscores before giving
>     them to JUnit, but that leads to some confusion when trying to grep for
>     the name of a failing test.
> 
>     I propose that going forward, all *new* Skia unit tests and GM names be
>     in the form [A-Za-z][A-Za-z0-9_]* to prevent this sort of confusion.  We
>     won't change 63 existing "bad" tests names.
> 
> This Cl encorces that rule with an assertion in DM.
> 
> Change-Id: Icedce023cd3127d499fbcdcaea485f1ec9e9196b
> Reviewed-on: https://skia-review.googlesource.com/145365
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>

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

Change-Id: I28c619ca767dac221a73594c9e7be412ba2c242c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/145560
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-08-06 19:29:55 +00:00
Hal Canary
73ec9a09f3 Test: New GMs should be nicely named
Motivation:

    An issue came up a while back with SkQP where some the JUnit testing
    framework dislikes test names that aren't valid Java identifiers.  I am
    currently replacing invalid characters with underscores before giving
    them to JUnit, but that leads to some confusion when trying to grep for
    the name of a failing test.

    I propose that going forward, all *new* Skia unit tests and GM names be
    in the form [A-Za-z][A-Za-z0-9_]* to prevent this sort of confusion.  We
    won't change 63 existing "bad" tests names.

This Cl encorces that rule with an assertion in DM.

Change-Id: Icedce023cd3127d499fbcdcaea485f1ec9e9196b
Reviewed-on: https://skia-review.googlesource.com/145365
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-08-06 19:17:24 +00:00
Ethan Nicholas
c7735f1ec2 improved SkSL lexer performance
Bug: skia:
Change-Id: Ibbb427e511118a0a1819094a59c17cc0f966008c
Reviewed-on: https://skia-review.googlesource.com/145336
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-08-03 18:57:14 +00:00
Stan Iliev
93151726ed Prototype an Android lottie player
Create a new Skottie test app, which plays lottie files using
a TextureView.
Implement SkottieView, which takes a JSON input stream and
plays the animation.

Bug: skia:
Change-Id: Ic62688b91692c28f35b13356d1e99b4d15d3e30f
Reviewed-on: https://skia-review.googlesource.com/130125
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Stan Iliev <stani@google.com>
2018-08-02 16:20:13 +00:00
Greg Daniel
da16cce7d9 Use our own checked in Vulkan header to build skia source code.
Core Skia will always include our own SkiaVulkan.h which basically just
includes vulkan_core.h. All platform vulkan specific stuff must be
include by the client in their own vulkan.h file. Our public interface
is set up that we only use vulkan objects that will be present in all
versions of vulkan headers that the client could include.

Bug: skia:
Change-Id: I6673fd91498eabcc923d65d20f2b5e0a89b4ccf6
Reviewed-on: https://skia-review.googlesource.com/142985
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-01 16:52:20 +00:00
Florin Malita
5d3ff438fe Fix !defined(SK_XML) builds
Add guards for dependent code.

TBR=
Change-Id: I49c0c90a2defc6f39589721f95562e9e0f17db13
Reviewed-on: https://skia-review.googlesource.com/144610
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-01 14:28:56 +00:00
Brian Osman
62501c12c8 Remove unused 'create_flutter_test_images' tool
Change-Id: I9be9e8d72168c90b681015be0b5f599a6243abd2
Reviewed-on: https://skia-review.googlesource.com/144341
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-07-30 16:19:44 +00:00
Mike Klein
7af351a68c add imgcvt
This uses skcms to convert an image into a PNG with a new color profile.

Change-Id: Iaefdbbfba6f4b85637386569a65355df255b980d
Reviewed-on: https://skia-review.googlesource.com/143709
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2018-07-27 15:11:17 +00:00
Brian Salomon
f666cbc10b remove debug gl interface, grcontextfactory context type, and config.
Change-Id: I476d1066a227d70e39c1dd49220972fb4a075393
Reviewed-on: https://skia-review.googlesource.com/140788
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-07-12 12:33:08 +00:00
Brian Salomon
00a5eb8c12 Add gltestpersistentcache config that tests GrContextOption's cache.
Uses a new GPU sink that runs each test twice, once to populate the
cache and then again with a new GrContext but a warmed cache. It
verifies that the two generated images are the same.

Change-Id: Iaba195a69751f14ea946afe7174228a813b83a63
Reviewed-on: https://skia-review.googlesource.com/140567
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-11 20:06:33 +00:00
Jim Van Verth
061cc21b61 Add more tests for PolyUtils
* Add fuzzer
* Add bench tests
* Add additional unit test
* Fix some bugs these exposed.

Bug: skia:
Change-Id: I6c587c92cb6cff32ab8300020b78f9f247d2bf64
Reviewed-on: https://skia-review.googlesource.com/139169
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-07-11 18:37:38 +00:00
Ruiqi Mao
f510149da8 skeletal animation support added to API and software backend
SkCanvas::drawVertices now supports overloads that take an array of bone deformation matrices.
SkVertices::MakeCopy and SkVertices::Builder now support two additional optional attributes, boneIndices and boneWeights.

Bug: skia:
Change-Id: I30a3b11691e7cdb13924907cc1401ff86d127aea
Reviewed-on: https://skia-review.googlesource.com/137221
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
2018-06-29 19:34:28 +00:00
Ben Wagner
37a06c063c Reland "Implement onMakeClone(const SkFontArguments& args) in class SkTypeface_fontconfig."
This reverts commit cce82d2b7c.

Reason for revert: Just add suppression.

Original change's description:
> Revert "Implement onMakeClone(const SkFontArguments& args) in class SkTypeface_fontconfig."
>
> This reverts commit 96b1ecc25d.
>
> Reason for revert: Breaking Google3, I think
>
> Original change's description:
> > Implement onMakeClone(const SkFontArguments& args) in class SkTypeface_fontconfig.
> >
> > Create FontMgrFontConfigTest.cpp file to test the above function.
> >
> > Change-Id: I7716355f702af3d6f25574305914f0b82a4147ce
> > Reviewed-on: https://skia-review.googlesource.com/137133
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Ben Wagner <bungeman@google.com>
>
> TBR=bungeman@google.com,herb@google.com,brucewang@google.com
>
> Change-Id: I665de46d379f1b533358f0be644814aa4bfffb33
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/137240
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>

TBR=bungeman@google.com,herb@google.com,kjlubick@google.com,brucewang@google.com

Change-Id: I41f0e4505ed0579a77a56212898e9a6caf6f1ed5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/137260
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-06-22 21:12:58 +00:00
Kevin Lubick
cce82d2b7c Revert "Implement onMakeClone(const SkFontArguments& args) in class SkTypeface_fontconfig."
This reverts commit 96b1ecc25d.

Reason for revert: Breaking Google3, I think

Original change's description:
> Implement onMakeClone(const SkFontArguments& args) in class SkTypeface_fontconfig.
> 
> Create FontMgrFontConfigTest.cpp file to test the above function.
> 
> Change-Id: I7716355f702af3d6f25574305914f0b82a4147ce
> Reviewed-on: https://skia-review.googlesource.com/137133
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

TBR=bungeman@google.com,herb@google.com,brucewang@google.com

Change-Id: I665de46d379f1b533358f0be644814aa4bfffb33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/137240
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-06-22 21:07:38 +00:00
Bruce Wang
96b1ecc25d Implement onMakeClone(const SkFontArguments& args) in class SkTypeface_fontconfig.
Create FontMgrFontConfigTest.cpp file to test the above function.

Change-Id: I7716355f702af3d6f25574305914f0b82a4147ce
Reviewed-on: https://skia-review.googlesource.com/137133
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-06-22 17:49:27 +00:00
Mike Klein
f9ae670d05 add hello-opencl
This is a little hello world for OpenCL.

Change-Id: I9502407dab75694a19e97832bcfe33f47cbd97e9
Reviewed-on: https://skia-review.googlesource.com/136223
Commit-Queue: Allan MacKinnon <allanmac@google.com>
Reviewed-by: Allan MacKinnon <allanmac@google.com>
2018-06-20 21:50:47 +00:00
Mike Klein
a27f2694f0 fix GLU dependency
CreatePlatformGLTestContext_glx.cpp uses GLU (gluCheckExtension),
not Skia.

Change-Id: I815445613c33cd7c902dc52cdca2482e0daab839
Reviewed-on: https://skia-review.googlesource.com/136162
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-06-20 15:29:58 +00:00
Brian Osman
c069a57301 added NIMA sample to showcase animations
improved third_party template to include headers as system headers for non-Windows machines

Bug: skia:
Change-Id: Id2fa74fc31b49f9b07cc83e7f60477c7ab4f8d83
Reviewed-on: https://skia-review.googlesource.com/135450
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-06-19 20:30:28 +00:00
Mike Reed
0917fad2c6 move imagefilters into separate dir and flag for build.gn
Requires https://chromium-review.googlesource.com/c/chromium/src/+/1105062

Bug: skia:
Change-Id: I948056234efa57c0f727a61d5fb3258034de5199
Reviewed-on: https://skia-review.googlesource.com/135566
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-06-19 20:16:38 +00:00
Florin Malita
3425e22b9e Use SkJSONWriter for get_images_from_skps stats reporting
Remove JsonCPP dependency.

Change-Id: I3e86334e27b325cb06fd01d3c61661a9687c3a7f
Reviewed-on: https://skia-review.googlesource.com/135710
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-19 20:06:36 +00:00
ziadb
bceddbcb72 SkAR: drawing text, shapes, rotation modes enabled, translating objects
To run this app, you need to create an out directory as such:
bin/gn gen out/arm64 --args='ndk="NDK_PATH" target_cpu="ABI"'

For now, the only supported ABI is arm64

Change-Id: I012f0c6a0550d80a0028f42177d5ca72974d848d
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/130980
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ziad Ben Hadj-Alouane <ziadb@google.com>
2018-06-19 19:10:54 +00:00
Florin Malita
80452bee11 Fold SkJSON into Skia/utils
It's a tiny, core-ish component -- might as well treat as such to
simplify dependencies.

Change-Id: I6f31ce2d151f9a629d88bfc7f15d64891d5150c0
Reviewed-on: https://skia-review.googlesource.com/135780
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-19 18:23:30 +00:00
Florin Malita
b632df701d Use SkJSONWriter for viewer UI serialization
+ drop JsonCPP dependency.

Bug: skia:
Change-Id: I81539cea6e495fe6d55d155ae49e7ac4a79faad6
Reviewed-on: https://skia-review.googlesource.com/135628
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-19 13:53:00 +00:00
Florin Malita
94d4d3e20b [skottie] Fix OOB access in Parse<SkPoint>
SkJSON requires valid array indices, so callers must guard against
out-of-bounds conditions explicitly.

Bug: oss-fuzz:8956
Change-Id: I50b96b088e44a4c1a569e6911d4be5d75799b464
Reviewed-on: https://skia-review.googlesource.com/135445
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-06-18 17:33:18 +00:00
Florin Malita
7796f00dcf SkJson
For now this is only wired to a bench and a couple of tests.

Local numbers, for a ~500KB BM "compressed" json:

    micros   	bench
   2456.54  	json_rapidjson	nonrendering
   1192.38  	json_skjson	nonrendering


Change-Id: I7b3514f84c7c525d1787722c43ad6095e3692563
Reviewed-on: https://skia-review.googlesource.com/127622
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-08 17:45:33 +00:00
Florin Malita
e2aa7b6a55 Build skottie_tool on Linux only
MoltenVK builds are failing on Mac.  Let's limit skottie_tool to Linux
for now, as that's the only platform Fiddle runs on.

Change-Id: Icc94e0e380d6f1bc32888dcaaeb812dad082f625
Reviewed-on: https://skia-review.googlesource.com/132404
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Hal Canary <halcanary@google.com>
2018-06-06 13:57:36 +00:00
Florin Malita
79725d3271 [skottie] Add a tool for dumping encoded animation frames
Exports animation frames as a sequence of .png files:

  0000000.png
  0000001.png
  ...

Usage:

  skottie_tool -i <input_json> -w <out_dir>

Other options:

  --width  Frame width (default: 800)
  --height Frame height (default: 600)
  --fps    Frames per second (default: 30)
  --t0     Normalized timeline start (default: 0)
  --t1     Normalized timeline end (default: 1)

Change-Id: I4a79be0f823da15e6863909b6d67d38aa74bb740
Reviewed-on: https://skia-review.googlesource.com/132265
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-06 01:41:12 +00:00
Mike Klein
f105dc71e4 restore headers lost from skia.h
When we updated the script that generates skia.h to look at GN
dependencies, we lost some headers.  Here are two that we have
noticed are missing.

    ~/skia (headers|✚2…) $ git diff --no-index before.h out/gen/skia.h
    diff --git a/before.h b/out/gen/skia.h
    index 1d59746af1..915fffb293 100644
    --- a/before.h
    +++ b/out/gen/skia.h
    @@ -38,6 +38,7 @@
     #include "SkColorMatrix.h"
     #include "SkColorMatrixFilter.h"
     #include "SkColorPriv.h"
    +#include "SkColorSpaceXform.h"
     #include "SkCornerPathEffect.h"
     #include "SkDashPathEffect.h"
     #include "SkData.h"
    @@ -65,6 +66,7 @@
     #include "SkImageInfo.h"
     #include "SkImageSource.h"
     #include "SkInterpolator.h"
    +#include "SkJpegEncoder.h"
     #include "SkLayerDrawLooper.h"
     #include "SkLightingImageFilter.h"
     #include "SkLumaColorFilter.h"

Bug: skia:8039

Change-Id: If59a421a7852dc19123b851798b194a4666c59a3
Reviewed-on: https://skia-review.googlesource.com/132262
Auto-Submit: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-06-05 20:09:09 +00:00
Brian Osman
ccb87523a2 Revert "Rename sg tests and samples targets to fix Visual Studio name conflict"
This reverts commit ba2f82986f.

Reason for revert: This is going to be hard to maintain long-term. I've fixed the python script to handle this case: https://skia-review.googlesource.com/c/skia/+/131580

Original change's description:
> Rename sg tests and samples targets to fix Visual Studio name conflict
> 
> GN was emitting projects for the SG versions of tests and samples, which
> conflicted with the top-level versions of those. This made the normal GN
> VS IDE files confusing, and the merged ones totally broken.
> 
> Change-Id: Ifd048258d4358ed2852d5263b16278c5b8ebd9c4
> Reviewed-on: https://skia-review.googlesource.com/131391
> Commit-Queue: Brian Osman <brianosman@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Auto-Submit: Brian Osman <brianosman@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>

TBR=jvanverth@google.com,brianosman@google.com,fmalita@chromium.org,fmalita@google.com

Change-Id: I25553fdcfd063c920635fe1bd71553b578d0b0c8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/131600
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-06-01 19:20:07 +00:00
Brian Osman
ba2f82986f Rename sg tests and samples targets to fix Visual Studio name conflict
GN was emitting projects for the SG versions of tests and samples, which
conflicted with the top-level versions of those. This made the normal GN
VS IDE files confusing, and the merged ones totally broken.

Change-Id: Ifd048258d4358ed2852d5263b16278c5b8ebd9c4
Reviewed-on: https://skia-review.googlesource.com/131391
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-06-01 15:12:26 +00:00
Leon Scroggins III
22f673d420 Move SkColorTable to src/codec
It is no longer needed anywhere else, and simply happens to be an
implementation detail of SkCodec (at least for now).

Remove references to SkColorTable in other classes, and clean up some
includes of SkConvertPixels I found along the way.

Remove unused includes/methods on SkColorTable

Change-Id: I46c8e46f5b77c37710b6cf595d48107d55871d52
Reviewed-on: https://skia-review.googlesource.com/130845
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-06-01 12:53:25 +00:00
Brian Salomon
d042071999 Stop using legacy pixel ops on windows builds
Change-Id: I48cd86aa0285bdd821570651de9203d449674592
Reviewed-on: https://skia-review.googlesource.com/131220
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-05-31 19:19:44 +00:00
Mike Reed
2f0edd5c9a draw skottie in 3d
Bug: skia:
Change-Id: I6321da0d9f06b4d5637d2ce611e1c81cc75c0eb2
Reviewed-on: https://skia-review.googlesource.com/131113
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-05-31 19:09:24 +00:00
Brian Osman
c9a424731a Require the GPU backend to build our internal tools
This causes builders with skia_enable_gpu set to false to stop building
DM, nanobench, etc. Next step is to remove all of the GPU shimming used
throughout those tools, and conditional code and tests.

Bug: skia:
Change-Id: I59c1c64b7e4e300c3a72a2eed9b481ed1bdf732c
Reviewed-on: https://skia-review.googlesource.com/131146
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-05-31 18:05:44 +00:00
Brian Osman
8dc68c67f8 Make skcms mandatory
Change-Id: I6b08cd586d313e3bc41c0da90698fc26ae1a8bb8
Reviewed-on: https://skia-review.googlesource.com/130822
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-05-30 17:37:49 +00:00
Florin Malita
6e4d95f804 Add Skottie support to Fiddle
Change-Id: I2d89c1340215b43476337c354057328c1bb2b8ff
Reviewed-on: https://skia-review.googlesource.com/130720
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-05-30 13:50:08 +00:00
Greg Daniel
18dbfd05e4 Reland "Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API."
This reverts commit 98bddf930e.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API."
> 
> This reverts commit 26c0e4c1f5.
> 
> Reason for revert: breaks roll into fuchsia
> 
> Original change's description:
> > Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API.
> > 
> > Bug: skia:
> > Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0
> > Reviewed-on: https://skia-review.googlesource.com/129980
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> 
> 
> 
> Change-Id: I6c74978f778987c422e6162e7dd85ea9c6baa0e4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/130182
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

Bug: skia:
Change-Id: I422ffb3562da567f2e85c806286ad1a17c3862cd
Reviewed-on: https://skia-review.googlesource.com/130183
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-30 13:27:38 +00:00
Robert Phillips
96601084b3 Add DDL to SKPBench
Most of this CL is just repackaging the promise image and tile
code from ViaDDL for reuse by SKPBench.

Change-Id: Ie5003c36fe85cc5be9639552f9488b8e92dcdbbf
Reviewed-on: https://skia-review.googlesource.com/129805
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-05-30 10:12:08 +00:00
Herb Derby
264182c3f7 Make SkShaper a module
Change-Id: I3709e49ba865f14260660cc07a762b9ac837cb3c
Reviewed-on: https://skia-review.googlesource.com/130602
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-05-30 04:04:07 +00:00
Florin Malita
3d856bdeee [skottie] Relocate to modules/skottie
TBR=
Change-Id: I218d251ca56578a3a7fd4fb86cba9abdc10fb3bd
Reviewed-on: https://skia-review.googlesource.com/130322
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-05-27 02:21:33 +00:00
Ben Wagner
9494f3e154 Revert "Revert "find_headers.py to better find headers.""
This reverts commit 59da548b0c.

This now provides more information on failure and always sets the
source root for cases where the output directory is not a subdirectory
of the source directory.

Change-Id: I8e317814d4686d9a0736b7097b404920fa55e769
Reviewed-on: https://skia-review.googlesource.com/130134
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-25 21:49:42 +00:00
Greg Daniel
98bddf930e Revert "Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API."
This reverts commit 26c0e4c1f5.

Reason for revert: breaks roll into fuchsia

Original change's description:
> Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API.
> 
> Bug: skia:
> Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0
> Reviewed-on: https://skia-review.googlesource.com/129980
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,bungeman@google.com

Change-Id: I6c74978f778987c422e6162e7dd85ea9c6baa0e4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/130182
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-25 17:25:23 +00:00
Florin Malita
3b526b05d6 "Modularize" SkSG
* relocate all SkSG-related files under modules/sksg/
* fix various tidbits to make non-sksg builds possible
* drop obsolete SampleSGInval.cpp

Change-Id: I54e6c5bb1a09f45030fa8d607b3eb3f7cba78957
Reviewed-on: https://skia-review.googlesource.com/130025
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-05-25 17:11:52 +00:00
Mike Klein
59da548b0c Revert "find_headers.py to better find headers."
This reverts commit 6c8ad116d4.

Reason for revert:

https://chromium-swarm.appspot.com/task?id=3db0ac33aa369910&refresh=10

[981/1474] ACTION //:skia.h(//gn/toolchain:gcc_like)
FAILED: gen/skia.h 
python ../../../gn/find_headers.py /mnt/pd0/s/w/ir/cache/work/skia/bin/gn /mnt/pd0/s/w/ir/cache/work/skia/ gen/skia.h /mnt/pd0/s/w/ir/cache/work/skia/include/android /mnt/pd0/s/w/ir/cache/work/skia/include/c /mnt/pd0/s/w/ir/cache/work/skia/include/codec /mnt/pd0/s/w/ir/cache/work/skia/include/config /mnt/pd0/s/w/ir/cache/work/skia/include/core /mnt/pd0/s/w/ir/cache/work/skia/include/effects /mnt/pd0/s/w/ir/cache/work/skia/include/encode /mnt/pd0/s/w/ir/cache/work/skia/include/gpu /mnt/pd0/s/w/ir/cache/work/skia/include/atlastext /mnt/pd0/s/w/ir/cache/work/skia/include/pathops /mnt/pd0/s/w/ir/cache/work/skia/include/ports /mnt/pd0/s/w/ir/cache/work/skia/include/svg /mnt/pd0/s/w/ir/cache/work/skia/include/utils /mnt/pd0/s/w/ir/cache/work/skia/include/utils/mac /mnt/pd0/s/w/ir/cache/work/skia/include/atlastext
Traceback (most recent call last):
  File "../../../gn/find_headers.py", line 32, in <module>
    sources_json = json.loads(subprocess.check_output(gn_sources_cmd))
  File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

Original change's description:
> find_headers.py to better find headers.
> 
> The find_headers.py script claims to "recursively search each include
> directory for headers" but the recursive part has been left out.
> 
> This changes find_headers to instead find all the sources which are in
> public include directories and list them with the shortest possible
> path. This removes the need for a blacklist and also handles includes in
> subdirectories of public include directories.
> 
> Change-Id: Ib59256a2059d37d4459686c421923207ac7acf38
> Reviewed-on: https://skia-review.googlesource.com/129660
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

TBR=egdaniel@google.com,mtklein@google.com,bungeman@google.com

Change-Id: I5cca85754f1b9fde7771ab0ed1bd8117ee96a970
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/130181
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-05-25 16:16:32 +00:00
Greg Daniel
26c0e4c1f5 Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API.
Bug: skia:
Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0
Reviewed-on: https://skia-review.googlesource.com/129980
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-05-25 15:24:42 +00:00
Ben Wagner
6c8ad116d4 find_headers.py to better find headers.
The find_headers.py script claims to "recursively search each include
directory for headers" but the recursive part has been left out.

This changes find_headers to instead find all the sources which are in
public include directories and list them with the shortest possible
path. This removes the need for a blacklist and also handles includes in
subdirectories of public include directories.

Change-Id: Ib59256a2059d37d4459686c421923207ac7acf38
Reviewed-on: https://skia-review.googlesource.com/129660
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-25 15:02:52 +00:00
Ben Wagner
496a28233a Remove include/gpu/mtl from include directories.
Prefer to use "mtl/" to set apart such includes and lessen the include
directory pollution. In addition no users of Skia want to add this
include directory to their includes list, so this change keeps that
setup working by having Skia build this way as well.

Change-Id: I5742e2c981e4cdb95b5af18dd39ec877162788de
Reviewed-on: https://skia-review.googlesource.com/129655
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-23 17:42:41 +00:00
Brian Osman
c494a708be Use skcms for ICC parsing in HP codec test
Change-Id: I6319b00ae35a15ffeaf8a785dde874b730f42c13
Reviewed-on: https://skia-review.googlesource.com/129649
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-05-23 16:18:41 +00:00
Ben Wagner
e87225f12a Remove include/gpu/vk from include paths.
The public.bzl doesn't yet support vulkan, Chromium adds this include
path but appears to do so for the one header fixed in this CL, and
Android seems to be fine with this change.

Change-Id: I3869776a7653c420b584129936c302b8c8e9e8fa
Reviewed-on: https://skia-review.googlesource.com/129640
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-22 19:59:35 +00:00
Greg Daniel
91dfa3b571 Reland "Move gn setup for vulkan library/headers into their own third_party directory."
This reverts commit 2c2a119f94.

Reason for revert: Relanding with fixes

Original change's description:
> Revert "Move gn setup for vulkan library/headers into their own third_party directory."
> 
> This reverts commit 477094250c.
> 
> Reason for revert:
> I think we know this broke the MoltenVK bots.  It also appears to have broken the Fuchsia roll: https://logs.chromium.org/v/?s=fuchsia%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8945885190914943680%2F%2B%2Fsteps%2Fbuild%2F0%2Fsteps%2Fbuild_fuchsia%2F0%2Fsteps%2Fgn_gen%2F0%2Fstdout
> 
> Original change's description:
> > Move gn setup for vulkan library/headers into their own third_party directory.
> > 
> > Bug: skia:
> > Change-Id: I4605f0d962271efb77bf3c17f1b0daaaddfb51c8
> > Reviewed-on: https://skia-review.googlesource.com/128540
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Mike Klein <mtklein@google.com>
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> 
> TBR=egdaniel@google.com,mtklein@google.com,bungeman@google.com
> 
> Change-Id: I6e41d98e39883eff34424a2f352b0c8adec178db
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/129444
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Bug: skia:
Change-Id: I26b4b1f7196dd1bd8bf2e7641ef741c90c742c81
Reviewed-on: https://skia-review.googlesource.com/129445
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-22 19:08:05 +00:00
Ben Wagner
b918e9865a Remove include/gpu/gl from include paths.
This path is not used as an include path by public.bzl nor by Chromium.
Remove this include path to avoid breaking these clients and generally
make these includes more specific.

Change-Id: I9391d38d5241870086bf47cb8e49146736dc4ded
Reviewed-on: https://skia-review.googlesource.com/129561
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-05-22 18:37:25 +00:00
Herb Derby
1724db1658 Remove SkTextBox
Change-Id: I697135475fa9c1b7e803500b743f10c3877c1e10
Reviewed-on: https://skia-review.googlesource.com/129560
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-05-22 17:50:35 +00:00
Mike Klein
2c2a119f94 Revert "Move gn setup for vulkan library/headers into their own third_party directory."
This reverts commit 477094250c.

Reason for revert:
I think we know this broke the MoltenVK bots.  It also appears to have broken the Fuchsia roll: https://logs.chromium.org/v/?s=fuchsia%2Fbuildbucket%2Fcr-buildbucket.appspot.com%2F8945885190914943680%2F%2B%2Fsteps%2Fbuild%2F0%2Fsteps%2Fbuild_fuchsia%2F0%2Fsteps%2Fgn_gen%2F0%2Fstdout

Original change's description:
> Move gn setup for vulkan library/headers into their own third_party directory.
> 
> Bug: skia:
> Change-Id: I4605f0d962271efb77bf3c17f1b0daaaddfb51c8
> Reviewed-on: https://skia-review.googlesource.com/128540
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=egdaniel@google.com,mtklein@google.com,bungeman@google.com

Change-Id: I6e41d98e39883eff34424a2f352b0c8adec178db
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/129444
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-05-22 12:25:55 +00:00
Greg Daniel
477094250c Move gn setup for vulkan library/headers into their own third_party directory.
Bug: skia:
Change-Id: I4605f0d962271efb77bf3c17f1b0daaaddfb51c8
Reviewed-on: https://skia-review.googlesource.com/128540
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-05-21 18:17:08 +00:00
Mike Klein
852a8cb1f0 switch skia to use skcms.gni
On the road to removing skcms/BUILD.gn,
and making configuring skcms a little less inside-out.

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Change-Id: I3c37c019bbc32a6112d329429f906b3d8b7f0d19
Reviewed-on: https://skia-review.googlesource.com/128304
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2018-05-15 16:06:13 +00:00
Adrienne Walker
ab7181daad Reland "Add driver bug workarounds to GrCaps"
This is a reland of 328490c6a1

Original change's description:
> Add driver bug workarounds to GrCaps
> 
> This moves GrDriverBugWorkarounds to include so that it can be included
> by GrCaps.  This also makes GrContextOptions a nearly empty class in
> the case of !SK_SUPPORT_GPU so that non-gpu builds don't need to build
> in GrDriverBugWorkarounds.cpp.
> 
> Bug: chromium: 829614
> Change-Id: Iedf73677fd09e9a487cfe618a696fd4b25c8703d
> Reviewed-on: https://skia-review.googlesource.com/126581
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

Bug: chromium: 829614
Change-Id: I7b539f99caa3032c8c595dd5068dc3b179747ccd
Reviewed-on: https://skia-review.googlesource.com/127304
Commit-Queue: Adrienne Walker <enne@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-05-14 23:46:49 +00:00
Greg Daniel
024615e975 Revert "Add driver bug workarounds to GrCaps"
This reverts commit 328490c6a1.

Reason for revert: Breaking compiles inside chrome

Original change's description:
> Add driver bug workarounds to GrCaps
> 
> This moves GrDriverBugWorkarounds to include so that it can be included
> by GrCaps.  This also makes GrContextOptions a nearly empty class in
> the case of !SK_SUPPORT_GPU so that non-gpu builds don't need to build
> in GrDriverBugWorkarounds.cpp.
> 
> Bug: chromium: 829614
> Change-Id: Iedf73677fd09e9a487cfe618a696fd4b25c8703d
> Reviewed-on: https://skia-review.googlesource.com/126581
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adrienne Walker <enne@chromium.org>

TBR=bsalomon@google.com,enne@chromium.org

Change-Id: I3b35bf65a7b78d2fe16d7c2bcd0e4b3f9bb7fdff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium: 829614
Reviewed-on: https://skia-review.googlesource.com/127303
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-05-10 17:30:00 +00:00
Adrienne Walker
328490c6a1 Add driver bug workarounds to GrCaps
This moves GrDriverBugWorkarounds to include so that it can be included
by GrCaps.  This also makes GrContextOptions a nearly empty class in
the case of !SK_SUPPORT_GPU so that non-gpu builds don't need to build
in GrDriverBugWorkarounds.cpp.

Bug: chromium: 829614
Change-Id: Iedf73677fd09e9a487cfe618a696fd4b25c8703d
Reviewed-on: https://skia-review.googlesource.com/126581
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adrienne Walker <enne@chromium.org>
2018-05-10 14:54:15 +00:00