aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party
Commit message (Collapse)AuthorAge
* Add a png.imp for include-what-you-use.Gravatar Ben Wagner2018-03-14
| | | | | | | | | | | | | The png.h header provides some macros and declarations from subincludes. By default include-what-you-use will suggest using these subincludes directly, but this was not the intent of png.h. This adds a mapping file so that include-what-you-use knows that these subincludes are actually private and png.h should be used instead. Change-Id: Ibf9df6dbdbde0e657f6e548ed0e8f2310f44cfea Reviewed-on: https://skia-review.googlesource.com/114481 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Support pngs with incorrect CMF bytesGravatar Leon Scroggins III2018-02-28
| | | | | | | | | | | | | Bug: chromium:807324 Though these pngs are technically incorrect, many such PNGs exist, and they are supported in Chromium. Ensure that users of SkCodec (e.g. Android, Flutter) display them as well. Change-Id: I2f1e573b4b7039cea81f96397cc0aa4cbc9461c3 Reviewed-on: https://skia-review.googlesource.com/111082 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Revert -isystem related CLs.Gravatar Mike Klein2018-02-26
| | | | | | | | | | | | | | | | Revert "use -isystem for headers from third_party" This reverts commit 138bd155ed1d1c8696733b7060553f070f384678. Revert "write -isystem paths relative to the build root" This reverts commit 085bc523634ee3156cd4e5bc05d8907739b54e4c. I suspect the first breaks building on systems with an old libpng or zlib installed, and the second definitely breaks GN -> CMake. Change-Id: I5b29669b21b1444daeec8fb784337422ee17311a Reviewed-on: https://skia-review.googlesource.com/110183 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* write -isystem paths relative to the build rootGravatar Mike Klein2018-02-22
| | | | | | | | | | | | | | | | | | The default makes these system-absolute paths, which confuses fiddle's overlay builds. Now we should see things like, -isystem ../third_party/externals/jsoncpp/include where we previously had, -isystem /Users/mtklein/skia/third_party/externals/jsoncpp/include Change-Id: I7b161a550fdb95b06e17c372cd5bec3015e3c8b7 Reviewed-on: https://skia-review.googlesource.com/109382 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix Angle autoroller by adding missing platform specific files.Gravatar Derek Sollenberger2018-02-21
| | | | | | | Change-Id: Ib1b3c760b8769fb0e342b69ec7954e2a30d74599 Reviewed-on: https://skia-review.googlesource.com/109200 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* use -isystem for headers from third_partyGravatar Mike Klein2018-02-21
| | | | | | | | | | | This supresses warnings from code in those headers, e.g. warnings about switch case fallthrough in SDL_memset4(), defined inline in SDL_stdinc.h. Change-Id: I5341a67d4949b28ec5ffa6b7ae433748406e99db Reviewed-on: https://skia-review.googlesource.com/109140 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Reland "remove third_party/etc1"Gravatar Mike Klein2018-02-20
| | | | | | | | | | | | | | | | | | | This is a reland of 9d7a73527a6df7d3523e93a6a1f964df08b94510. Original change's description: > remove third_party/etc1 > > Nothing seems to reference it. > > Change-Id: Ib009a7dc33d31439b11588758015a07485f56eaa > Reviewed-on: https://skia-review.googlesource.com/99861 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> Change-Id: I3a6428074896c7b3c80cb23db61f70d7cb0c785f Reviewed-on: https://skia-review.googlesource.com/108460 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Roll libwebp to 0.6.1Gravatar Kevin Lubick2018-02-14
| | | | | | | | Bug: oss-fuzz:6299 Change-Id: I2e87368e04ff37db7e431fd1960f0bf91440037f Reviewed-on: https://skia-review.googlesource.com/107281 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Build ICU on iOSGravatar Hal Canary2018-02-12
| | | | | | | Change-Id: Idc6d5ed987540bc41d64ceab87af103591dc1911 Reviewed-on: https://skia-review.googlesource.com/105800 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* ICU on windowsGravatar Hal Canary2018-02-08
| | | | | | | Change-Id: Ib1a2f017d96c5157c60d512332fddfef77c5ae8e Reviewed-on: https://skia-review.googlesource.com/103001 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* avoid using tmpnam() in LuaGravatar Mike Klein2018-02-01
| | | | | | | Change-Id: I9e3d82445bb26b98ff6a60dff28f9655cc9ea1fb Reviewed-on: https://skia-review.googlesource.com/102624 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "remove third_party/etc1"Gravatar Mike Klein2018-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9d7a73527a6df7d3523e93a6a1f964df08b94510. Reason for revert: still used by Fiber in Google3 Original change's description: > remove third_party/etc1 > > Nothing seems to reference it. > > Change-Id: Ib009a7dc33d31439b11588758015a07485f56eaa > Reviewed-on: https://skia-review.googlesource.com/99861 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,robertphillips@google.com Change-Id: I12b950931f0680576faefd1907a26afe22cf680f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/100460 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove third_party/etc1Gravatar Mike Klein2018-01-26
| | | | | | | | | Nothing seems to reference it. Change-Id: Ib009a7dc33d31439b11588758015a07485f56eaa Reviewed-on: https://skia-review.googlesource.com/99861 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* add basic skia -> skcms dependencyGravatar Mike Klein2018-01-26
| | | | | | | | | | | | | This rolls skcms into skia and builds it in dev configurations. We don't use it in any way yet, but if nothing else this gives us roundabout Windows skcms build bots. Bug: skia:7493 Change-Id: Idd945ccd5c7a543841d76ab600cc117f2ee074dc Reviewed-on: https://skia-review.googlesource.com/99880 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove third_party/libwebp/webp/config.hGravatar Mike Klein2018-01-25
| | | | | | | | | | | | | This doesn't appear to have any effect. It's not mentioned in our build configuration anywhere, nor is third_party/libwebp/webp on any include path. Bug: skia:4037 Change-Id: I41710fe5e82bb97946e64d5f975c09c8ba21dc0d Reviewed-on: https://skia-review.googlesource.com/99860 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove unused field/methodsGravatar Leon Scroggins III2018-01-25
| | | | | | | | | These have been replaced by duration on the base class. Change-Id: Id87ecf09f4da6840280e3f5657453915a8d3c81b Reviewed-on: https://skia-review.googlesource.com/99245 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Update ANGLE's BUILD.gn to include definitions for GL_API.Gravatar Geoff Lang2018-01-23
| | | | | | | | Bug: skia: Change-Id: I57a16af6c57166ead768ad73a8124690f1fa58e4 Reviewed-on: https://skia-review.googlesource.com/98302 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* make lua a rollable dep, roll itGravatar Mike Klein2018-01-10
| | | | | | | | | | | | | | This rolls from 5.2.1 (2013) to 5.3.4 (2017). I was looking at why the GomaNoFallback bot was failing, and noticed that we had a static copy of Lua here instead of a DEPS entry. This doesn't do anything to change the GomaNoFallback situation. Change-Id: Ia3cdca85551fe680b60b38cb8c5a8fb5349e177f Reviewed-on: https://skia-review.googlesource.com/93120 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Update Windows clang assetGravatar Brian Osman2017-12-08
| | | | | | | | | | | | | | | | For reference, the version number is pulled from: chromium/src/third_party/llvm-build/cr_build_revision This version of clang includes fixes for bugs in the latest Windows 10 SDK headers. Bug: skia: Change-Id: Ieee6eb2dff2f98a2340a8433135b6c3f916c0577 Reviewed-on: https://skia-review.googlesource.com/82721 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Eric Boren <borenet@google.com>
* Update to the latest version of libjpeg-turboGravatar Leon Scroggins III2017-12-07
| | | | | | | | | | | | | | | | | | | Bug: b/70203010 From https://github.com/libjpeg-turbo/libjpeg-turbo/commit/c308d434. This commit fixes a bug in BitmapRegionDecoder, and is the tip of tree. Rather than using our mirror, just pull in upstream directly. Move our config files into third_party/libjpeg-turbo, so we can just DEPS to upstream. These files are unchanged, except jconfig.h, where I added a comment regarding arithmetic coding. Add a test image which demonstrates the bug. Change-Id: I00f8f961f69e407dc31ca6d15c66518aa0acbafd Reviewed-on: https://skia-review.googlesource.com/81442 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Reland "Hide SkEncodedInfo"Gravatar Leon Scroggins III2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts commit 1793e7bb46c1f9d430c1a699a1c3d3168159b659. Hide SkEncodedInfo Bug: skia:7353 Bug: skia:6839 This contains information that is not necessary for clients to know. The Color enum tells the number of components in the input, but this is only interesting internally (to the SkSwizzler). Similarly, the Alpha enum differs from SkAlphaType in that it has kBinary instead of kPremul. This is useful information only internally for determining whether the SkColorSpaceXform needs to premultiply. The bitsPerComponent is potentially useful for a client; Android (in SkAndroidCodec) uses it to determine the SkColorType. Rather than exposing bitsPerComponent, make SkAndroidCodec a friend so it can access the SkEncodedInfo. A future change will change SkCodec to recommend F16 for bitsPerComponent > 8, but that will be more involved; it was the reason for the revert of this CL. Switch conversionSupported to use an SkColorType, which is enough info. Replace the SkEncodedInfo::Alpha field on SkCodec::FrameInfo with an SkAlphaType. SkCodec still needs an SkEncodedInfo, so move its header (which is already not SK_API) to include/private. TBR=mtklein@chromium.org,reed@google.com Change-Id: I928b1f55317602cb37d29da63b53026c8d139cee Reviewed-on: https://skia-review.googlesource.com/80860 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* remove mips support and botsGravatar Mike Klein2017-12-05
| | | | | | | | | | | The NDK has deprecated mips and mips64: https://developer.android.com/ndk/guides/abis.html Might as well clean this up now while I remember. Change-Id: Ie4b2334c75208082067cc16fe355d0349c7e0904 Reviewed-on: https://skia-review.googlesource.com/80560 Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Revert "Hide SkEncodedInfo"Gravatar Leon Scroggins2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c6f7a4ffa9522159efc42f7c948bba5e66bb8844. Reason for revert: Causing differences in Gold, stemming from the fact that this changes the recommended SkImageInfo for 16 bits-per-component PNG from N32 to F16. - an F16 bitmap already png-encodes to a 16 bits-per-component PNG, but it does not encode a linear colorspace (possibly a bug?). when we decode this PNG using getInfo(), it fails because it has an F16 color type and non-linear colorspace. (In the encode-srgb-png gm, this results in blank results for F16.) We could correct this on the encoder side, but it seems possible that a 16 bits-per-component PNG could be encoded with a different color space. In that case, we'd want SkCodec to recommend F16/SRGBLinear, but I think we'd want the SkCodec to store the encoded SkColorSpace so that we can Xform between the two. Currently SkCodec only stores one color space, so that will require a refactor. - When decoding 16-bits-per-component PNGs, we are now decoding them to F16. This shows differences in Gold. The srgb/gpu results now look more like F16. I think this is fine. Original change's description: > Hide SkEncodedInfo > > Bug: skia:7353 > Bug: skia:6839 > > This contains information that is not necessary for clients to know. The > Color enum tells the number of components in the input, but this is only > interesting internally (to the SkSwizzler). > > Similarly, the Alpha enum differs from SkAlphaType in that it has > kBinary instead of kPremul. This is useful information only internally > for determining whether the SkColorSpaceXform needs to premultiply. > > The bitsPerComponent is potentially useful for a client; Android (in > SkAndroidCodec) uses it to determine the SkColorType. Rather than > exposing bitsPerComponent, use it to make the same decision that Android > would have made - 16 bits per component means to set the info to F16. Add > a test that computeOutputColorType behaves as expected. > > Switch conversionSupported to use an SkColorType, which is enough info. > > Replace the SkEncodedInfo::Alpha field on SkCodec::FrameInfo with an > SkAlphaType. > > SkCodec still needs an SkEncodedInfo, so move its header (which is > already not SK_API) to include/private. > > Change-Id: Ie2cf11339bf999ebfd4390c0f448f7edd6feabda > Reviewed-on: https://skia-review.googlesource.com/79260 > Reviewed-by: Mike Reed <reed@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Leon Scroggins <scroggo@google.com> TBR=mtklein@chromium.org,scroggo@google.com,reed@google.com Change-Id: I0c5dd1461e1b70d1e55349a8e7ee6b029c3f556e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7353, skia:6839 Reviewed-on: https://skia-review.googlesource.com/80660 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Hide SkEncodedInfoGravatar Leon Scroggins III2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: skia:7353 Bug: skia:6839 This contains information that is not necessary for clients to know. The Color enum tells the number of components in the input, but this is only interesting internally (to the SkSwizzler). Similarly, the Alpha enum differs from SkAlphaType in that it has kBinary instead of kPremul. This is useful information only internally for determining whether the SkColorSpaceXform needs to premultiply. The bitsPerComponent is potentially useful for a client; Android (in SkAndroidCodec) uses it to determine the SkColorType. Rather than exposing bitsPerComponent, use it to make the same decision that Android would have made - 16 bits per component means to set the info to F16. Add a test that computeOutputColorType behaves as expected. Switch conversionSupported to use an SkColorType, which is enough info. Replace the SkEncodedInfo::Alpha field on SkCodec::FrameInfo with an SkAlphaType. SkCodec still needs an SkEncodedInfo, so move its header (which is already not SK_API) to include/private. Change-Id: Ie2cf11339bf999ebfd4390c0f448f7edd6feabda Reviewed-on: https://skia-review.googlesource.com/79260 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Suppress warning 4577 (noexcept used with no exception handling mechanism ↵Gravatar Brian Osman2017-11-12
| | | | | | | | | | | | specified) Fixes build errors with latest ANGLE, should allow roll to land. Bug: skia: Change-Id: I44c7b2ed8bf3a8dbfa70a16aed51c45f2c7d5b71 Reviewed-on: https://skia-review.googlesource.com/70461 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Add an Option for orientation on JPEG encodes"Gravatar Ben Wagner2017-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5411a60e0d7370a5d47b5049de845a06fe52e98b. Reason for revert: ASAN and Coverage failing: https://chromium-swarm.appspot.com/task?id=394978f3b7d44610 Flutter_Android failing. Original change's description: > Add an Option for orientation on JPEG encodes > > Move Origin to its own header so that SkPixmap and SkJpegEncoder need > not depend on SkCodec. > > Add libexif, which is already used by Android, and use it to write the > orientation. Write a makefile based on the Android.bp in Android, minus > warnings. (libexif has an LGPL license.) > > Add a test that verifies all the orientations work. > > Optionally enable writing the orientation (and therefore including > libexif). Chromium does not currently need it, and Android does not > expose an API that would allow using it. Disable on Windows, where we > still have build errors to fix. > > Bug: skia:7138 > Change-Id: Iaeff44c36aebe0e639666979dc00e1b7594bbeb1 > Reviewed-on: https://skia-review.googlesource.com/60721 > Commit-Queue: Leon Scroggins <scroggo@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Reviewed-by: Mike Reed <reed@google.com> TBR=mtklein@chromium.org,mtklein@google.com,scroggo@google.com,reed@google.com Change-Id: I05b7ae8d1c5bbd1de1642d9ef024943500256273 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7138 Reviewed-on: https://skia-review.googlesource.com/61620 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Add an Option for orientation on JPEG encodesGravatar Leon Scroggins III2017-10-18
| | | | | | | | | | | | | | | | | | | | | | | Move Origin to its own header so that SkPixmap and SkJpegEncoder need not depend on SkCodec. Add libexif, which is already used by Android, and use it to write the orientation. Write a makefile based on the Android.bp in Android, minus warnings. (libexif has an LGPL license.) Add a test that verifies all the orientations work. Optionally enable writing the orientation (and therefore including libexif). Chromium does not currently need it, and Android does not expose an API that would allow using it. Disable on Windows, where we still have build errors to fix. Bug: skia:7138 Change-Id: Iaeff44c36aebe0e639666979dc00e1b7594bbeb1 Reviewed-on: https://skia-review.googlesource.com/60721 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* GPU-CTS ProgramGravatar Hal Canary2017-10-17
| | | | | | | | | | | | | | | | | | | | Add new application, called GPU-CTS (GPU Compatibility Test Suite), which executes skia gms against OpenGL and Vulkan backends. Makes use of googletest library for consistancy with Android CTS programs. Add googletest to DEPS gm_knowledge.h header as a stub for future work on validating gm output. gm_runner can be re-used in other programs. Talks to Skia and GM with a simple API. gpuctx executable wraps gm_runner and googletest together. Change-Id: Ie7350b22164fa73e44121c39b0f36da4038a700b Reviewed-on: https://skia-review.googlesource.com/56601 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* roll libpng to 1.6.33Gravatar Mike Klein2017-10-02
| | | | | | | | | | | | | Apparently 1.6.34 has been released too, but I can't find it in Git, and 1.6.33 is the one with that patch we're really interested in, right? Let's also just #include the prebuilt pnglibconf.h to make it clear that it's unchanged from the original? Change-Id: Ia415486f30c7aff1575f96add8edce855eef9207 Reviewed-on: https://skia-review.googlesource.com/54040 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove unused param to SkGIFFrameContext ctorGravatar Chris Blume2017-09-28
| | | | | | | | | | | | | After updating the transparency index code, the reader parameter to SkGIFFrameContext's ctor is no longer needed. This patch removes it. BUG=skia:7069 Change-Id: If129f825639e8d43d73794adca2de09785f56a3c Reviewed-on: https://skia-review.googlesource.com/52602 Commit-Queue: Chris Blume <cblume@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Treat invalid indices as transparent in gifsGravatar Chris Blume2017-09-27
| | | | | | | | | | | | | | | Other browsers (including old Chrome) treat invalid palette indices as transparent for gifs. And there are gifs in the wild which rely on this. As an example, if the palette only has 64 entries (0-63) then index 64 is treated as transparent. BUG=skia:7069 Change-Id: I15e8919a953387506c9ac5945c3ae6a2b90189ab Reviewed-on: https://skia-review.googlesource.com/51100 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Chris Blume <cblume@google.com>
* corrected spirv tools output file nameGravatar Ethan Nicholas2017-09-25
| | | | | | | | | | | The incorrect output file name meant that the update_build_version.py script was being run on every build, resulting in unnecessary work. Bug: skia: Change-Id: I5da933fb9b8fdf0bc898d0e90eaae0a542cfb3b3 Reviewed-on: https://skia-review.googlesource.com/50302 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* libpng: update to 1.6.32, pull using DEPSGravatar Mike Klein2017-09-19
| | | | | | | | | | | I'd have done this as two steps, but we didn't have a pure copy of libpng to start with. The patches we did have, though, have been upstreamed and are now unneeded. Change-Id: I884b9bc47afe5000f5a521f66a3bb95c0411b39a Reviewed-on: https://skia-review.googlesource.com/48620 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix system icu build.Gravatar Ben Wagner2017-08-31
| | | | | | | | | | | | | | It turns out that Skia's gn 'system' and 'third_party' templates differ in the way public defines are declared. This also updates the build to add libdl when building SkOSLibrary_posix.cpp, since that uses dlsym. The current build depends on icu bringing in this dependency. BUG=skia:7008 Change-Id: Ia710a335e1da9580f85f133a5a171f640b36ee75 Reviewed-on: https://skia-review.googlesource.com/41745 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
* Add bidi to SkShaper.Gravatar Ben Wagner2017-08-31
| | | | | | | Change-Id: Iaab9a1d5091a3b157a582b7e8c3261a6c3283ffc Reviewed-on: https://skia-review.googlesource.com/40778 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Add iOS support for SkiaSDLExample.Gravatar Jim Van Verth2017-08-30
| | | | | | | Change-Id: Ib8f4d6c41356cf0fe2e14b7bff7713d107eaa01f Reviewed-on: https://skia-review.googlesource.com/40687 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* GIF: Use SkTArray instead of std::vectorGravatar Leon Scroggins III2017-08-30
| | | | | | | | | | | | | Speculative fix for a memory regression seen in Chromium. Chromium previously used a WTF::Vector, which has a growth factor of 1.5, as does SkTArray. Depending on the implementation of std::vector, this may slow the allocation of memory. Bug: 758946 Change-Id: I323390027467e32a6c66667c927fae0aba292446 Reviewed-on: https://skia-review.googlesource.com/40777 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Convert NULL and 0 to nullptr.Gravatar Ben Wagner2017-08-28
| | | | | | | | | | | | | | This was created by looking at warnings produced by clang's -Wzero-as-null-pointer-constant. This updates most issues in Skia code. However, there are places where GL and Vulkan want pointer values which are explicitly 0, external headers which use NULL directly, and possibly more uses in un-compiled sources (for other platforms). Change-Id: Id22fbac04d5c53497a53d734f0896b4f06fe8345 Reviewed-on: https://skia-review.googlesource.com/39521 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Make haveDecodedRow return voidGravatar Leon Scroggins III2017-08-22
| | | | | | | | | | The method already always returns true, except in a single case after asserting. Change-Id: Icf241a8af04220d459c0782ffd9b74c34c753236 Reviewed-on: https://skia-review.googlesource.com/37161 Reviewed-by: Chris Blume <cblume@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com>
* build ANGLE with c++14 on Linux.Gravatar Brian Salomon2017-08-18
| | | | | | | Change-Id: Ia2cb5da2df380b02b81afb99a94ca48a93c5349d Reviewed-on: https://skia-review.googlesource.com/36420 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* link libwebpmux in system-webp buildsGravatar Mike Klein2017-08-01
| | | | | | | | | | | | | | We use several symbols from this library... we currently fail to link. (The other small changes in here are automatic from gn format.) BUG=skia:6891 Change-Id: Iec6f5deceecdb61571827ebb502a9f7e7e4a4bef Reviewed-on: https://skia-review.googlesource.com/29260 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Heather Miller <hcm@google.com>
* clang on windows supportGravatar Mike Klein2017-07-31
| | | | | | | | | | | | | | | | | 1) Run python bin/fetch-clang-win 2) Set clang_win = "../bin/clang_win" 3) ??? 4) Profit Most changes here are to pass the right -mfoo flags to Clang to enable advanced instruction sets, or fixed warning-as-errors. BUG=skia:2679 Change-Id: Ieed145d35c209131c7c16fdd3ee11a3de4a1a921 Reviewed-on: https://skia-review.googlesource.com/28740 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* updated spirv-tools to latest versionGravatar Ethan Nicholas2017-07-31
| | | | | | | | Bug: skia: Change-Id: I6a6ee1a3d7e63981e6e9c45cf2672060e31a6213 Reviewed-on: https://skia-review.googlesource.com/25020 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* use unique_ptr for codec factoriesGravatar Mike Reed2017-07-25
| | | | | | | | | | Will need guards for android (at least) Bug: skia: Change-Id: I2bb8e656997984489ef1f2e41cd3d301c4e7b947 Reviewed-on: https://skia-review.googlesource.com/26040 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Report first GIF frame after knowing its meta dataGravatar Leon Scroggins III2017-07-19
| | | | | | | | | | | | | | | | | Previously, we reported the first image as soon as it was available. As a result, in crrev.com/2565323003, InitializeNewFrame might be called before the metadata is known, meaning it would read the wrong metadata. Instead of looking at the imagesCount(), SkGifCodec::NewFromStream looks at frameContext(0), which may still exist even if it's not yet counted in imagesCount(). Add a test that confirms the desired behavior. Change-Id: Ib392721ecd2218ba0fcd35aaa64117c0ba3e4ea6 Reviewed-on: https://skia-review.googlesource.com/24405 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Report error on failure to create SkCodecGravatar Leon Scroggins III2017-07-14
| | | | | | | | | | | | | | | | | | Update NewFromStream to report an error on failure to create an SkCodec, so that a client can distinguish between - not enough data - invalid data In Chromium, this will allow blink::ImageDecoder to call SetFailed if the stream is invalid early and we never create an SkCodec. Without this, ImageDecoder will keep trying to create an SkCodec when it receives more data. Change-Id: I4f505c56d91c982be36a828fd0f7db17b1596588 Reviewed-on: https://skia-review.googlesource.com/22642 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Chris Blume <cblume@chromium.org>
* Reland "Remove support for decoding to kIndex_8"Gravatar Leon Scroggins2017-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change's description: > > Remove support for decoding to kIndex_8 > > > > Fix up callsites, and remove tests that no longer make sense. > > > > Bug: skia:6828 > > Change-Id: I2548c4b7528b7b1be7412563156f27b52c9d4295 > > Reviewed-on: https://skia-review.googlesource.com/21664 > > Reviewed-by: Derek Sollenberger <djsollen@google.com> > > Commit-Queue: Leon Scroggins <scroggo@google.com> > > TBR=djsollen@google.com,scroggo@google.com > > Change-Id: I1bc669441f250690884e75a9a61427fdf75c6907 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:6828 > Reviewed-on: https://skia-review.googlesource.com/22120 > Reviewed-by: Leon Scroggins <scroggo@google.com> > Commit-Queue: Leon Scroggins <scroggo@google.com> TBR=djsollen@google.com,scroggo@google.com Bug: skia:6828 Change-Id: I36ff5a11c529d29e8adc95f43b8edc6fd1dbf5b8 Reviewed-on: https://skia-review.googlesource.com/22320 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Update SkiaSDLExample to latest Ganesh interfaces.Gravatar Jim Van Verth2017-07-11
| | | | | | | | | | Also updates SDL to 2.0.5. Change-Id: I3a3c8f69360fc20a3d543c19dcf82dd3f42f1309 Reviewed-on: https://skia-review.googlesource.com/22204 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Remove support for decoding to kIndex_8"Gravatar Leon Scroggins2017-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 742a3e298fda669006147e4a305bab8452369b1f. Reason for revert: Breaking Android roll: frameworks/base/core/jni/android/graphics/BitmapFactory.cpp:453:18: error: no member named 'fColorPtr' in 'SkAndroidCodec::AndroidOptions' codecOptions.fColorPtr = colorPtr; ~~~~~~~~~~~~ ^ frameworks/base/core/jni/android/graphics/BitmapFactory.cpp:454:18: error: no member named 'fColorCount' in 'SkAndroidCodec::AndroidOptions' codecOptions.fColorCount = colorCount; ~~~~~~~~~~~~ ^ Original change's description: > Remove support for decoding to kIndex_8 > > Fix up callsites, and remove tests that no longer make sense. > > Bug: skia:6828 > Change-Id: I2548c4b7528b7b1be7412563156f27b52c9d4295 > Reviewed-on: https://skia-review.googlesource.com/21664 > Reviewed-by: Derek Sollenberger <djsollen@google.com> > Commit-Queue: Leon Scroggins <scroggo@google.com> TBR=djsollen@google.com,scroggo@google.com Change-Id: I1bc669441f250690884e75a9a61427fdf75c6907 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:6828 Reviewed-on: https://skia-review.googlesource.com/22120 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Remove support for decoding to kIndex_8Gravatar Leon Scroggins III2017-07-10
| | | | | | | | | | Fix up callsites, and remove tests that no longer make sense. Bug: skia:6828 Change-Id: I2548c4b7528b7b1be7412563156f27b52c9d4295 Reviewed-on: https://skia-review.googlesource.com/21664 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>