aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
* Rm makeRenderTargetContext in favor of deferred version (take 2)Gravatar Robert Phillips2017-04-21
| | | | | | | | | This is a reland of: https://skia-review.googlesource.com/c/13001/ (Rm makeRenderTargetContext in favor of deferred version) Change-Id: Ife77b012d09c46895884a168fc5045bd92a4b919 Reviewed-on: https://skia-review.googlesource.com/13196 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Rename SkImage_Generator to SkImage_LazyGravatar Brian Osman2017-04-20
| | | | | | | | | | | | | | This removes a long-standing source of confusion: SkImage_Generator was an image that wrapped an SkImageGenerator (with an SkImageCacherator stuck in the middle). We could choose to rename either one, but SkImageGenerator is public, so take the easy road and rename the private image subclass. Given the existence of SkImage::isLazyGenerated, this name seems appropriate. Bug: skia: Change-Id: I061ece94f48538efb1dc5548010f6ca7d438a69b Reviewed-on: https://skia-review.googlesource.com/13979 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* remove vestigle code for lockpixelsGravatar Mike Reed2017-04-20
| | | | | | | | Bug: skia:6481 Change-Id: Icfd53981b8588fbea74fca2e3be58bc6f13ef923 Reviewed-on: https://skia-review.googlesource.com/13968 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Reed <reed@google.com>
* calculate cull rects for SkMiniPicturesGravatar Mike Klein2017-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | This is the other half of https://skia-review.googlesource.com/c/7874/, adding the cull-shrinking feature of SkBigPictures to SkMiniPictures. Like SkBigPictures, shrink only when we're asked to build an R-tree. (We don't actually build a tree for one rect, of course.) We could do unconditionally, but SkPictureImageFilter uses the cull rect as its crop. It's unclear to me what this image filter unit test I've changed here was intending... had it had two draws we would have shrunk its cull, but because it was hitting the 1-draw SkMiniPicture path it kept the larger user-supplied cull. As the test doesn't appear to have been written with cull shrinking in mind, I've removed its SkRTreeFactory to keep that feature explicitly disabled there. BUG=skia:5974 Change-Id: I4118d2e85f2a69adef2e7a7fa9b9b8c17607a94f Reviewed-on: https://skia-review.googlesource.com/12624 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* test and fix f16<->f32 conversion stagesGravatar Mike Klein2017-04-20
| | | | | | | | | | | | This refactors from_half() and to_half() a bit, totally reimplementing the non-hardware cases to be more clearly correct. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Release-Android,Test-Android-Clang-Ci20-CPU-IngenicJZ4780-mipsel-Release-Android,Test-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android,Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86-Debug,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug Change-Id: I439463cf90935c5e8fe2369cbcf45e07f3af62c7 Reviewed-on: https://skia-review.googlesource.com/13921 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com>
* remove dead code around SK_SUPPORT_LEGACY_CANVAS_READPIXELSGravatar Mike Reed2017-04-20
| | | | | | | | Bug: skia:6513 Change-Id: I8e4e0ffb371ae5b1af972110339e57d491ad9ff1 Reviewed-on: https://skia-review.googlesource.com/13779 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* SkColorSpaceXformer: Add SkShader::makeColorSpace()Gravatar Matt Sarett2017-04-19
| | | | | | | | | | | | | | | Just a refactor - reimplements the shader xforms with makeColorSpace(). 11 gms have diffs. Some are down to floating precision. The old implementation would go float->fixed->float in some cases. Others are due to improvements with gradient shaders inside local matrix shaders. Bug: skia:6516 Change-Id: I424406990c5c58a47833cf4c9ef146cd3ea6c37e Reviewed-on: https://skia-review.googlesource.com/13769 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* Remove SkVarAllocGravatar Herb Derby2017-04-18
| | | | | | | Change-Id: Id41d3e03390185f72b682225aeb140df45c84a34 Reviewed-on: https://skia-review.googlesource.com/13763 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Change SkRecord to use SkArenaAllocGravatar Herb Derby2017-04-18
| | | | | | | | | | This CL uses the strategy of allocating raw bytes with the proper alignment so that SkRecord can manage the object lifetimes. Change-Id: I73604d41a3c6a12d1e2f7f8419f75b95c0190f68 Reviewed-on: https://skia-review.googlesource.com/13621 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Fix out of bounds read in SkColorSpace::MakeICCGravatar Matt Sarett2017-04-18
| | | | | | | | Bug: 711895 Change-Id: I8574289bda842cf1be3fb5bcf347a81b98fdc6b0 Reviewed-on: https://skia-review.googlesource.com/13690 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkColorSpaceXformer: Handle compose color filtersGravatar Matt Sarett2017-04-17
| | | | | | | | | | | | | | | We could alternatively use the makeColorSpace() approach that we adoped for loopers and imagefilters, but this seems fine. This should finish xform canvas work on color filters. We have plenty of color filters that do math on colors, but only two that might actually hold colors. Bug: skia:6516 Change-Id: I1aee8c35d6886fdc149d4659d1bac2edc0d32b67 Reviewed-on: https://skia-review.googlesource.com/13649 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* support either 32bit swizzle in HQ modeGravatar Mike Reed2017-04-17
| | | | | | | | Bug: skia:6515 Change-Id: I8570a76824026d973fd0cc7247b34de7ae70a190 Reviewed-on: https://skia-review.googlesource.com/13593 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* fix android-only function now that fRec is no longer usedGravatar Mike Reed2017-04-17
| | | | | | | Bug: skia:6481 Change-Id: I9805b6eb824257038fc8521753d32fecec1433dd Reviewed-on: https://skia-review.googlesource.com/13599 Reviewed-by: Mike Reed <reed@google.com>
* Finish overriding onMakeColorSpace() for SkImageFiltersGravatar Matt Sarett2017-04-17
| | | | | | | | | | Fixes 3 gms in gbr-8888. Breaks 0 gms in gbr-8888. Bug: skia: Change-Id: I3365390b16353821ef6057a7bb68020887e36f72 Reviewed-on: https://skia-review.googlesource.com/13323 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* use SkArenaAlloc in SkColorSpaceXform_A2BGravatar Mike Klein2017-04-17
| | | | | | | | | | | | | I am learning / refactoring this code. To start, I mostly just want to get all these one-off storage members out of my face. Testing: out/dm --src colorImage --colorImages images/colorspace/ --config srgb Change-Id: I40eb0b565eb2ab1ef8975f7a7ba35961cff75a07 Reviewed-on: https://skia-review.googlesource.com/13586 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* hide lockpixels api behind flagGravatar Mike Reed2017-04-17
| | | | | | | | | | | | | | guarded by SK_SUPPORT_OBSOLETE_LOCKPIXELS needs https://codereview.chromium.org/2820873002/# to land first Bug: skia:6481 Change-Id: I1c39902cbf6fe99f622adfa8192733b95f7fea09 Change-Id: I1c39902cbf6fe99f622adfa8192733b95f7fea09 Reviewed-on: https://skia-review.googlesource.com/13580 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Reed <reed@google.com>
* deprecate odd variants of SkCanvas::readPixelsGravatar Mike Reed2017-04-17
| | | | | | | | | Bug: skia:6513 Change-Id: I51179a85f0912d3f899c368c30a943d346dd1d05 Reviewed-on: https://skia-review.googlesource.com/13589 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Reed <reed@google.com>
* add a callback stage to SkRasterPipelineGravatar Mike Klein2017-04-17
| | | | | | | | | | | | | | | | | | This lets us temporarily escape to piece of code outside SkRasterPipeline. We should be able to use this to replace - parametric_{r,g,b,a} - table_{r,g,b,a} - color_lookup_table - shader_adapter* * We want to obsolete shader_adapter for other reasons anyway, but we _could_ replace it with this if we want to. Change-Id: I42b657b3c19c679796ed1876856cae0c8471307e Reviewed-on: https://skia-review.googlesource.com/12102 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* SkPictureImageFilter::onMakeColorSpace()Gravatar Matt Sarett2017-04-15
| | | | | | | | | | | Improves gm/recordopts. Does not break gm/pictureimagefilter or gm/fastfilterbounds. Bug: skia: Change-Id: I67c8f02a9548bf751350dfa3c7029dd59b8a2d1d Reviewed-on: https://skia-review.googlesource.com/13276 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* remove lock tracking in bitmaps -- they are always lockedGravatar Mike Reed2017-04-14
| | | | | | | | Bug: skia:6481 Change-Id: I551c9fd5cdf1ea99fc62042d24d638a1021c348d Reviewed-on: https://skia-review.googlesource.com/13473 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove dangerous constructor from SkArenaAllocGravatar Herb Derby2017-04-14
| | | | | | | | | | | Make the constructors for SkArenaAlloc unambiguous. TBR=mtklein@google.com Change-Id: Iaa6419574e78e17bf746f5f9bcdf99c9d6c9d727 Reviewed-on: https://skia-review.googlesource.com/13540 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* fix scan converter arena allocGravatar Cary Clark2017-04-14
| | | | | | | | | | | | | Removing the 16K alloc sped up pathops_unittest -x -V Release on Windows 7; time went from 14 minutes to 4. R=herb@google.com BUG=skia:6509 Change-Id: If43c9ad6745961e0079a7f4f6560c6fa2a7847ef Reviewed-on: https://skia-review.googlesource.com/13507 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Herb Derby <herb@google.com>
* skirt std::chrono on MSAN buildsGravatar Mike Klein2017-04-14
| | | | | | | | | | | | | | | I don't know why, but only std::chrono's calls to clock_gettime() seem to be affected by this MSAN bug. Other calls into libc++ that call libc, like std::to_string(int) calling snprintf, work fine. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN,Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN BUG=skia:6504 Change-Id: I73fbe8793d2b5b5cca46ed68fb078a77d8748127 Reviewed-on: https://skia-review.googlesource.com/13502 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Improve accuracy of cubic classificationGravatar Chris Dalton2017-04-14
| | | | | | | | | | | | | | | | | | - Updates the logic to reflect the Loop-Blinn paper instead of the GPU gems website. - Removes the threshold for detecting local cusps. The serpentine codepath works for these cusps anyway, so what we really want to know is whether the discriminant is negative. - Makes sure to not scale the inflection function by 1/0. - Shifts the inflection function coefficients in d[] so they match the paper. - Stores the cubic discriminant in d[0]. Bug: skia: Change-Id: I909a522a0fd27c9c8dfbc27d968bc43eeb7a416f Reviewed-on: https://skia-review.googlesource.com/13304 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* remove code directly involved in lock/unlock in SkPixelRefGravatar Mike Reed2017-04-13
| | | | | | | | Bug: skia:6481 Change-Id: I3c301ad42b082e04e233aa32d77862036fe998fa Reviewed-on: https://skia-review.googlesource.com/13463 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Reed <reed@google.com>
* make picture-imagegenerator more robust on requested infosGravatar Mike Reed2017-04-13
| | | | | | | | | | This new unittest would assert before this fix. Bug: skia:6501 Change-Id: I351ad03f29bccc054f72bfcb838174830dbd008c Reviewed-on: https://skia-review.googlesource.com/13413 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* remove dead code around replayClipsGravatar Mike Reed2017-04-13
| | | | | | | | Bug: skia: Change-Id: I208bf41846265524d86f65de660311199fefc158 Reviewed-on: https://skia-review.googlesource.com/13338 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove unused fURI from pixelrefGravatar Mike Reed2017-04-13
| | | | | | | | Bug: skia: Change-Id: Ib25569862063b765b823b68ffdc22349a606f940 Reviewed-on: https://skia-review.googlesource.com/13324 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* android-only api to reset the fields of a pixelrefGravatar Mike Reed2017-04-12
| | | | | | | | | BUG=skia:6494 Change-Id: I97c8a93849a13f0c5fd57c8a150ecc2ce363d8f3 Reviewed-on: https://skia-review.googlesource.com/13250 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Reed <reed@google.com>
* fix drawDRRect for fuzzerGravatar Cary Clark2017-04-12
| | | | | | | | | | make assert abort instead Bug: skia:6450 Change-Id: I23ff51124fa8f069f2c7e5260f800017d7475d46 Reviewed-on: https://skia-review.googlesource.com/13197 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local ↵Gravatar Matt Sarett2017-04-12
| | | | | | | | | | | | | | | | | matrix Fixes cts tests. b/37161109 b/37237678 CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN Bug: skia: Change-Id: I438b8b17f4c7c5bfcb50dfa22af1ddb97b905088 Reviewed-on: https://skia-review.googlesource.com/13261 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* Revert "Revert "SkColorSpaceXformer: Preserve local matrix on shaders""Gravatar Matt Sarett2017-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a50a11c17ed9037d3e60d8319727583dba803cec. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "SkColorSpaceXformer: Preserve local matrix on shaders" > > This reverts commit 5d884b562828ceb13ccacb71bc4581d2020e62bb. > > Reason for revert: Wrong thing to revert > > Original change's description: > > SkColorSpaceXformer: Preserve local matrix on shaders > > > > Also, do not drop unknown shaders. > > > > Fixes cts tests. > > > > b/37161109 > > b/37237678 > > > > Bug: skia: > > Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864 > > Reviewed-on: https://skia-review.googlesource.com/13246 > > Commit-Queue: Matt Sarett <msarett@google.com> > > Commit-Queue: Mike Klein <mtklein@chromium.org> > > Reviewed-by: Mike Klein <mtklein@chromium.org> > > > > TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I34e02785ac43a04f8452c458680ea1d6518818a6 > Reviewed-on: https://skia-review.googlesource.com/13258 > Reviewed-by: Matt Sarett <msarett@google.com> > Commit-Queue: Matt Sarett <msarett@google.com> > TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I2dfac7d41caf0e32d3bb5f3f330fff4970c0545e Reviewed-on: https://skia-review.googlesource.com/13260 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Revert "Fix SkLocalMatrixShader::isAImage() to respect local matrix and ↵Gravatar Matt Sarett2017-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | image local matrix" This reverts commit e5efa51b2acc86d1993132348d5b465855a653cc. Reason for revert: MSAN Original change's description: > Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix > > Fixes cts tests. > > b/37161109 > b/37237678 > > Bug: skia: > Change-Id: Ida9ac5e4261e8a6b22e8cdc0e585e0e7929dbbfd > Reviewed-on: https://skia-review.googlesource.com/13249 > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I2b78c7b32997344136c784dc77675dafca37565e Reviewed-on: https://skia-review.googlesource.com/13259 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Revert "SkColorSpaceXformer: Preserve local matrix on shaders"Gravatar Matt Sarett2017-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5d884b562828ceb13ccacb71bc4581d2020e62bb. Reason for revert: <INSERT REASONING HERE> Original change's description: > SkColorSpaceXformer: Preserve local matrix on shaders > > Also, do not drop unknown shaders. > > Fixes cts tests. > > b/37161109 > b/37237678 > > Bug: skia: > Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864 > Reviewed-on: https://skia-review.googlesource.com/13246 > Commit-Queue: Matt Sarett <msarett@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I34e02785ac43a04f8452c458680ea1d6518818a6 Reviewed-on: https://skia-review.googlesource.com/13258 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local ↵Gravatar Matt Sarett2017-04-12
| | | | | | | | | | | | | | | matrix Fixes cts tests. b/37161109 b/37237678 Bug: skia: Change-Id: Ida9ac5e4261e8a6b22e8cdc0e585e0e7929dbbfd Reviewed-on: https://skia-review.googlesource.com/13249 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkColorSpaceXformer: Preserve local matrix on shadersGravatar Matt Sarett2017-04-12
| | | | | | | | | | | | | | | | Also, do not drop unknown shaders. Fixes cts tests. b/37161109 b/37237678 Bug: skia: Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864 Reviewed-on: https://skia-review.googlesource.com/13246 Commit-Queue: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Override setDrawFilter() in SkColorSpaceXformCanvasGravatar Matt Sarett2017-04-12
| | | | | | | | | | | | | | Fixes cts tests. b/37161109 b/37237678 Bug: skia: Change-Id: I12d78b631b4056a78cbbb2962144e8cc62eb931a Reviewed-on: https://skia-review.googlesource.com/13244 Commit-Queue: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "Revert "remove unused SkBitmap::copyPixelsTo""Gravatar Mike Reed2017-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7bfdfda809e7273d7c962cc62ef9390b5007fb5a. Reason for revert: google3 has been updated Original change's description: > Revert "remove unused SkBitmap::copyPixelsTo" > > This reverts commit 0f3fdfacf32261f943dcac5cdfd14475011f40db. > > Reason for revert: Blink-headless in Google3 needs an update too. > > Original change's description: > > remove unused SkBitmap::copyPixelsTo > > > > Needs https://codereview.chromium.org/2812853002/ to land first > > > > Bug: skia:6465 > > Change-Id: I531e33b2848cd995f20844786ed1a8d34d63fb64 > > Reviewed-on: https://skia-review.googlesource.com/13171 > > Reviewed-by: Mike Reed <reed@google.com> > > Commit-Queue: Mike Reed <reed@google.com> > > > > TBR=reed@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I5e7c4b0d05772e4948cb1dffdcc40e095fbdba41 > Reviewed-on: https://skia-review.googlesource.com/13185 > Reviewed-by: Mike Klein <mtklein@google.com> > Commit-Queue: Mike Klein <mtklein@google.com> > TBR=mtklein@google.com,reviews@skia.org,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Id441cec351fe580cbb00739ca9544aa5276cf16a Reviewed-on: https://skia-review.googlesource.com/13224 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* switch over to no lockPixels in pixelrefGravatar Mike Reed2017-04-12
| | | | | | | | | | Bug: skia:6481 Change-Id: I7c32d2e6dcd4c9cd8aa761ac5c4794c916eb650a Reviewed-on: https://skia-review.googlesource.com/13193 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Reed <reed@google.com>
* clean ups in SkPixelRefGravatar Mike Reed2017-04-11
| | | | | | | | | | | - isLazyGenerated no longer needed - requestLock does not need a virtual Bug: skia:4328 Change-Id: I56ab5ee1e10f2a20332eb58464a2a48b487101e6 Reviewed-on: https://skia-review.googlesource.com/13195 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Reed <reed@google.com>
* SkSize can be aggregate-initializedGravatar Hal Canary2017-04-11
| | | | | | | | | | | | Previosly, SkSize had a base class, which prevented it. Also removes unused SkISize::clampNegToZero() and SkSize::clampNegToZero(). Change-Id: I7b93b42f6f6381c66e294bbedee99ad53c6c3436 Reviewed-on: https://skia-review.googlesource.com/13187 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Reland: Finish up mip opts: 2x3 and 3x2Gravatar Matt Sarett2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | Original CL: https://skia-review.googlesource.com/c/10028 mipmap_build_2048x2047 (2x3): sRGB Float Impl (old): 82.9ms (reference) 8888 : 12.3ms (reference) sRGB Before : 61.9ms sRGB After : 53.1ms mipmap_build_2047x2048 (3x2): sRGB Float Impl (old): 65.9ms (reference) 8888 Before : 10.3ms 8888 After : 8.81ms sRGB Before : 47.8ms sRGB After : 43.5ms BUG=skia: Change-Id: Icf58a857a66102e843ae2585fda8d70c31a2b34d Reviewed-on: https://skia-review.googlesource.com/13186 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* remove inline allocation in SkRecordGravatar Mike Klein2017-04-11
| | | | | | | | | | | | | | This is part one of many to making SkPicture simpler. SkMiniPicture covers the really small allocations, so there's really no reason for us to have these inline allocations. BUG=skia:6484 Change-Id: I0e27ac747a6b15cf178db9639128fef757bc137b Reviewed-on: https://skia-review.googlesource.com/13137 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Change bitmapcache to not rely on lockpixels.Gravatar Mike Reed2017-04-11
| | | | | | | | | | | | | | | | | | | | The Rec in the cache is the owner of the pixel memory - discardable or - malloc Each external client has a pixelref that just points to those pixels, and whose destructor will notify the rec. This eliminates the dependency on lockPixels in pixelref, freeing us to remove that entirely from pixelref. Bug: skia: Change-Id: If45ed0ae202a1211336626364235215253e8aa7c Reviewed-on: https://skia-review.googlesource.com/10300 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Make SkLiteDL::draw() const.Gravatar Mike Klein2017-04-11
| | | | | | | | | | | Nothing interesting here. Just slapping const all over the place. BUG=skia:6484 Change-Id: I639001754aca6d129c40e9acddc9b2d3730fed0c Reviewed-on: https://skia-review.googlesource.com/13184 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* make SkRecord normally SkRefCnt'dGravatar Mike Klein2017-04-11
| | | | | | | | | | | | | | SkRecord used SkNVRefCnt to avoid adding a vptr. SkMiniPicture covers the really small allocations, so there's really no reason to fret over an extra pointer here. BUG=skia:6484 Change-Id: Ifa43be8eb352b2d59851c75e6b4f164bb38b5ef6 Reviewed-on: https://skia-review.googlesource.com/13139 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "remove unused SkBitmap::copyPixelsTo"Gravatar Mike Klein2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0f3fdfacf32261f943dcac5cdfd14475011f40db. Reason for revert: Blink-headless in Google3 needs an update too. Original change's description: > remove unused SkBitmap::copyPixelsTo > > Needs https://codereview.chromium.org/2812853002/ to land first > > Bug: skia:6465 > Change-Id: I531e33b2848cd995f20844786ed1a8d34d63fb64 > Reviewed-on: https://skia-review.googlesource.com/13171 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I5e7c4b0d05772e4948cb1dffdcc40e095fbdba41 Reviewed-on: https://skia-review.googlesource.com/13185 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* remove unused SkBitmap::copyPixelsToGravatar Mike Reed2017-04-11
| | | | | | | | | | Needs https://codereview.chromium.org/2812853002/ to land first Bug: skia:6465 Change-Id: I531e33b2848cd995f20844786ed1a8d34d63fb64 Reviewed-on: https://skia-review.googlesource.com/13171 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove SkNx AVX codeGravatar Mike Klein2017-04-11
| | | | | | | | | | | | | | We can't realistically use AVX and SkNx together because of ODR problems, so remove the code that may tempt us to try. Remaining code paths using AVX: - one intrinsics-only routine in SkOpts_hsw.cpp - SkJumper Change-Id: I0d2d03b47ea4a0eec27f2de2b28a4c3d1ff8376f Reviewed-on: https://skia-review.googlesource.com/13121 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make sure NaNs clamp to 0 in color look up tablesGravatar Matt Sarett2017-04-11
| | | | | | | | | | | | | This operation assumes 0-1 input and guarantees 0-1 output. The old clamp was poorly written, causing the possibility for NaNs to not be set to 0. BUG=709941 Change-Id: I691f0494a562a329967f5b0149a1ba04cbeb8464 Reviewed-on: https://skia-review.googlesource.com/13134 Commit-Queue: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>