aboutsummaryrefslogtreecommitdiffhomepage
path: root/gn
Commit message (Collapse)AuthorAge
* Add a bench for comparing complex clip strategiesGravatar Florin Malita2017-12-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clip consisting of a union of |n| circles. Comparing mask (2x saveLayer + srcIn) vs. clipPath approaches. MBP numbers: ! -> high variance, ? -> moderate variance micros bench 233.05 ! clip_strategy_mask_100 gl 207.61 ! clip_strategy_mask_10 gl 210.41 ? clip_strategy_mask_5 gl 219.10 ? clip_strategy_mask_1 gl 115.56 ? clip_strategy_path_100 gl 113.29 ! clip_strategy_path_10 gl 102.36 ? clip_strategy_path_5 gl 6.37 ? clip_strategy_path_1 gl 361.06 ! clip_strategy_mask_100 8888 328.97 ! clip_strategy_mask_10 8888 316.72 ! clip_strategy_mask_5 8888 325.84 ! clip_strategy_mask_1 8888 368.54 ! clip_strategy_path_100 8888 306.99 ! clip_strategy_path_10 8888 298.71 ! clip_strategy_path_5 8888 191.00 ! clip_strategy_path_1 8888 TBR= Change-Id: I945c12e2e35b9847af06342473e56272e2041e21 Reviewed-on: https://skia-review.googlesource.com/72521 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "CCPR: Initial semi-optimized vertex shader Impl"Gravatar Chris Dalton2017-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e3877ce5ceb7842b61d54bebcc51864e5787a2bc. Reason for revert: Intel crashing again Original change's description: > CCPR: Initial semi-optimized vertex shader Impl > > TBR=bsalomon@google.com > > Bug: skia: > Change-Id: I24173e146d8c95cec5f29e8cb4fa5e2c28f9a33c > Reviewed-on: https://skia-review.googlesource.com/89120 > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=bsalomon@google.com,brianosman@google.com,csmartdalton@google.com Change-Id: I2485db30397958722a07c5992c748ab69365ebb6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/89300 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* CCPR: Initial semi-optimized vertex shader ImplGravatar Chris Dalton2017-12-22
| | | | | | | | | | TBR=bsalomon@google.com Bug: skia: Change-Id: I24173e146d8c95cec5f29e8cb4fa5e2c28f9a33c Reviewed-on: https://skia-review.googlesource.com/89120 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* converted YUVEffect to SkSLGravatar Ethan Nicholas2017-12-22
| | | | | | | | Bug: skia: Change-Id: I1875e44417a0a583c4f35ee4d46856a34ba55245 Reviewed-on: https://skia-review.googlesource.com/88580 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Initial scene graph (SkSG)Gravatar Florin Malita2017-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sketching a thin (as in close-to-skia-semantics) scene graph API, focused on external animation, inval tracking and minimal repaint. Only a few concrete classes/features so far: * Rect/Color/Transform/Group * basic inval tracking * a trivial animated sample with inval visualization Pretty much everything (especially naming) is volatile, so treat accordingly. The interesting bits to review are likely in Node.{h,cpp} for inval and SampleSGInval.cpp for usage. Initial class hierarchy: * Node: invalidation/ancestors tracking | -- * RenderNode: onRender(SkCanvas) | | | -- * Draw (concrete): rendering a [geometry, paint] tuple | | | -- * Group (concrete): grouping multiple RenderNodes | | | -- * EffectNode: single-descendant effect wrapper | | | -- * Transform (concrete): transform effect | -- * PaintNode: onMakePaint() | | | -- * Color (concrete): SkColor paint wrapper | -- * GeometryNode: onComputeBounds(), onDraw(SkCanvas, SkPaint) | -- * Rect (concrete): SkRect wrapper TBR= Change-Id: Iacf9b773c181a7582ecd31ee968562f179d1aa1b Reviewed-on: https://skia-review.googlesource.com/85502 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert "CCPR: Initial semi-optimized vertex shader Impl"Gravatar Brian Osman2017-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a8f6aef13d0592305e05baf19ee724f31a53b466. Reason for revert: Looks to failing on ANGLE bots Original change's description: > CCPR: Initial semi-optimized vertex shader Impl > > Bug: skia: > Change-Id: If22f47a3b945ce7336f8e609c2e0c911f09e1d18 > Reviewed-on: https://skia-review.googlesource.com/86820 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com Change-Id: Ic5a73434cba4246a72790db2c27d06e7a50f389a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/88220 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* CCPR: Initial semi-optimized vertex shader ImplGravatar Chris Dalton2017-12-20
| | | | | | | | Bug: skia: Change-Id: If22f47a3b945ce7336f8e609c2e0c911f09e1d18 Reviewed-on: https://skia-review.googlesource.com/86820 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* remove unused willPlayBackBitmaps from pictureGravatar Mike Reed2017-12-20
| | | | | | | | | | | and SkPictureAnalyzer Bug: skia: Change-Id: I394eca648234b1a69e6f9a0a88c407366a33d079 Reviewed-on: https://skia-review.googlesource.com/87791 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* converted GrRRectBlurEffect to SkSLGravatar Ethan Nicholas2017-12-20
| | | | | | | | Bug: skia: Change-Id: Ifd192db07e02d69d445277a361760ce4a452f603 Reviewed-on: https://skia-review.googlesource.com/87441 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Revert "move homogenous with stride to matrixpriv""Gravatar Brian Salomon2017-12-19
| | | | | | | | | | | | | This reverts commit de71572f650005e36d4fc2fe95fb5677a25ae4f6. Revert "Revert "Transform vertices for distance field glyphs on CPU."" This reverts commit f226e66d75374e370f3ae2c6895bc689670e9e18. Change-Id: I2545afae3beb1d6b14bba056853ed826ae7a4679 Reviewed-on: https://skia-review.googlesource.com/86603 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fix alpha contribution to tonal color.Gravatar Jim Van Verth2017-12-19
| | | | | | | | | | | Also adds a tonal color GM, a grayscale mode to shadowutils GM, and animated alpha to SampleAndroidShadows. Bug: skia: Change-Id: I1dcb5cab7e53ffa7a3bf1a07b6ebfed38df1a9ed Reviewed-on: https://skia-review.googlesource.com/85002 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Transform vertices for distance field glyphs on CPU."Gravatar Greg Daniel2017-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0215e39d7e415d0530231df6ad20d5f215c72152. Reason for revert: break intel 540 and HD2000 intel release bots on gltestthreading gm dftext_blob_pers Original change's description: > Transform vertices for distance field glyphs on CPU. > > This allows batching of DF draws with different view matrices. > > For perspective matrices this means the transformed position vertex > attribute must have w values. Currently, non-perspective DF draws still > use 2 component positions, though this could be changed in the future. > Consequently, perspective draws can batch with other perspective draws > but not non-perspective draws. > > Adds a GM to test batching and reusing the same blobs with both perspective > and non-perspective matrices. > > Change-Id: I0e42c5449ebf3a5a54025dbcdec824d904d5bd9e > Reviewed-on: https://skia-review.googlesource.com/79900 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Idc658d9263976d5b5e00a5026c5d6d3c8f4bdc2d Reviewed-on: https://skia-review.googlesource.com/86560 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Remove SkImage deferred texture image data APIs."Gravatar Eric Karl2017-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4f5e1d4ff3fa9f240398c9a08be94beb1c16dad0. Reason for revert: Unfortunately, we need this in Chrome for a bit longer. Working on understanding why the new path led to regressions. Will re-land this once the new path sticks. Original change's description: > Remove SkImage deferred texture image data APIs. > > These APIs existed for Chrome. Chrome is no longer using them. > > Change-Id: I15a5e2f88c7e8d1356188748fc68d4658f6f1849 > Reviewed-on: https://skia-review.googlesource.com/81021 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Ic9f683f262f2e1d0469156360f5ffaee977ca44a Reviewed-on: https://skia-review.googlesource.com/86280 Reviewed-by: Eric Karl <ericrk@chromium.org> Commit-Queue: Eric Karl <ericrk@chromium.org>
* Transform vertices for distance field glyphs on CPU.Gravatar Brian Salomon2017-12-15
| | | | | | | | | | | | | | | | | | This allows batching of DF draws with different view matrices. For perspective matrices this means the transformed position vertex attribute must have w values. Currently, non-perspective DF draws still use 2 component positions, though this could be changed in the future. Consequently, perspective draws can batch with other perspective draws but not non-perspective draws. Adds a GM to test batching and reusing the same blobs with both perspective and non-perspective matrices. Change-Id: I0e42c5449ebf3a5a54025dbcdec824d904d5bd9e Reviewed-on: https://skia-review.googlesource.com/79900 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Try /Z7 on Windows builds.Gravatar Mike Klein2017-12-15
| | | | | | | | | | | | | | | | | | | | | Right now /FS and /Zi together serialize debug information into .pdb files through another process. I tried just dropping /FS, so that each cl.exe instance writes to the .pdb file directly, but the bots don't like that. Instead, let's try switching /Zi to /Z7, to embed debug information directly into the object file instead of alongside in a .pdb. This is all about trying to improve build times. https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format https://docs.microsoft.com/en-us/cpp/build/reference/fs-force-synchronous-pdb-writes Change-Id: If636f8fa21c639eff81d9c335c5223908c0fdcea Reviewed-on: https://skia-review.googlesource.com/85661 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Don't set /GS- on Windows builds.Gravatar Mike Klein2017-12-15
| | | | | | | | | | | | | I'm not sure why we're setting this... it disables buffer overrun protection. That seems like something we'd like on all test bots, not just the Debug ones. https://docs.microsoft.com/en-us/cpp/build/reference/gs-buffer-security-check Change-Id: I0bc3ec146812b4ad3d1d39488caf6e78633830fc Reviewed-on: https://skia-review.googlesource.com/85660 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Suppress warnings of unused variables.Gravatar Derek Sollenberger2017-12-14
| | | | | | | | | | Prepare to compile with default -Werror. Bug: b/66996870 Change-Id: I2dbff68e7482085683adb6b9d214e1af009e7479 Reviewed-on: https://skia-review.googlesource.com/85004 Reviewed-by: Stephen Hines <srhines@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* make SkColorSpace_New realGravatar Mike Klein2017-12-14
| | | | | | | | | | | | | | | | | | | Some interesting things are starting to fall out already, like the fact that I needed to add a gamma_dst stage to be able to draw into gamma-transfer-fn destinations. I've also had to pass an SkAlphaType through to the linearize functions so that they can maintain premul invariants. I'm not sure this is actually a good idea... if you can, please double- check my logic at SkRasterPipeline.cpp:128? If it's correct logic, I'm going to need to do it all over the place. But I imagine you don't do this and somehow get away with it. Change-Id: I42cd9b161b54287d674225103ad9e19f8b388959 Reviewed-on: https://skia-review.googlesource.com/84680 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* Turn on PGO for skia_nanobench, skia_dmGravatar Pirama Arumuga Nainar2017-12-14
| | | | | | | | | | | | | | These libraries link libskia statically and hence need to do/use PGO instrumentation whenever libskia is instrumented. Test: Build skia_nanobench with ANDROID_PGO_INSTRUMENT=skia Bug: skia: Change-Id: I6b3e64f98f28c7236b47a46c213230ad1c6b95fc Reviewed-on: https://skia-review.googlesource.com/84609 Reviewed-by: Stephen Hines <srhines@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Pirama Arumuga Nainar <pirama@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Remove SkClampRange (unused)Gravatar Brian Osman2017-12-14
| | | | | | | | Bug: skia: Change-Id: I57fbdd39079a92e803902524a7950dd5f571639c Reviewed-on: https://skia-review.googlesource.com/84961 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* converted GrMagnifierEffect to SkSLGravatar Ethan Nicholas2017-12-13
| | | | | | | | Bug: skia: Change-Id: I6dc14ac66d5b911117e71fa23fef49a897082781 Reviewed-on: https://skia-review.googlesource.com/71342 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add stubbed out GrContextGravatar Robert Phillips2017-12-13
| | | | | | | | | | | | This CL mainly just: stores the GrContextOptions in GrContextThreadSafeProxy (so they can be passed on to a stubbed out GrContext) adds a method to create a stubbed out GrContext that has a GrStubGpu - the stubbed out GrContext isn't quite ready for prime time yet Change-Id: I31be6763640e406c5963e6f0714489ac358339e4 Reviewed-on: https://skia-review.googlesource.com/79601 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* resources: optionally link them into our binaryGravatar Hal Canary2017-12-11
| | | | | | | | | | | To enable, set skia_embed_resources=true in args.gn. Also add *-EmbededResouces bots. Change-Id: Ia69b26e926a3ad4676a4fa021894432ea2104538 Reviewed-on: https://skia-review.googlesource.com/82626 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Filter Windows SDK and Compiler directoriesGravatar Brian Osman2017-12-11
| | | | | | | | | | | This avoids bugs when other directories (like the Driver SDK) show up in those folders. Bug: skia:7395 Change-Id: Iee316a7daf8d71223b999de736d63e1dc7fa31f7 Reviewed-on: https://skia-review.googlesource.com/83542 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Turn on PGO for Skia on AndroidGravatar Zhizhou Yang2017-12-11
| | | | | | | | | | | | | | | | | | | | | | | This patch is to turn on PGO for skia on Android, which will provide a performance improvement of 7.6% for hwui when applied PGO for both. The patch specified a skia.profdata file, which locates in internal google_data/pgo_profile directory, to work as the profile to feed PGO. This profdata can be re-collected with PGO build system support. PGO can be turned off by setting ANDROID_PGO_NO_PROFILE_USE environment variable or set variable to false. Test: Build skia successfully and verified the performance improvement on device through benchmark. BUG=skia: Change-Id: I826f417569b2853630f6d4fcce236b5bc36547fa Reviewed-on: https://skia-review.googlesource.com/82880 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: John Reck <jreck@google.com>
* Add GrGLMakeNativeInterface factory that returns sk_sp<const GrGLInterface>.Gravatar Brian Salomon2017-12-11
| | | | | | | | | | | | | | | Removes the concept of a configurable "default" interface and makes the default always be the "native" interface. Also removes unused functions: GrGLInterfaceAddTestDebugMarker and GrGLInterface::NewClone. Keeps around legacy GrGLCreateNativeInterface() until clients can be weened. Change-Id: I4a3bdafa8cf8c68ed13318393abd55686b045ccb Reviewed-on: https://skia-review.googlesource.com/83000 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add Goma support in gn_flavor.Gravatar Ben Wagner2017-12-08
| | | | | | | | | | | | Using full paths in skia.h causes "file not found" with Goma. All other Builds seem fine without the path, so I changed find_headers.py to use the basename. Change-Id: Ib520e91a92ebffe36a736eb53f643d359f5bb2ce Reviewed-on: https://skia-review.googlesource.com/79360 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* resources: orgainize directory.Gravatar Hal Canary2017-12-08
| | | | | | | | | Should make it easier to ask just for images. Change-Id: If821743dc924c4bfbc6b2b2d29b14affde7b3afd Reviewed-on: https://skia-review.googlesource.com/82684 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Remove instanced renderingGravatar Brian Salomon2017-12-08
| | | | | | | Change-Id: I4219b1d23a647b849ee41fe71b53e1c45edfc3f4 Reviewed-on: https://skia-review.googlesource.com/82241 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Updated MSVC toolchain to 2017, and further refactored GNGravatar Brian Osman2017-12-08
| | | | | | | | | | | | | | | | | | | | | | 'windk' is no longer a thing. There are two separate variables to point at your compiler (win_vc), and SDK (win_sdk). 'msvc' is no longer a thing, either. By default, we look for 2017 and then 2015 (in the default locations). If neither is located, use an assert to let users know they should set win_vc. Then, detect if win_vc points at a 2017 or 2015 installation, and configure it automatically. Because the toolchain is now 2017, update the GN files to handle building x86 in that configuration. In fact, we only support x86 builds (with 2017 or 2015) using the toolchain assets. Keep a 2015 toolchain around as a new asset, so we can add bot coverage. Docs-Preview: https://skia.org/?cl=81841 Bug: skia: Change-Id: I8c68a6f949e54c0e798a219450bbb9406f8dc6ac Reviewed-on: https://skia-review.googlesource.com/81841 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Allow different identities for iOS code signingGravatar Jim Van Verth2017-12-07
| | | | | | | | | Docs-Preview: https://skia.org/?cl=81340 Bug: skia: Change-Id: I9a0e52ba4ce3c0c4b40cc65ce6b26bd3cebdbe4d Reviewed-on: https://skia-review.googlesource.com/81340 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* quiet down Mac linker warningsGravatar Mike Klein2017-12-07
| | | | | | | Change-Id: I9a2a061e7a021587441f3f39427306309e0341e8 Reviewed-on: https://skia-review.googlesource.com/82042 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Revert "Add define to use customize vulkan header.""Gravatar Greg Daniel2017-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b351817588baf94ac725e35f10ee1d5ff8178834. Reason for revert: Relanding with android fixes Original change's description: > Revert "Add define to use customize vulkan header." > > This reverts commit a492eb0e1f08311bfa47f46c660144e7bc8a6c0e. > > Reason for revert: Breaking Android roll (b/c builds tools?) > > Original change's description: > > Add define to use customize vulkan header. > > > > Bug: skia: > > Change-Id: Ia87c81a54603a02b2f8f51a735bf173a49afe6c7 > > Reviewed-on: https://skia-review.googlesource.com/81121 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: I80a685bf88af909865f274ffc61686be57e8c313 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/81740 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ia701e884bfa3799dc73002f892feb2ecafe9da12 Reviewed-on: https://skia-review.googlesource.com/81742 Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Delete GLBench and subclassesGravatar Brian Salomon2017-12-07
| | | | | | | | Bug: skia:6305 Change-Id: I3b2f2a8898f25d3dd0ec47668895dd4d00668575 Reviewed-on: https://skia-review.googlesource.com/82040 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove SkImage deferred texture image data APIs.Gravatar Brian Salomon2017-12-07
| | | | | | | | | | These APIs existed for Chrome. Chrome is no longer using them. Change-Id: I15a5e2f88c7e8d1356188748fc68d4658f6f1849 Reviewed-on: https://skia-review.googlesource.com/81021 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Only look for WinSDK when building _for_ WindowsGravatar Mike Klein2017-12-06
| | | | | | | | | | | (Not when we're merely building _on_ Windows.) CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-arm64-Release-Android Change-Id: I7ab7663fcac6e3631ebe82f440927a077d476528 Reviewed-on: https://skia-review.googlesource.com/81483 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Reland "Always use the Win 10 SDK, and optionally detect/use the latest version"Gravatar Brian Osman2017-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 6da1d32c16a0598e9b32a4e5b60f99aca871a399 Original change's description: > Always use the Win 10 SDK, and optionally detect/use the latest version > > For bot toolchain builds, we were already using the Win 10 SDK. Local > 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now > we always use the Win 10 SDK exclusively. > > This adds two new GN arguments: win_sdk, which points at the top level > Windows 10 SDK directory, and win_sdk_version, which can be used to > pin to a specific version. (Otherwise we use a script to detect the > most recent version). > > Bug: skia: > Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d > Reviewed-on: https://skia-review.googlesource.com/81304 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Brian Osman <brianosman@google.com> Bug: skia: Change-Id: Ide0d6bd3413c4fe7a8bada7d3d32bdba9709d11b Reviewed-on: https://skia-review.googlesource.com/81501 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Always use the Win 10 SDK, and optionally detect/use the latest version"Gravatar Ravi Mistry2017-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6da1d32c16a0598e9b32a4e5b60f99aca871a399. Reason for revert: Caused Build-Win-Clang-arm64-Release-Android to fail. Eg: https://chromium-swarm.appspot.com/task?id=3a467f1ddd15fb10&refresh=10 Original change's description: > Always use the Win 10 SDK, and optionally detect/use the latest version > > For bot toolchain builds, we were already using the Win 10 SDK. Local > 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now > we always use the Win 10 SDK exclusively. > > This adds two new GN arguments: win_sdk, which points at the top level > Windows 10 SDK directory, and win_sdk_version, which can be used to > pin to a specific version. (Otherwise we use a script to detect the > most recent version). > > Bug: skia: > Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d > Reviewed-on: https://skia-review.googlesource.com/81304 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=mtklein@chromium.org,borenet@google.com,bungeman@google.com,brianosman@google.com Change-Id: Id044114fc685d570741e3f5ed003c4be2ffa84a3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/81500 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* upgrade SkReadBuffer to always validateGravatar Mike Reed2017-12-06
| | | | | | | | Bug: skia: Change-Id: I054560b66c6cde346d939015326d8547879d2c4b Reviewed-on: https://skia-review.googlesource.com/81160 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Always use the Win 10 SDK, and optionally detect/use the latest versionGravatar Brian Osman2017-12-06
| | | | | | | | | | | | | | | | | For bot toolchain builds, we were already using the Win 10 SDK. Local 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now we always use the Win 10 SDK exclusively. This adds two new GN arguments: win_sdk, which points at the top level Windows 10 SDK directory, and win_sdk_version, which can be used to pin to a specific version. (Otherwise we use a script to detect the most recent version). Bug: skia: Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d Reviewed-on: https://skia-review.googlesource.com/81304 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* add SkVptr()Gravatar Mike Klein2017-12-06
| | | | | | | | | | I was wondering how feasible using this to make downcasts safe would be. These tests would need to build and pass on all our bots, at least. Change-Id: I1753ba58841bf6c17d6ac3af7374518356e1bb05 Reviewed-on: https://skia-review.googlesource.com/81180 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add win_toolchain_version to support MSVC 2017 UpdatesGravatar Brian Osman2017-12-06
| | | | | | | | | | | | | | | | | | To make this simpler in the future, add a python script that finds the most recent 2017 toolchain, and use that. If/when we update the bot toolchain, this will be even more helpful, because the Chromium toolchain isn't perfectly in sync with the general update channel, so people are likely to have a newer/older release locally. Note that explicitly setting win_toolchain_version in your GN args suppresses the python script, so you can choose to build with whatever version you need. Bug: skia: Change-Id: Iaf6d0dd9be2623472118c3ad27b20023a205d67c Reviewed-on: https://skia-review.googlesource.com/81162 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* add serial procs to picturesGravatar Mike Reed2017-12-05
| | | | | | | | | Bug: skia:7380 Change-Id: Ic1b7e437316c7913711cf5cb119e3fe904cd2c05 Reviewed-on: https://skia-review.googlesource.com/76980 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* 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>
* Add analytic clip FPs that read from the CCPR atlasGravatar Chris Dalton2017-12-05
| | | | | | | | Bug: skia:7190 Change-Id: Ie31d368f52910e6917efdeb1b024370b06fc11ee Reviewed-on: https://skia-review.googlesource.com/77160 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@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>
* Fix ANGLE build with extended clang warningsGravatar Chris Dalton2017-12-04
| | | | | | | | | | | Add newline-eof to the list of ignroed warnings. Fix shadowed fields. Bug: skia: Change-Id: I4985ce2495194a7f805af98c4f42c44691086e36 Reviewed-on: https://skia-review.googlesource.com/79681 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* turn on extended Clang warnings on Windows tooGravatar Chris Dalton2017-12-04
| | | | | | | | | | Plus some small rearrangements of the various warning lists. Change-Id: Ied58f940341d69ddab971a529fd01b1e96b65641 Reviewed-on: https://skia-review.googlesource.com/67720 Commit-Queue: Chris Dalton <csmartdalton@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>