aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Fix perf regression with SDF pathsGravatar Jim Van Verth2017-01-12
| | | | | | | | | BUG=skia:6113,chromium:677889 Change-Id: I13d012a92e4d0371138f5ed4b92c7850f9b773a5 Reviewed-on: https://skia-review.googlesource.com/6945 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* disable runtime detected AVX2 raster pipelinesGravatar Mike Klein2017-01-12
| | | | | | | | | | | | | It's proving too difficult to keep on top of all the ways we might cause ODR violations that crash Chrome. I'd rather focus on other ways of running the pipelines that won't have that particular problem. Our -Fast bots will keep testing and benchmarking AVX2 raster pipelines. BUG=chromium:679147,chromium:654213,chromium:664864,chromium:666707,etc. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I35ba8f5f4303107237fd78a6ce442d7c26e5fbef Reviewed-on: https://skia-review.googlesource.com/6827 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove defunct include/images directory from GN.Gravatar Derek Sollenberger2017-01-12
| | | | | | | | | | BUG=skia:6065 Change-Id: I332581cca684c4918dc87434509744b8bf4f5ed8 Reviewed-on: https://skia-review.googlesource.com/6944 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove second version of SkImageInfo2GrPixelConfigGravatar Brian Osman2017-01-12
| | | | | | | | | | | | | | | | Alpha type is not (and never will be) part of pixel config, so the logic around that was unnecessary. (Also, we already sanitize color type and alpha type before making a new device at a higher level). With that out of the way, we can easily supply a full info at the two call-sites that were using the other version. BUG=skia: Change-Id: Iceccdbdebd1062d3e5023620755aabcc86604d2f Reviewed-on: https://skia-review.googlesource.com/6920 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove kIndex_8_GrPixelConfigGravatar Brian Osman2017-01-12
| | | | | | | | | | | | It's been disabled for a long time (GPUs don't support it, and it actually caused performance regression in testing). BUG=skia:4333 Change-Id: I6e2bf755f765168fd616de6c9c023c6fbd5abd20 Reviewed-on: https://skia-review.googlesource.com/6897 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Move recipe expectations into example.py recipes inside of modulesGravatar Eric Boren2017-01-12
| | | | | | | | | | | Each top-level recipe still needs one test and expectation file. BUG=skia:6070 Change-Id: I3b14e8a11a86af68f5558177536f0018b644be4d Reviewed-on: https://skia-review.googlesource.com/6943 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* Move most recipes into modulesGravatar Eric Boren2017-01-12
| | | | | | | | | | | The modules will eventually move into a shared repository. BUG=skia:6070 Change-Id: I622265d98a5446f9f3ebf2c6a197770398623769 Reviewed-on: https://skia-review.googlesource.com/6942 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* only copy NDK binaries when using NDK in our standalone buildsGravatar Mike Klein2017-01-12
| | | | | | | | | | | | i.e. not when generating Android.bp (and in the future, not in Clank builds) BUG=skia:6065 Change-Id: I52bdd5f01deb5e5b4d9e72bec197a82dc887be88 Reviewed-on: https://skia-review.googlesource.com/6941 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* GrTessellator: fix artifact with exactly-1-px-wide edges.Gravatar Stephen White2017-01-12
| | | | | | | | | | | | | | | | | | | | | | | | When path features are exactly a pixel wide, the extruded inner edges can become collinear and then be removed, since their winding is zero. We need these edges to be preserved through triangulation, otherwise opaque portions of the geometry can become transparent. Since the simplify() pass can handle zero-winding edges just fine, the the fix is to simply not remove them. In addition, this changes refactors out disconnect() from all the calls to remove_edge_above()/remove_edge_below(). It also renames the remaining function erase_edge() (since it's now unconditional). Add a new test to a new "thinconcavepaths" GM. BUG=680260 NOTRY=true Change-Id: I1d3a436c95a01c4d4ef5dc05503de4312677f65d Reviewed-on: https://skia-review.googlesource.com/6902 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Stephan White <senorblanco@chromium.org>
* add win subclass of raster-allocatorGravatar Mike Reed2017-01-12
| | | | | | | | | BUG=skia: Change-Id: Ibe1664b599a88dce06d03cf8eea10db5f75ce037 Reviewed-on: https://skia-review.googlesource.com/6924 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Introduce SkArenaAlloc - should be fast for POD types and RAII for ↵Gravatar Herb Derby2017-01-11
| | | | | | | | | | | | | types with dtors." This reverts commit 6ff51aedda6f3b4873c292d7e03e47ad656543f8. Reason for revert: breaks win2k8 and PDFium Change-Id: Ib1e2db8e523d5d321836ce00e3773def3db8be2f Reviewed-on: https://skia-review.googlesource.com/6898 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* SkUTF8_CountUnichars(s,l) and SkUTF8_NextUnichar(s,l) now safe.Gravatar Hal Canary2017-01-11
| | | | | | | | | | | | | Theory: We will accept blobs of data as utf-8 text without validation, but when it comes time to process it: count code poits or convert to code points, be careful to check for errors. TODO: SkTypeface::charsToGlyphs() needs to take a length. Change-Id: Id8110ab43dbffce96faffdda1e0bdaa39cad40e4 Reviewed-on: https://skia-review.googlesource.com/6849 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Fix undefined GrIORef test method on Chrome win botGravatar Brian Salomon2017-01-11
| | | | | | | Change-Id: Ifc3d7e285a4b1a0b370ec79963127490bd7b1a84 Reviewed-on: https://skia-review.googlesource.com/6896 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Introduce SkArenaAlloc - should be fast for POD types and RAII for types ↵Gravatar Herb Derby2017-01-11
| | | | | | | | | | | | | with dtors. - Implementation. - Use in SkLinearPipeline. TBR=mtklein@google.com Change-Id: Ia8efd09b2f3139a57182889ba84d1610eae92749 Reviewed-on: https://skia-review.googlesource.com/6352 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* More fixes for distance field pathsGravatar Jim Van Verth2017-01-11
| | | | | | | | | | | | Disables use of SDFs for very small paths (because of blurring) and adds a border of 1 pixel in device space to handle antialiasing. BUG=chromium:677889 Change-Id: Icd2f7e80323b1255f8de52b97360e9a2d995c765 Reviewed-on: https://skia-review.googlesource.com/6895 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Make GrPaints move their GrProcessor ownership into GrPipelineBuilder.Gravatar Brian Salomon2017-01-11
| | | | | | | | | This makes GrPaints usable only once. In some places we must make copies in order to issue draws with the same paint state. Change-Id: Ie816e5185ce93a064111cad64c6880e1e21184c2 Reviewed-on: https://skia-review.googlesource.com/6844 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* move SkTRegister.h into toolsGravatar Mike Reed2017-01-11
| | | | | | | | | BUG=skia: Change-Id: Ie7d4fac3024b361a281f456fec2b3a837e2bfe43 Reviewed-on: https://skia-review.googlesource.com/6881 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove SK_LEGACY_FONTMGR_FACTORY.Gravatar Ben Wagner2017-01-11
| | | | | | | | | | | | | SkFontMgr factories now return sk_sp and the legacy factories are no longer used and can be removed. BUG=skia:5077 Change-Id: Ieaff8555b297d1db157f8b78cdd6e7d07a3b5490 Reviewed-on: https://skia-review.googlesource.com/6894 Commit-Queue: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* remove dead file: PathOpsSkpClipTest.cppGravatar Mike Reed2017-01-11
| | | | | | | | | BUG=skia: Change-Id: If11dd014b14aa902082f93bf678b9d0f1b2e1c34 Reviewed-on: https://skia-review.googlesource.com/6893 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkSplicer: start on Windows supportGravatar Mike Klein2017-01-11
| | | | | | | | | should just be missing copy_to_executable_mem() / cleanup_executable_mem() Change-Id: I47d34d4b57a40c07120cca7dc03f6ae22ecbe910 Reviewed-on: https://skia-review.googlesource.com/6854 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* SkTestTypeface: correct encodingGravatar Hal Canary2017-01-11
| | | | | | | Change-Id: I6ef875fc44278b873989d323dd26f6ed26b68f28 Reviewed-on: https://skia-review.googlesource.com/6889 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* SkTypes.h : move SkAutoMalloc into SkAutoMalloc.hGravatar Hal Canary2017-01-11
| | | | | | | | | | | | | | | | * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" Revert "Revert 'SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h'" This reverts commit c456b73fef9589bbdc5eb83eaa83e53c357bb3da. Change-Id: Ie2c1a17c20134b8ceab85a68b3ae3e61c24fbaab Reviewed-on: https://skia-review.googlesource.com/6886 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "More fixes for distance field paths"Gravatar Jim Van Verth2017-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d081ff314f07104adacaadc3d0f8f13dc741f016. Reason for revert: Failing unit tests. Original change's description: > More fixes for distance field paths > > Disables use of SDFs for very small paths (because of blurring) and > adds a border of 1 pixel in device space to handle antialiasing. > > BUG=chromium:677889 > > Change-Id: I81e49477c943d41523fd836e55abd696a985491f > Reviewed-on: https://skia-review.googlesource.com/6832 > Commit-Queue: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org BUG=chromium:677889 NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I4a6a698fa2e9e58c1c98a5a89f54bed724527951 Reviewed-on: https://skia-review.googlesource.com/6890 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Make SkColorToHSV and SkHSVToColor "perfect" inversesGravatar Leon Scroggins III2017-01-11
| | | | | | | | | | | | | | | | | | For all possible opaque SkColors, make converting to HSV and back return the original SkColor. In SkHSVToColor, store values as normalized floats (instead of converting to byte values) as long as possible. Add a test that cycles through all opaque SkColors and verifies correct conversion. BUG=b/33737498 Change-Id: I7ff61a999a271565a9ffe82ae3c9676fc49d67e3 Reviewed-on: https://skia-review.googlesource.com/6720 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* More fixes for distance field pathsGravatar Jim Van Verth2017-01-11
| | | | | | | | | | | | Disables use of SDFs for very small paths (because of blurring) and adds a border of 1 pixel in device space to handle antialiasing. BUG=chromium:677889 Change-Id: I81e49477c943d41523fd836e55abd696a985491f Reviewed-on: https://skia-review.googlesource.com/6832 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h"Gravatar Kevin Lubick2017-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a5494f117086d712855e4b6289c58c92d1549bcf. Reason for revert: Broke Google3 Original change's description: > SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h > > * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). > > * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h > > * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" > > Change-Id: Idacd86ca09e22bf092422228599ae0d9bedded88 > Reviewed-on: https://skia-review.googlesource.com/4543 > Reviewed-by: Ben Wagner <bungeman@google.com> > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> > TBR=halcanary@google.com,bungeman@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ie8bd176121c3ee83c110d66c0d0ac65e09bfc9c5 Reviewed-on: https://skia-review.googlesource.com/6884 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* Add test for processor->resource ref/io countsGravatar Brian Salomon2017-01-11
| | | | | | | Change-Id: I63a8cb9f1564bfc15ef98121b77946a647c79f32 Reviewed-on: https://skia-review.googlesource.com/6814 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* SkTypes.h : move SkAutoMalloc into SkAutoMalloc.hGravatar Hal Canary2017-01-11
| | | | | | | | | | | | | | * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" Change-Id: Idacd86ca09e22bf092422228599ae0d9bedded88 Reviewed-on: https://skia-review.googlesource.com/4543 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Get latest ANGLE as of January 6, 2017Gravatar Brian Osman2017-01-11
| | | | | | | | | | | | Also add ANGLE ES3 predefined configs. BUG=skia: CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE Change-Id: Ib7394afa961da1afe91c6dfefe08528273d3087c Reviewed-on: https://skia-review.googlesource.com/6698 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add readPixels() tests for generator backed imagesGravatar Matt Sarett2017-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Good news: Everything seems to work as it is supposed to. That's why this CL is just tests. Bad news: Picture is a bit strange in that the caching behavior may affect how the output looks. Ex: If we choose to cache, we will first draw into the picture's colorSpace and then convert that to the dstColorSpace. If we choose not to cache, we will draw directly into the dstColorSpace. And then untagged pictures seem like they really shouldn't work very well... We are caching a legacy draw and then drawing that into the dstColorSpace? Maybe this isn't the most critical thing to think about right now though, given Florin's work. Remaining TODOs: Color space support for gpu-backed images. I still plan to clarify conversions that are allowed vs. not allowed and share that code between all SkImages. BUG=skia:6021 Change-Id: I9557ca1c00ff6854848fe59c3a67abd2af91bb46 Reviewed-on: https://skia-review.googlesource.com/6853 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* Fix overwriting of config flags in a few casesGravatar Brian Osman2017-01-11
| | | | | | | | | | | | | | | For all of these configs, we were or'ing in the texel buffer flag, and then setting the flags to textureable. We currently only use texel buffers for RGBA_Float buffers, so this didn't make any difference, but I spotted it while making other changes. BUG=skia: Change-Id: I76c21881b7c82c5c0561e19686ddcc62f9cca835 Reviewed-on: https://skia-review.googlesource.com/6851 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Improve quad edges' smoothness in non-AA cases""Gravatar Yuqian Li2017-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1e74cad9b4ed8079433d4e62ab3198d97436f5ec. Reason for revert: the guard flag has now been confirmed to be landed on chromium/src. We should now be able to pass the layout tests. Original change's description: > Revert "Improve quad edges' smoothness in non-AA cases" > > This reverts commit d4ed326d6f3704995b0e91292bf2c87e9d36bb14. > > Reason for revert: reverting temporarily to get us rolling into Chrome again. > > Must be this CL right? > https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/3364/layout-test-results/results.html > > Original change's description: > > Improve quad edges' smoothness in non-AA cases > > > > Previously, non-AA quad edges only have an accuracy about 1/2 pixel > > (while the AA quad edges have an accuracy about 1/8 pixel). Now, we > > increase non-AA quad edges' accuracy to 1/8 pixel as well. > > > > The difference is very significant for rotating non-AA filled circles. > > For example, run `./out/Debug/SampleApp --slide GM:fillcircle` with AA > > turned off (by pressing b). > > > > The benchmark added reveals that increasing quad accuracy from 1/2 to > > 1/8 doesn't affect the performance significantly. The following is the > > 1/2-accuracy performance versus 1/8-accuracy performance: > > > > curr/maxrss loops min median mean max stddev samples > > config bench > > 7/17 MB 19 2.43µs 2.57µs 2.81µs 10.5µs 22% 16119 > > 8888 path_fill_big_nonaacircle > > 7/17 MB 17 1.38µs 1.42µs 1.52µs 13µs 20% 21409 > > 8888 path_fill_small_nonaacircle > > > > curr/maxrss loops min median mean max stddev samples > > config bench > > 7/17 MB 71 2.52µs 2.59µs 2.79µs 7.67µs 19% 7557 > > 8888 path_fill_big_nonaacircle > > 7/17 MB 64 1.45µs 1.49µs 1.51µs 2.39µs 5% 12704 > > 8888 path_fill_small_nonaacircle > > > > > > BUG=skia: > > > > Change-Id: I3482098aeafcc6f2ec9aa3382977c0dc1b650964 > > Reviewed-on: https://skia-review.googlesource.com/6699 > > Reviewed-by: Mike Reed <reed@google.com> > > Commit-Queue: Yuqian Li <liyuqian@google.com> > > > > TBR=caryclark@google.com,liyuqian@google.com,reed@google.com,djsollen@google.com,bungeman@google.com,reviews@skia.org,fmalita@chromium.org > BUG=skia: > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I5bc4596ab506f6f61ac2da91a07cf51d61114f31 > Reviewed-on: https://skia-review.googlesource.com/6829 > Commit-Queue: Mike Klein <mtklein@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> > TBR=djsollen@google.com,mtklein@google.com,bungeman@google.com,reviews@skia.org,caryclark@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I0ec2ea8dc0c6ad0ebdcb48878fb301c32443a09e Reviewed-on: https://skia-review.googlesource.com/6858 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Yuqian Li <liyuqian@google.com>
* Roll recipe DEPSGravatar Eric Boren2017-01-11
| | | | | | | | | BUG=skia: Change-Id: I60440c497d8aab7f16c4aeb0de79c63b8a7fb815 Reviewed-on: https://skia-review.googlesource.com/6857 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* move SkDraw.h to coreGravatar Mike Reed2017-01-11
| | | | | | | | | BUG=skia: Change-Id: Ic8c949530414f3f8d7caded969941dc853a06271 Reviewed-on: https://skia-review.googlesource.com/6845 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* pretty up some SkSplicer codeGravatar Mike Klein2017-01-10
| | | | | | | | | | - build_stages.py uses gobjdump for both architectures, minor formatting changes - let byte arrays be written inline in splice() Change-Id: I84bd47c18e5ae0b34b35f8c2f0a329fb1ea58f60 Reviewed-on: https://skia-review.googlesource.com/6833 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Invalidate icache in copy_to_executable_mem()Gravatar Mike Klein2017-01-10
| | | | | | | | | | | | | | | | This should be a no-op on x86 (unified icache and dcache), but is required on ARM because the icache and dcache are separate. The Pixel C bots are crashing at head, and so is my local Pixel C, but not after this CL. Interestingly, my Pixel not-C (phone) has always been fine. I wonder if it has a unifed cache? CQ_INCLUDE_TRYBOTS=skia.primary:Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Release-Android Change-Id: I8f9d53729613c51aabfeb49495aac38ce2801a84 Reviewed-on: https://skia-review.googlesource.com/6847 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add Gray8 pixel configGravatar Brian Osman2017-01-10
| | | | | | | | | | | | | | | | | | | | | | | This is still just linear (non-sRGB), but adding sRGB will be the next step. I've verified that this is really making R8 textures when uploading Gray8 bitmaps. Tests pass, and the all_bitmap_configs GM still renders correctly (unlike when we just mapped Gray8 to Alpha8). This adds another pixel config, which could grow our cache footprint, but the benefits of not using 4bpp for 1bpp data should outweigh that? Re-land of https://skia-review.googlesource.com/c/6817/, with fixes for Vulkan. BUG=skia:6110 Change-Id: Ia763c276808be28027ed0005ee4b88637306583f Reviewed-on: https://skia-review.googlesource.com/6839 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* SkSplicer: no need to set_k() manually.Gravatar Mike Klein2017-01-10
| | | | | | | | | set_k() is simulating the effect of loading a pointer constant into the register used to pass the 4th function argument. An easier way to do this is to pass that pointer constant as the 4th function argument... duh. Change-Id: I5604d6bbadd86eaaa82f8c4391080f6489b1927f Reviewed-on: https://skia-review.googlesource.com/6843 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* disable splicer on MSAN botGravatar Mike Klein2017-01-10
| | | | | | | | | | | Not sure what to do about this long term. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN Change-Id: If9e86c285914ce2d8255ac25197845728d7c5d49 Reviewed-on: https://skia-review.googlesource.com/6842 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove last of SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASSGravatar Hal Canary2017-01-10
| | | | | | | | | Approval from https://review.skia.org/5006 TBR=reed@google.com Change-Id: Icdd54be420260ecd2f94f2f1fa76caba34e6a50e Reviewed-on: https://skia-review.googlesource.com/6840 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* SkSplicer: fix aarch64 jump offset, turn on testing on aarch64 Android botsGravatar Mike Klein2017-01-10
| | | | | | | | | | | I also updated the dump feature to work with aarch64, and included comments on how to disassemble an aarch64 dump. Looking at an aarch64 dump made it immediately obvious that the jump offset was off by 1. Change-Id: I17fa6ee44779e8be69ab4582e338c88212aba36c Reviewed-on: https://skia-review.googlesource.com/6841 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkSplicer: test and fix loop logicGravatar Mike Klein2017-01-10
| | | | | | | | | The new test would fail without the the change in SkSplicer.cpp to call fSpliced(x,x+body) instead of fSpliced(x,body). The rest of the changes are cosmetic, mostly renaming n to limit. Change-Id: Iae28802d0adb91e962ed3ee60fa5a4334bd140f9 Reviewed-on: https://skia-review.googlesource.com/6837 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Add Gray8 pixel config"Gravatar Brian Osman2017-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f2956459f707de596dcb2c79a7ee1fa62d599c0d. Reason for revert: GM and image failures on some bots (rendering red, not gray). Original change's description: > Add Gray8 pixel config > > This is still just linear (non-sRGB), but adding sRGB will > be the next step. I've verified that this is really making > R8 textures when uploading Gray8 bitmaps. Tests pass, and > the all_bitmap_configs GM still renders correctly (unlike > when we just mapped Gray8 to Alpha8). > > This adds another pixel config, which could grow our cache > footprint, but the benefits of not using 4bpp for 1bpp data > should outweigh that? > > BUG=skia:6110 > > Change-Id: I4fc4c2479fc25f1d278e174a9bb5b542a0cb184c > Reviewed-on: https://skia-review.googlesource.com/6817 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org BUG=skia:6110 NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I95a4fc0450a569d5791f6bceb7fae61c7e5eba61 Reviewed-on: https://skia-review.googlesource.com/6838 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Test SkSplicer on x86-64 bots, except Windows.Gravatar Mike Klein2017-01-10
| | | | | | | | | Will follow up later with (is_android && target_cpu == "arm64"). Just being cautious. Change-Id: I32bf48dec55633d6386c66fd0f11fc5616596477 Reviewed-on: https://skia-review.googlesource.com/6834 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Start including 'winrt' in Windows toolchainGravatar Brian Osman2017-01-10
| | | | | | | | | | | | | | | | | Recent versions of ANGLE require this. See: https://skia-review.googlesource.com/c/6698/ This also updates us to the latest version of the Windows SDK, 2015 Update 3 (Windows 10 SDK). BUG=skia: CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Debug-GDI,Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug-Vulkan,Test-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Release Change-Id: I42c8cabc87717f8695763f2c5573b27ab8ab65be Reviewed-on: https://skia-review.googlesource.com/6801 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Respect SkColorSpace in SkPNGImageEncoderGravatar Matt Sarett2017-01-10
| | | | | | | | | | | | | | | | | | | | | | | This only changes behavior when the input SkBitmap/SkPixmap is tagged with a non-null SkColorSpace. Android tags their bitmaps as sRGB when linear blending is enabled. So this only changes behavior in Android when linear blending is turned on. *If linear blending is turned on, this will do a color correct encode (which is the desired behavior). *If linear blending is turned off, this will do a legacy encode. TODO: Add support for F16. TODO: Add color space support to WEBP. TODO: Tag encoded images with ICC profiles (when it makes sense). BUG=skia: Change-Id: Idd8a2836371d24a453d953e6fe2e76a87751be96 Reviewed-on: https://skia-review.googlesource.com/6498 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* Clean up unused SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS codeGravatar Hal Canary2017-01-10
| | | | | | | | | | Approval from https://review.skia.org/5006 TBR=reed@google.com Change-Id: Ie630a3f45a830c8c2dc80a30e759d9481b8d60a5 Reviewed-on: https://skia-review.googlesource.com/5775 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* support external raster handlesGravatar Mike Reed2017-01-10
| | | | | | | | | | | draft CL for chrome: https://codereview.chromium.org/2618323005/ BUG=skia: Change-Id: I5dbcd700818776a9f62f1e10723d2efcc248dc44 Reviewed-on: https://skia-review.googlesource.com/6406 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* remove xbyak experimentGravatar Mike Klein2017-01-10
| | | | | | | | | | | SkSplicer is better. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I014ec0e9fb00a8a4694d442e672c65402621dc67 Reviewed-on: https://skia-review.googlesource.com/6830 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make SkImage_Base::onReadPixels() pure virtualGravatar Matt Sarett2017-01-10
| | | | | | | | | BUG=skia: Change-Id: I52504b21313717bf8321ec3f1df770773703a1a1 Reviewed-on: https://skia-review.googlesource.com/6831 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Matt Sarett <msarett@google.com>