aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Split SkCrossContextImageData into Image and BackendTexture subclassesGravatar Greg Daniel2017-04-17
| | | | | | | | | | | This is needed for a follow up CL where we switch from using GrBackendTextureDesc to GrBackendTexture. Bug: skia: Change-Id: Id12d3357af1cc7f30c7f9196e614089779dc0715 Reviewed-on: https://skia-review.googlesource.com/13588 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Further refactor read/writeSurfacePixelsGravatar Brian Osman2017-04-17
| | | | | | | | | | | | | | | Detect the situation where we're going to want to do PM/UPM, and want to use GrConfigConverionEffect, but be unable (due to the lack of a round-trip pair). This lets us hoist the SW premul work (in writeSurfacePixels), and avoid all the cascading failure logic in both functions. (We never try to create the PM/UPM effects unless we know that they're going to work). Bug: skia:5853 Change-Id: I0077447cd4be93bba273f8d2826b1ec0f4915c6c Reviewed-on: https://skia-review.googlesource.com/13592 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* 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>
* Remove lastOpList capability from GrSurfaceGravatar Robert Phillips2017-04-17
| | | | | | | | | | | This is split out of: https://skia-review.googlesource.com/c/11581/ (Split up opLists) TBR=bsalomon@google.com Change-Id: I80d589b42918ddd77538484c808b069576691da4 Reviewed-on: https://skia-review.googlesource.com/11793 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@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>
* getDeferredTextureImageData(): use legacy scaling in legacy modeGravatar Matt Sarett2017-04-14
| | | | | | | | | Bug:709341 Change-Id: I0dc1dcc3874f9741e0303e376a0ad4a68cd8b03e Reviewed-on: https://skia-review.googlesource.com/13500 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Matt Sarett <msarett@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>
* Symmetric rendering when >20px with DirectWrite.Gravatar Ben Wagner2017-04-14
| | | | | | | | | | | | | If the font has a gasp table use it to determine symmetric. Otherwise, use symmetric if the the font isn't hinted or is >20px. The remaining cases use non-symmetric. BUG=chromium:706792,skia:6432 Change-Id: I91b66a9615aae27c195e1545298a9d36bc58a705 Reviewed-on: https://skia-review.googlesource.com/11400 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Fix advances for aliased text with DirectWrite.Gravatar Ben Wagner2017-04-14
| | | | | | | | | | | | | The existing code assumes that GetGdiCompatibleGlyphMetrics transform parameter acts the same as the GetGlyphOutlineW lpmat2 parameter. However, it appears this is very much not true. BUG=skia:6499 Change-Id: I88c762b27acd09cc746da4d6e2b901540876908a Reviewed-on: https://skia-review.googlesource.com/13479 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* sk_sp-ify opList creation & storageGravatar Robert Phillips2017-04-14
| | | | | | | Change-Id: Idd4d81cd248ad2b2169028ac2e269a66c9cad26b Reviewed-on: https://skia-review.googlesource.com/13400 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* 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>
* Let region decoders query the type and color spaceGravatar Matt Sarett2017-04-14
| | | | | | | | | | | | | b/36905374, b/32984164 Test: CtsGraphicsTestCases Written by: romainguy@ Change-Id: Ief4bba6ec3cd3446224199d05f06ffcffaaa72b5 Reviewed-on: https://skia-review.googlesource.com/13472 Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* refine .type ...,%functionGravatar Mike Klein2017-04-13
| | | | | | | | | | | | | | | | .type is an ELF thing, not understood by Mach. So do the same sort of #define trick we do for HIDDEN. This expands the use of .type ...,%function to everywhere that supports it, rather than just where we needed it. Feels cozier this way. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm-Debug-iOS,Build-Mac-Clang-arm-Release-iOS,Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release,Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug Change-Id: Iaff01b0f3f70ceedf743d7a553915792cdd7e569 Reviewed-on: https://skia-review.googlesource.com/13469 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* jumper, explicitly tag functions as functionsGravatar Mike Klein2017-04-13
| | | | | | | | | | | | | | | | | | This helps the linker decide to rewrite bl -> blx when linking Thumb2 SkJumper.o code with ARM SkJumper_generated.o. The reason Android wasn't failing is because it somehow figured out to do this without these .type directives. We use a different toolchain for ChromeOS builds that I guess needs more handholding. BUG=skia:6471 CQ_INCLUDE_TRYBOTS=skia.primary:Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Release,Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug Change-Id: I4a5c50b6ab7683512776c70aec6e9a75a0999787 Reviewed-on: https://skia-review.googlesource.com/13464 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* 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>
* Further unify logic in readSurfacePixels and writeSurfacePixelsGravatar Brian Osman2017-04-13
| | | | | | | | | | | | | | | | | | | | Hoist simple failure checks to the beginning, apply logic in the same sequence in both functions. Factor out some common logic. Remove redundant checking inside other helper functions (that are only used from here). I'm inching towards better sRGB and color-conversion support in these functions, but I don't want that intertwined with the legacy premul software fallback. Next step is probably to diverge at the top-level, and keep the current code as "legacy" versions, with new versions that don't have the fallback logic, only used for configs and color space scenarios where it doesn't matter. Bug: skia:5853 Change-Id: I327be5f0186a16ceda9440670fb0646acaef7766 Reviewed-on: https://skia-review.googlesource.com/13337 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Move GrAtlasGlyphCache over to SkArenaAlloc from SkVarAlloc.Gravatar Herb Derby2017-04-13
| | | | | | | Change-Id: Ibeee7235d30c68be9fd4f68ecf30a65c7ecb78f5 Reviewed-on: https://skia-review.googlesource.com/13020 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Use a simpler method for calculating atanGravatar Herb Derby2017-04-13
| | | | | | | Change-Id: I675851350c02c85f3f212c214766b3e8a6761dc9 Reviewed-on: https://skia-review.googlesource.com/13402 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Remove GrRenderTargetOpList::discard & move functionality to ↵Gravatar Robert Phillips2017-04-13
| | | | | | | | | GrRenderTargetContext Change-Id: If84ffb7b01543a44179837d683c0a4c004e52f63 Reviewed-on: https://skia-review.googlesource.com/13335 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@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>
* Store the GrBackend we are using on GrContextGravatar Greg Daniel2017-04-13
| | | | | | | | | | | | | | As we start adding more functionality to external clients and passing data around, we will need to know what backend we are working with at a layer higher that GrGpu. TBR=bsalomon@google.com Bug: skia: Change-Id: Ifee527ea0c1046469401a39e0500f84a46bb3081 Reviewed-on: https://skia-review.googlesource.com/13275 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make all GrRenderTargetOpList ops store a GrRenderTarget pointerGravatar Robert Phillips2017-04-13
| | | | | | | Change-Id: I39652b4b8b2ba96b5206304dfc51395283c3fe16 Reviewed-on: https://skia-review.googlesource.com/13332 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Do sRGB premul/unpremul on the GPUGravatar Brian Osman2017-04-13
| | | | | | | | | | | | | | | | | | Previously, the early check would decide that sRGB pixel configs were okay (because they're 8888-unorm). Then we'd go to make the effect and decide that we didn't want them to work. This led to the software fallback. The software fallback was obviously slower, but also doing non-linear premul/unpremul operations. Eventually, whether or not the premul is linear should be dictated by the destination color space, but for now, this is an improvement (and only affects the one GM that tests this feature). Bug: skia: Change-Id: I0cf1ad5a7f552135ac1da728c6db2977652a433b Reviewed-on: https://skia-review.googlesource.com/13321 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@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>
* Fix cubic KLM solvingGravatar csmartdalton2017-04-12
| | | | | | | | | | | | Fixes calc_inverse_transpose_power_basis_matrix() to look for the determinant with the largest ABSOLUTE VALUE. BUG=skia: Change-Id: I70e26cc7ab9955d2e094fb7581f0ec9f5e0ae2d9 Reviewed-on: https://skia-review.googlesource.com/13081 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* jumper, bilinear and bicubic sampling stagesGravatar Mike Klein2017-04-12
| | | | | | | | | | | | | | | | | | | | This splits SkImageShaderContext into three parts: - SkJumper_GatherCtx: always, already done - SkJumper_SamplerCtx: when bilinear or bicubic - MiscCtx: other little bits (the matrix, paint color, tiling limits) Thanks for the snazzy allocator that allows this Herb! Both SkJumper and SkRasterPipeline_opts.h should be speaking all the same types now. I've copied the comments about bilinear/bicubic to SkJumper with little typo fixes and clarifications. Change-Id: I4ba7b7c02feba3f65f5292169a22c060e34933c6 Reviewed-on: https://skia-review.googlesource.com/13269 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* 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>
* make all gather_*() use SkJumper_GatherCtxGravatar Mike Klein2017-04-12
| | | | | | | | | | | SkJumper_GatherCtx is a prefix of SkImageShaderContext, so this is a no-op. It helps to keep things straight, and I do want to split apart the GatherCtx from a new SamplingCtx. Change-Id: I9c5f436b096624c2809e1f810e9bcd6c6b00b883 Reviewed-on: https://skia-review.googlesource.com/13264 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* 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>
* jumper, rgb<->hslGravatar Mike Klein2017-04-12
| | | | | | | | | | | | | | | | | | | | | I've rearranged while porting, I hope making the logic clearer. Exactly one gm is affected, highcontrastfilter. The most interesting line is this, from hsl_to_rgb: F t2 = if_then_else(t < 0.0_f, t + 1.0_f, I had to write 0.0_f (instead of the usual 0) to force Clang to compare against a zero register instead of a 16-byte zero constant in memory. Register pressure is high in hsl_to_rgb, so something must have kicked in to prefer memory over zeroing a register. No big deal. It makes the code read more symmetrically anyway. Change-Id: I1a5ced72216234587760c6f803fb69315d18fae0 Reviewed-on: https://skia-review.googlesource.com/13242 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Add SkCodec methods for individual framesGravatar Leon Scroggins III2017-04-12
| | | | | | | | | | | | | | | | | | | | | Add a version of getFrameInfo that returns information about a single frame, allowing a client to skip creating the entire vector. Add getFrameCount, for determining the number of frames in the image. Reimplement std::vector<FrameInfo> getFrameInfo with the new methods. Updates to the test: - getFrameInfo(size_t, FrameInfo*) fails before parsing - Test both versions of getFrameInfo - Recreate the codec between tests, to test parsing Change-Id: I77c19087f2f8dcf2c536d80167b18ad1ca96ae94 Reviewed-on: https://skia-review.googlesource.com/13190 Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Chris Blume <cblume@google.com> Commit-Queue: Leon Scroggins <scroggo@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>
* Disable deferred proxies for Chrome branchGravatar Robert Phillips2017-04-12
| | | | | | | | | Chrome is branching again and Proxy instantiation is still occurring at a bad spot in Skia. Change-Id: I2f6bed7f1833737aa9bb7fd819ff108cffaeaf1d Reviewed-on: https://skia-review.googlesource.com/13133 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* 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>
* Add perspective shadowsGravatar Jim Van Verth2017-04-11
| | | | | | | | Bug: skia: Change-Id: I1972f85f593828c982ea08143e1ed7eb70345eaa Reviewed-on: https://skia-review.googlesource.com/10296 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>