aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party
Commit message (Collapse)AuthorAge
* 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>
* Roll ANGLEGravatar Robert Phillips2017-06-12
| | | | | | | | | https://chromium.googlesource.com/angle/angle.git/+log/5978e28d3adc..0492d4479799 Change-Id: I576dc57619434db7f7e3c82f97473b773307df3c Reviewed-on: https://skia-review.googlesource.com/19447 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Make SkCodec more flexible about its required frameGravatar Leon Scroggins III2017-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkCodec sets fRequiredFrame to be the earliest possible frame that a given frame can depend on. e.g. - Frame A fills the screen, Keep - Frame B does not cover A, Keep - Frame C covers B but not A, and is opaque Frame C can depend on either A or B. SkCodec already reports that C depends on A. This CL allows a client of SkCodec to use either A or B to create C. Also expose the DisposalMethod. Since any frame between A and C can be used to create C except for DisposePrevious frames, the client needs to be able to know the disposal method so they do not try to use such a frame to create C. Further, the disposal method can be used to give the client a better idea whether they will continue to need a frame. (e.g. if frame i is DisposePrevious and depends on i-1, the client may not want to steal i-1 to create i, since i+1 may also depend on i-1.) TODO: Share code for decoding prior frames between GIF and WEBP Change-Id: I91a5ae22ba3d8dfbe0bde833fa67ae3da0d81ed6 Reviewed-on: https://skia-review.googlesource.com/13722 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Chris Blume <cblume@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Roll ANGLEGravatar Robert Phillips2017-06-02
| | | | | | | Change-Id: I7383e63a619772a0274a0e687eafd19a8f068bc7 Reviewed-on: https://skia-review.googlesource.com/18487 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Reduce absolute paths in generated ninja files in skiaGravatar Wei-Yin Chen (陳威尹)2017-05-24
| | | | | | | | | BUG=chromium:723856 Change-Id: Ifa065daddfe1d775e843307587e4007ad6dae6d4 Reviewed-on: https://skia-review.googlesource.com/17802 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Mark SkGifImageReader destructors with overrideGravatar Kevin Lubick2017-05-24
| | | | | | | | | | | Very new versions of Clang (5.0 TOT) call out this problem. Bug: skia: Change-Id: If90f658f258ca52ebb21e2352fbf3180c41008bd Reviewed-on: https://skia-review.googlesource.com/17795 Commit-Queue: Kevin Lubick <kjlubick@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add animation support to SkWebpCodecGravatar Leon Scroggins III2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TBR=reed@google.com (No change to the public API, but changed a header file) SkWebpCodec: - Implement onGetFrameCount, onGetFrameInfo, and onGetRepetitionCount - Respect the alpha reported by libwebp. Although the spec states that it is only a hint, the libwebp encoder uses it properly. Respecting allows us to draw opaque images faster and decode them to 565. This also matches other SkCodecs (and Chromium). - onGetPixels: - Decode the frame requested, recursively decoding required frame if necessary - When blending with a prior frame, use SkRasterPipeline SkCodec: - Move check for negative index to getFrameInfo - Reset the colorXform if one is not needed SkCodecAnimation: - Add new blend enum, for WebP's (and APNG's) non-blending option SkFrameHolder: - New base classes for frames and the owner of the frames, allowing code sharing between SkWebpCodec and SkGifCodec (particularly for determining whether a frame has alpha and what frame it depends on) - When moving items from SkGIFFrameContext, use Skia conventions (i.e. int instead of unsigned) - Rename "delay time" to "duration", to match e.g. SkFrameInfo:: fDuration SkGifImageReader: - Move pieces to SkFrameHolder, and adapt to changes made in the process - Make setAlphaAndRequiredFrame (now on the base class SkFrameHolder) more general to support webp, and add support for frames that do not blend - Change SkGIFFrameContext from a struct to a class, to match how we use the distinction elsewhere (i.e. struct is a small object with public fields) - Rework hasTransparentPixel (now hasTransparency, since it returns true in some cases where there is not a transparent pixel) to better fit with the modified setAlphaAndRequiredFrame. Also be more consistent when there is no transparent pixel but no color map. - Simplify an if condition that was previously simplified in 2d61e717 but accidentally got reverted in a4db9be6 CodecAnimTest: - Test new animated webp files - Rearrange the test to more cleanly print alpha type mismatches for the first frame resources: - webp-animated.webp - animated webp from Chromium - blendBG.webp - new webp file using bits of webp-animated-semitransparent4.webp from Chromium - tests required frame and alpha when using the non-blending mode - frames have the following properties: - Frame 0: no alpha, fills screen - Frame 1: alpha, fills screen - Frame 2: no alpha, fills screen - Frame 3: alpha, fills screen, blendBG - Frame 4: no alpha, fills screen, blendBG - Frame 5: alpha, blendBG - Frame 6: covers 4, has alpha, blendBG - also used to test decoding to 565 if the new frame data has alpha but blends onto an opaque frame DM.cpp: - Test animated images to non-native 8888 and unpremul DMSrcSink.cpp: - Do not test non-native 8888 decodes to f16 dst - Test unpremul decodes to f16 - Copy a frame of an animated image prior to drawing, since in unpremul mode, the DM code will premultiply first. Bug: skia: 3315 Change-Id: I4e55ae2ee5bc095b37a743bdcfac644be603b980 Reviewed-on: https://skia-review.googlesource.com/16707 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Revert "Remove compressed (ETC1) texture support from Ganesh"Gravatar Brian Osman2017-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ee26363aaae62db2a851f2873e2405a9cf7f995a. Reason for revert: Failing Google 3 roll. Original change's description: > Remove compressed (ETC1) texture support from Ganesh > > Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667 > Reviewed-on: https://skia-review.googlesource.com/17456 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ie1a57187287e03600a69e374501478e93c41415c Reviewed-on: https://skia-review.googlesource.com/17527 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove compressed (ETC1) texture support from GaneshGravatar Robert Phillips2017-05-22
| | | | | | | Change-Id: If4cf286df87ea87338aba47001d90a5fcc4f2667 Reviewed-on: https://skia-review.googlesource.com/17456 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Use system Vulkan headers except when no building with vulkan supportGravatar Greg Daniel2017-04-25
| | | | | | | | | | | | We now will always use the system vulkan.h files whenever we are building with vulkan. With non vulkan builds we use our checked in header to so that we can get the needed symbols for compiling. Bug: skia: Change-Id: I352a3e007b33c575cefcfd6752db0b3b12b86a16 Reviewed-on: https://skia-review.googlesource.com/14270 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Check-in vulkan.h into third_party and use that instead of local sdk vulkan.hGravatar Greg Daniel2017-04-20
| | | | | | | | | | | | | | | | | | This change is needed since once we start getting support for varrying of extensions and newer version support in general, we need a common vulkan header to compile off of. Otherwise we will run into problems if clients have older headers that don't include functions/symbols we are trying to use. Additionally it has the benefit of not needing to add if SK_VULKAN around code in include which wants to use vulkan symbols. This is a reland of the reverted cl: https://skia-review.googlesource.com/13804 Bug: skia: Change-Id: I9023e80e60d2f2ebbdc8e794ec46d6f5c5c7c917 Reviewed-on: https://skia-review.googlesource.com/13874 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Check-in vulkan.h into third_party and use that instead of local sdk ↵Gravatar Greg Daniel2017-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vulkan.h" This reverts commit 3a3bc42b7d5b9d996debab1d2a05d2137c875bd7. Reason for revert: still breaking android Original change's description: > Check-in vulkan.h into third_party and use that instead of local sdk vulkan.h > > This change is needed since once we start getting support for varrying of extensions > and newer version support in general, we need a common vulkan header to compile off of. > Otherwise we will run into problems if clients have older headers that don't include > functions/symbols we are trying to use. > > Additionally it has the benefit of not needing to add if SK_VULKAN around code in > include which wants to use vulkan symbols. > > This is a reupload of CL: https://skia-review.googlesource.com/13651 > > Bug: skia: > Change-Id: I091f526b8c4a61774c34834cd7bfb7e2c822ff5c > Reviewed-on: https://skia-review.googlesource.com/13804 > Reviewed-by: Derek Sollenberger <djsollen@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> > TBR=djsollen@google.com,egdaniel@google.com,mtklein@google.com,jvanverth@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ic595e32005761170156499cfb6efc1acfce96001 Reviewed-on: https://skia-review.googlesource.com/13806 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Check-in vulkan.h into third_party and use that instead of local sdk vulkan.hGravatar Greg Daniel2017-04-19
| | | | | | | | | | | | | | | | | | This change is needed since once we start getting support for varrying of extensions and newer version support in general, we need a common vulkan header to compile off of. Otherwise we will run into problems if clients have older headers that don't include functions/symbols we are trying to use. Additionally it has the benefit of not needing to add if SK_VULKAN around code in include which wants to use vulkan symbols. This is a reupload of CL: https://skia-review.googlesource.com/13651 Bug: skia: Change-Id: I091f526b8c4a61774c34834cd7bfb7e2c822ff5c Reviewed-on: https://skia-review.googlesource.com/13804 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Check-in vulkan.h into third_party and use that instead of local sdk ↵Gravatar Greg Daniel2017-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vulkan.h" This reverts commit edbb7d8860a63b1cacb1e89ec205c72a2de7c134. Reason for revert: breaking android Original change's description: > Check-in vulkan.h into third_party and use that instead of local sdk vulkan.h > > This change is needed since once we start getting support for varrying of extensions > and newer version support in general, we need a common vulkan header to compile off of. > Otherwise we will run into problems if clients have older headers that don't include > functions/symbols we are trying to use. > > Additionally it has the benefit of not needing to add if SK_VULKAN around code in > include which wants to use vulkan symbols. > > Bug: skia: > Change-Id: I674a253308596dc75bd23574984ae933923679f9 > Reviewed-on: https://skia-review.googlesource.com/13651 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,egdaniel@google.com,mtklein@google.com,jvanverth@google.com,bsalomon@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I179647e6ae213b1b17a9c42ced5e98c6599b96c2 Reviewed-on: https://skia-review.googlesource.com/13774 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Check-in vulkan.h into third_party and use that instead of local sdk vulkan.hGravatar Greg Daniel2017-04-18
| | | | | | | | | | | | | | | | | This change is needed since once we start getting support for varrying of extensions and newer version support in general, we need a common vulkan header to compile off of. Otherwise we will run into problems if clients have older headers that don't include functions/symbols we are trying to use. Additionally it has the benefit of not needing to add if SK_VULKAN around code in include which wants to use vulkan symbols. Bug: skia: Change-Id: I674a253308596dc75bd23574984ae933923679f9 Reviewed-on: https://skia-review.googlesource.com/13651 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Switch SkCodec to int for counts and indicesGravatar Leon Scroggins III2017-04-17
| | | | | | | | | | | | This matches other Skia APIs. size_t was adopted from blink/ GIFImageReader. Change-Id: Ic83e59f0942f597c4fb834e623acd9886ad483fe Reviewed-on: https://skia-review.googlesource.com/13274 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Chris Blume <cblume@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Correct GIF frame dependencies and track alphaGravatar Leon Scroggins III2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add SkCodec::FrameInfo::fAlphaType. The SkImageInfo for the SkCodec specifies the SkAlphaType for the first frame, but the opacity can vary from frame to frame. When determining the required frame, also compute whether a frame has alpha. Update how we determine the required frame, which had bugs. (Update a test that had an incorrect required frame as a result.) Add new test images covering cases that have been fixed: - randPixelsAnim2.gif It has the following frames: A (keep) B (keep) (subset) C (disposePrevious) (covers B) D (any) (does *not* cover B) B and C depend on A, but D depends on B, since after disposing C, B should be visible again. - alphabetAnim.gif Includes frames which fill the image size, with different disposal methods and transparencies. Change-Id: Ie086167711c4cac4931ed8c4ddaeb9c9b0b91fdb Reviewed-on: https://skia-review.googlesource.com/9810 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Simplify subset computation in SkGifImageReaderGravatar Leon Scroggins III2017-04-07
| | | | | | | | | | | | If xOffset or yOffset was not zero, these computations would not be evaluated anyway, so no need to add zero for these comparisons. (Split off from CL 9810) Change-Id: I8481eb257d96766696945cef4eafaff4281fb7d9 Reviewed-on: https://skia-review.googlesource.com/11782 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Revert "Manual revert: Add support for writing ICC profiles to webp encoder"Gravatar Matt Sarett2017-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4293a1e5f259cf12560d6e794c1a05ad4dbc0b32. Reason for revert: Relanding, libwebp updated in Android master Original change's description: > Manual revert: Add support for writing ICC profiles to webp encoder > > Bug: skia: > Change-Id: I4e70bee8c2ea8dbd5ae1e84aa097f5a7e2e62721 > Reviewed-on: https://skia-review.googlesource.com/11444 > Reviewed-by: Matt Sarett <msarett@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> > Commit-Queue: Matt Sarett <msarett@google.com> > TBR=msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I73aa9e8183241ada4ec6451567bce3d3d18995cc Reviewed-on: https://skia-review.googlesource.com/11523 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Manual revert: Add support for writing ICC profiles to webp encoderGravatar Matt Sarett2017-04-06
| | | | | | | | | Bug: skia: Change-Id: I4e70bee8c2ea8dbd5ae1e84aa097f5a7e2e62721 Reviewed-on: https://skia-review.googlesource.com/11444 Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Revert "Revert "Add support for writing ICC profiles to webp encoder""Gravatar Matt Sarett2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e87d7781db75a7ec22a103eda0886c2ca8dc4d9d. Reason for revert: Not the cause of the crashes. Original change's description: > Revert "Add support for writing ICC profiles to webp encoder" > > This reverts commit 0c9d0b4e03b6c10778329e995b5dfdcb97954b28. > > Reason for revert: Looks like it's breaking a number of bots. > > Original change's description: > > Add support for writing ICC profiles to webp encoder > > > > Bug: skia: > > Change-Id: If0a8f84ed88da96924370b841f2283c0ff8e32ab > > Reviewed-on: https://skia-review.googlesource.com/10212 > > Commit-Queue: Matt Sarett <msarett@google.com> > > Reviewed-by: Leon Scroggins <scroggo@google.com> > > > > TBR=msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: Ic06ad9f19a4d743b34f8d3bd33f171b9d74badcb > Reviewed-on: https://skia-review.googlesource.com/11408 > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> > TBR=jvanverth@google.com,msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I42f6ddefaf87c87b155640950b52a456952130ec Reviewed-on: https://skia-review.googlesource.com/11410 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Revert "Add support for writing ICC profiles to webp encoder"Gravatar Jim Van Verth2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0c9d0b4e03b6c10778329e995b5dfdcb97954b28. Reason for revert: Looks like it's breaking a number of bots. Original change's description: > Add support for writing ICC profiles to webp encoder > > Bug: skia: > Change-Id: If0a8f84ed88da96924370b841f2283c0ff8e32ab > Reviewed-on: https://skia-review.googlesource.com/10212 > Commit-Queue: Matt Sarett <msarett@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> > TBR=msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ic06ad9f19a4d743b34f8d3bd33f171b9d74badcb Reviewed-on: https://skia-review.googlesource.com/11408 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Add support for writing ICC profiles to webp encoderGravatar Matt Sarett2017-04-05
| | | | | | | | Bug: skia: Change-Id: If0a8f84ed88da96924370b841f2283c0ff8e32ab Reviewed-on: https://skia-review.googlesource.com/10212 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Turn on x86-specific code when building zlib.Gravatar Mike Klein2017-03-23
| | | | | | | | | | | | | | | | | | | | | | | The zlib source we DEPS in for testing has been patched with x86 optimizations, some requring SSE2, some SSE4.2, and some PCLMULQDQ (between SSE4.2 and AVX). Might as well turn them on? zlib actually boils everything down into one do-we-have-everything bit. That's a little weird... I don't see any real reason not to use fill_window_sse() on a machine with SSE2 but not SSE4.2. Whatever. While tweaking libpng settings is really where it's at to make PNG encoding faster, this is kind of a nice little cherry on top. Won't help people who are using their own zlib, of course. BUG=skia:6409 Change-Id: I459689069f7559365a66d0d29b33664907704d8e Reviewed-on: https://skia-review.googlesource.com/10033 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* fixed missing dependency in spirv-tools/BUILD.gnGravatar Ethan Nicholas2017-03-16
| | | | | | | Change-Id: Ib0381e2bc10649e62d3fb8ddfc34be46537a2e5b Reviewed-on: https://skia-review.googlesource.com/9804 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* wired up SPIR-V validatorGravatar Ethan Nicholas2017-03-16
| | | | | | | | Change-Id: I33dfd5e7ea3ea048b88c6db2f14389b16a0af7c8 Reviewed-on: https://skia-review.googlesource.com/9688 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>