aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Revert "Revert "Make GrTextureOp disable coverage AA when rect falls on ↵Gravatar Brian Salomon2018-05-30
| | | | | | | | | | | integers."" This reverts commit 36be574e7bd5eb8bb41e2a0a15085e27b340cf4d. Change-Id: Ifdc06cb617ce5c736f861a715bb6f34791364e57 Reviewed-on: https://skia-review.googlesource.com/130507 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Reland "Create API for GrVkMemoryAllocator and impliment use of AMD ↵Gravatar Greg Daniel2018-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VulkanMemoryAllocator on this API." This reverts commit 98bddf930e4a8767bca60d84d585c386fabfc6b7. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API." > > This reverts commit 26c0e4c1f54759249c2d61b50fb5430bd73793f2. > > Reason for revert: breaks roll into fuchsia > > Original change's description: > > Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API. > > > > Bug: skia: > > Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0 > > Reviewed-on: https://skia-review.googlesource.com/129980 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > > Change-Id: I6c74978f778987c422e6162e7dd85ea9c6baa0e4 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/130182 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> Bug: skia: Change-Id: I422ffb3562da567f2e85c806286ad1a17c3862cd Reviewed-on: https://skia-review.googlesource.com/130183 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Allow CCPR in DDL modeGravatar Robert Phillips2018-05-30
| | | | | | | | | Bug: skia:7988 Change-Id: If757f29e0156c0ef7045b437b04e17aebe4de851 Reviewed-on: https://skia-review.googlesource.com/130509 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add DDL to SKPBenchGravatar Robert Phillips2018-05-30
| | | | | | | | | | | Most of this CL is just repackaging the promise image and tile code from ViaDDL for reuse by SKPBench. Change-Id: Ie5003c36fe85cc5be9639552f9488b8e92dcdbbf Reviewed-on: https://skia-review.googlesource.com/129805 Reviewed-by: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "fonts: Use correct SurfaceProps in analysis canvas for remoting."Gravatar Ravi Mistry2018-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4f078f7cfac6580dce6e213c022708922739ac6d. Reason for revert: Seems to have caused these breakages: * https://chromium-swarm.appspot.com/task?id=3dc6788dc7b77010&refresh=10 * https://chromium-swarm.appspot.com/task?id=3dc67452db797c10&refresh=10 Original change's description: > fonts: Use correct SurfaceProps in analysis canvas for remoting. > > SaveLayer may not preserve the behaviour for lcd text, in which case > the surfaceProps used for desc generation are inconsistent. > > R=​herb@google.com > > Bug: 829622 > Change-Id: I3adfc6780f26e4eb333a8aff76eaa4b5a9f0a0a7 > Reviewed-on: https://skia-review.googlesource.com/129557 > Reviewed-by: Herb Derby <herb@google.com> > Commit-Queue: Khusal Sagar <khushalsagar@chromium.org> TBR=herb@google.com,khushalsagar@chromium.org Change-Id: I0372a3d834f8c4c929feb71c2b6b13739443eaaa No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 829622 Reviewed-on: https://skia-review.googlesource.com/130680 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* support image-subsets in serializationGravatar Mike Reed2018-05-29
| | | | | | | | | | | A follow-on API change *could* be to extend the SerialProcs to pass subset information up to the client, in case they want to handle the subsetting step themselves. Bug: skia:7983 Change-Id: I36d3f1ce439886384495485c3be3c591d611a135 Reviewed-on: https://skia-review.googlesource.com/130543 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com>
* fonts: Use correct SurfaceProps in analysis canvas for remoting.Gravatar Khushal2018-05-29
| | | | | | | | | | | | | SaveLayer may not preserve the behaviour for lcd text, in which case the surfaceProps used for desc generation are inconsistent. R=herb@google.com Bug: 829622 Change-Id: I3adfc6780f26e4eb333a8aff76eaa4b5a9f0a0a7 Reviewed-on: https://skia-review.googlesource.com/129557 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* remove bit, srgbnl config in DMGravatar Mike Klein2018-05-29
| | | | | | | | | | | We're not going to need the bit. I've rewritten "esrgb" and "srgbnl" to express themselves the way I'd like them to work. Their images are supressed in Gold already. Change-Id: I6da58cc75dcb998cbfcf9a8f65de31c030adb494 Reviewed-on: https://skia-review.googlesource.com/130506 Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "GrTessellator: fix for ping-pong split fuzzer hang."Gravatar Ravi Mistry2018-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bfb2a05af105f452a0f369e39dae05f9224dfa19. Reason for revert: Seems to cause failures in chromeos and chromecast test bots. eg: https://chromium-swarm.appspot.com/task?id=3dc5be8269e3b410&refresh=10 https://chromium-swarm.appspot.com/task?id=3dc5d62dfdc99010&refresh=10 Original change's description: > GrTessellator: fix for ping-pong split fuzzer hang. > > Change 3b5a3fa8b1c11d4bd4499b040311f4c3553ebf8c introduced support for > splitting on out-of-range intersections. However, this is only necessary > for correctness when the edge is nearly-flat (the top and bottom > points only differ by 1/2 machine epsilon in the primary sort criterion). > In other cases, it can cause repeated splitting and re-merging of edges, > as the intersection code (being approximate and not exact) may produce a > ping-pong set of intersections. > > The fix is to support out-of-range intersections only if they differ by > 1/2 machine epsilon. This also generalizes the > out_of_range_and_collinear() check, so it was removed. > > Bug: 838978 > Change-Id: I134f7eff3f15707e0d68de11c55f7fadce4ff8e7 > Reviewed-on: https://skia-review.googlesource.com/130448 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Stephen White <senorblanco@chromium.org> TBR=robertphillips@google.com,senorblanco@chromium.org Change-Id: I3fa62423d3875665397adcecb94b467b9b6611cc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 838978 Reviewed-on: https://skia-review.googlesource.com/130522 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* Rename GrAtlasTextBlob -> GrTextBlobGravatar Herb Derby2018-05-29
| | | | | | | Change-Id: I61311b48f206890dfd1a20796d7d678cd05ef5a3 Reviewed-on: https://skia-review.googlesource.com/130140 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Herb Derby <herb@google.com>
* GrTessellator: fix for ping-pong split fuzzer hang.Gravatar Stephen White2018-05-29
| | | | | | | | | | | | | | | | | | | | Change 3b5a3fa8b1c11d4bd4499b040311f4c3553ebf8c introduced support for splitting on out-of-range intersections. However, this is only necessary for correctness when the edge is nearly-flat (the top and bottom points only differ by 1/2 machine epsilon in the primary sort criterion). In other cases, it can cause repeated splitting and re-merging of edges, as the intersection code (being approximate and not exact) may produce a ping-pong set of intersections. The fix is to support out-of-range intersections only if they differ by 1/2 machine epsilon. This also generalizes the out_of_range_and_collinear() check, so it was removed. Bug: 838978 Change-Id: I134f7eff3f15707e0d68de11c55f7fadce4ff8e7 Reviewed-on: https://skia-review.googlesource.com/130448 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "Make GrTextureOp disable coverage AA when rect falls on integers."Gravatar Brian Salomon2018-05-29
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ca439a0a0afca8ad20c724cc837ce7dbc67e1277. Reason for revert: layout tests :( Original change's description: > Make GrTextureOp disable coverage AA when rect falls on integers. > > Change-Id: Iaf5e8d154cc9108adcd8294812cecae7b4f01a5d > Reviewed-on: https://skia-review.googlesource.com/130148 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Iac6bdc19ed16ebbee27a7601086c305490d44a50 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/130521 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* wouldn't it be nice?Gravatar Mike Klein2018-05-29
| | | | | | | | | | Here's our drawing pipeline if we always blend as encoded. I think it's very intuitive. Change-Id: I0e531c5da1f6279d0da1f19b84d6317d99942da3 Reviewed-on: https://skia-review.googlesource.com/130131 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make GrTextureOp disable coverage AA when rect falls on integers.Gravatar Brian Salomon2018-05-29
| | | | | | | Change-Id: Iaf5e8d154cc9108adcd8294812cecae7b4f01a5d Reviewed-on: https://skia-review.googlesource.com/130148 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Drop unneeded .get() in GrCoverageCountingPathRenderer.cppGravatar tzik2018-05-29
| | | | | | | | | | | MSVC's std::unique_ptr<>::get() is marked as NODISCARD, and the .get() call here causes a warning. Bug: chromium:752720 Change-Id: Iadc217247533b6148285f7a81c982527d98c86f9 Reviewed-on: https://skia-review.googlesource.com/130360 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Reland "Turn off domain in GrTextureOp when src rect contains entire proxy"Gravatar Brian Salomon2018-05-26
| | | | | | | | | | | | | | | | | | This is a reland of 869433fa113d1573d5d91fcafdca413b247ce1b0 Original change's description: > Turn off domain in GrTextureOp when src rect contains entire proxy > > Move check for turning off domain when nearest/no-aa to GrRenderTargetContext. > > Change-Id: I3c071b5f73fb3134218453204f30c3020c9dad9a > Reviewed-on: https://skia-review.googlesource.com/130143 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> Change-Id: I29a21e26de8a246a74bd40fd0cda044f8f18327e Reviewed-on: https://skia-review.googlesource.com/130307 Reviewed-by: Stephen White <senorblanco@chromium.org>
* Reland "Workaround constexpr bug in MSVC 2015 in GrTextureOp"Gravatar Brian Salomon2018-05-26
| | | | | | | | | | | | | | | | This is a reland of 9eff78e2623d600282ca63c2e9988e0ffbba2949 Original change's description: > Workaround constexpr bug in MSVC 2015 in GrTextureOp > > Change-Id: I441858aab5fcd63e5467625a23681c5bcd35f25b > Reviewed-on: https://skia-review.googlesource.com/130122 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> Change-Id: I90e5d807f658baadfab80333d84872d8105bf02b Reviewed-on: https://skia-review.googlesource.com/130306 Reviewed-by: Stephen White <senorblanco@chromium.org>
* Reland "Add support for SkCanvas::kStrict_SrcRectConstraint to GrTextureOp."Gravatar Brian Salomon2018-05-26
| | | | | | | | | | | | | | | | This is a reland of a0047bcff704a9121a6d82a6f97d6124463a2e54 Original change's description: > Add support for SkCanvas::kStrict_SrcRectConstraint to GrTextureOp. > > Change-Id: I8faa2838b3110b8080ac48bbe223240e3fb22998 > Reviewed-on: https://skia-review.googlesource.com/129762 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> Change-Id: Icbad064ae2779f4e140a55e520c0034cd1d17477 Reviewed-on: https://skia-review.googlesource.com/130305 Reviewed-by: Stephen White <senorblanco@chromium.org>
* Revert "Add support for SkCanvas::kStrict_SrcRectConstraint to GrTextureOp."Gravatar Stephen White2018-05-26
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit a0047bcff704a9121a6d82a6f97d6124463a2e54. Reason for revert: Possibly blocking the Chromium roll (layout tests) Original change's description: > Add support for SkCanvas::kStrict_SrcRectConstraint to GrTextureOp. > > Change-Id: I8faa2838b3110b8080ac48bbe223240e3fb22998 > Reviewed-on: https://skia-review.googlesource.com/129762 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,brianosman@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: If7ddf13d8a63bc1ab6a51a1395896282f3a31702 Reviewed-on: https://skia-review.googlesource.com/130304 Reviewed-by: Stephen White <senorblanco@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "Workaround constexpr bug in MSVC 2015 in GrTextureOp"Gravatar Stephen White2018-05-26
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9eff78e2623d600282ca63c2e9988e0ffbba2949. Reason for revert: Possibly blocking Chromium roll (layout tests) Original change's description: > Workaround constexpr bug in MSVC 2015 in GrTextureOp > > Change-Id: I441858aab5fcd63e5467625a23681c5bcd35f25b > Reviewed-on: https://skia-review.googlesource.com/130122 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,brianosman@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I4cf8f2b86cc601cf649e23e3889150419a834cb1 Reviewed-on: https://skia-review.googlesource.com/130303 Reviewed-by: Stephen White <senorblanco@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "Turn off domain in GrTextureOp when src rect contains entire proxy"Gravatar Stephen White2018-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 869433fa113d1573d5d91fcafdca413b247ce1b0. Reason for revert: possibly preventing Chromium roll (layout tests) Original change's description: > Turn off domain in GrTextureOp when src rect contains entire proxy > > Move check for turning off domain when nearest/no-aa to GrRenderTargetContext. > > Change-Id: I3c071b5f73fb3134218453204f30c3020c9dad9a > Reviewed-on: https://skia-review.googlesource.com/130143 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I8afc3c05b504ccde7d44e973d707f4cba1dc51b1 Reviewed-on: https://skia-review.googlesource.com/130302 Reviewed-by: Stephen White <senorblanco@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
* GrTessellator: remove collinear vertices.Gravatar Stephen White2018-05-25
| | | | | | | | | | | During sanitize_contours(), remove any points which are collinear with their previous and next points. Bug: skia:8503 Change-Id: Iba1df73b15a92047302bc26f01cb79f4de118760 Reviewed-on: https://skia-review.googlesource.com/130206 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Stephen White <senorblanco@chromium.org>
* Revert "Create API for GrVkMemoryAllocator and impliment use of AMD ↵Gravatar Greg Daniel2018-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | VulkanMemoryAllocator on this API." This reverts commit 26c0e4c1f54759249c2d61b50fb5430bd73793f2. Reason for revert: breaks roll into fuchsia Original change's description: > Create API for GrVkMemoryAllocator and impliment use of AMD VulkanMemoryAllocator on this API. > > Bug: skia: > Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0 > Reviewed-on: https://skia-review.googlesource.com/129980 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,bungeman@google.com Change-Id: I6c74978f778987c422e6162e7dd85ea9c6baa0e4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/130182 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Create API for GrVkMemoryAllocator and impliment use of AMD ↵Gravatar Greg Daniel2018-05-25
| | | | | | | | | | | VulkanMemoryAllocator on this API. Bug: skia: Change-Id: I1e122e1b11ab308c2f83cb98c36c81511f4507d0 Reviewed-on: https://skia-review.googlesource.com/129980 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Turn off domain in GrTextureOp when src rect contains entire proxyGravatar Brian Salomon2018-05-25
| | | | | | | | | Move check for turning off domain when nearest/no-aa to GrRenderTargetContext. Change-Id: I3c071b5f73fb3134218453204f30c3020c9dad9a Reviewed-on: https://skia-review.googlesource.com/130143 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Workaround constexpr bug in MSVC 2015 in GrTextureOpGravatar Brian Salomon2018-05-24
| | | | | | | Change-Id: I441858aab5fcd63e5467625a23681c5bcd35f25b Reviewed-on: https://skia-review.googlesource.com/130122 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename GrAtlasTextContext -> GrTextContextGravatar Herb Derby2018-05-24
| | | | | | | | Change-Id: I309b39425afc9b45095241eeb299096bc426afed Reviewed-on: https://skia-review.googlesource.com/130029 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Herb Derby <herb@google.com>
* skip unpremul...premul with only linear ops betweenGravatar Mike Klein2018-05-24
| | | | | | | | Change-Id: I26ed83bb613a83a0fd73f2f8b868b775be1ce968 Reviewed-on: https://skia-review.googlesource.com/130121 Commit-Queue: Mike Klein <mtklein@chromium.org> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* skip transfer functions when not neededGravatar Mike Klein2018-05-24
| | | | | | | | Change-Id: I72e1084e6a14b3c1fa3f0a5c2100f13c6bcb24c7 Reviewed-on: https://skia-review.googlesource.com/130062 Commit-Queue: Mike Klein <mtklein@chromium.org> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* added interface block, vector comparison intrinsics, and mvk integration for ↵Gravatar Timothy Liang2018-05-24
| | | | | | | | | | metal sksl backend Bug: skia: Change-Id: Ia6984ba73482ec377f0890eb79f6ff92ff736749 Reviewed-on: https://skia-review.googlesource.com/129654 Commit-Queue: Timothy Liang <timliang@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* spin off unpremul and opaque testsGravatar Mike Klein2018-05-24
| | | | | | | | | | | | | | - opaque and unpremul are never the same... there's no reason to ever premul opaque sources. - under optimization, they won't always be a deterministic tweak the the premul steps (though right now they still are). Change-Id: I5669b3dba83774326c07d5a8f16b1d2ce2b22aae Reviewed-on: https://skia-review.googlesource.com/130061 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org>
* Remove memory pool use from SkTextBlobCacheGravatar Herb Derby2018-05-24
| | | | | | | | | | Track used size explicitly in the cache enabling DDL to use the LRU. Change-Id: I3fef593e9252172dd160fd7636254550b95ca0a2 Reviewed-on: https://skia-review.googlesource.com/130022 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Make SkImage own its GrContext.Gravatar Brian Salomon2018-05-24
| | | | | | | Change-Id: I86577fab5406ae9ad89d87fa971b0db6e0283cb4 Reviewed-on: https://skia-review.googlesource.com/130020 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* allow divide-by-zero in conicsGravatar Mike Reed2018-05-24
| | | | | | | | Bug: oss-fuzz:6633 Change-Id: Id4cf78d208735d51cc85f78225b7f31619cbd397 Reviewed-on: https://skia-review.googlesource.com/130026 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* skip gamut transform when identityGravatar Mike Klein2018-05-24
| | | | | | | | Change-Id: I3bb3ec19ee856ce4070a58a57b3bb8e8a170a5b9 Reviewed-on: https://skia-review.googlesource.com/130024 Commit-Queue: Mike Klein <mtklein@chromium.org> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* SkColorSpaceXformStepsGravatar Mike Klein2018-05-24
| | | | | | | | | | Lots TODO. Change-Id: I95edb764b85a5140d432adb506c3b537869e6df4 Reviewed-on: https://skia-review.googlesource.com/129933 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org>
* Properly zero in webp if no prior frameGravatar Leon Scroggins III2018-05-24
| | | | | | | | | | | | | | | When erasing the prior frame rect, we need to update the frame rect to take scaling into account. We already do if the prior frame was provided; also do so if it was not provided. Note that this only affects an image with a restore previous frame that is being scaled. webp does not support restore previous, so this will not affect AnimatedImageDrawable in Android. Change-Id: I2d9a4ad45262a0e7afd1134958aff5c6e2ca6687 Reviewed-on: https://skia-review.googlesource.com/115646 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Add support for SkCanvas::kStrict_SrcRectConstraint to GrTextureOp.Gravatar Brian Salomon2018-05-24
| | | | | | | Change-Id: I8faa2838b3110b8080ac48bbe223240e3fb22998 Reviewed-on: https://skia-review.googlesource.com/129762 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Move vulkan layout helpers from GrVkMemory to GrVkImage.Gravatar Greg Daniel2018-05-24
| | | | | | | | Bug: skia: Change-Id: Iebcf5844a0b469dea1e96e351f91239ff512f708 Reviewed-on: https://skia-review.googlesource.com/129934 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* allow div-by-zero in shadow utilsGravatar Mike Reed2018-05-24
| | | | | | | | | | Bug: oss-fuzz:6665 Change-Id: I5cbe02bf574d849340c85c0964d92ece45daac1f Reviewed-on: https://skia-review.googlesource.com/129932 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com> Auto-Submit: Mike Reed <reed@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Move SkYUVAIndex and SkImageSourceChannel to SkImageInfoPriv.h until used in ↵Gravatar Brian Salomon2018-05-24
| | | | | | | | | | public API Change-Id: Ib75be2b6e9eb9b80f1f9e738bc8e3300ddc08f22 Reviewed-on: https://skia-review.googlesource.com/129927 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add GPU perspective support for color emojiGravatar Jim Van Verth2018-05-24
| | | | | | | | | | Will also warp orthogonal bitmaps to handle skew and rotate transforms. Bug: skia:7985 Change-Id: Ib0d5476dd68603354be90c8d404f1e5140d63a0c Reviewed-on: https://skia-review.googlesource.com/129480 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Reland fonts: Cleanup cache miss logging for font remoting.Gravatar Khushal2018-05-24
| | | | | | | | | | | This reverts commit fc6cf92e4b21c92ead769fae557534056eac6d83. TBR=herb@google.com Bug: skia:7913 Change-Id: I93301e49839fdb895a5f1f5845bb9975981c69fc Reviewed-on: https://skia-review.googlesource.com/129880 Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* Reland fonts: Add support for distance field text to font remoting.Gravatar Khushal2018-05-24
| | | | | | | | | | | This reverts commit 7257e22e43a56a5f4f772b687034580061cd011f. TBR=herb@google.com, bsalomon@google.com Bug: skia:7913 Change-Id: I51ca5bccdda64cd98e2ad59874e7136ee58cec10 Reviewed-on: https://skia-review.googlesource.com/129809 Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* ccpr: Handle winding and even-odd in the same shaderGravatar Chris Dalton2018-05-24
| | | | | | | | | | | | | | | We are already waiting for an entire texture lookup anyway. A couple extra flops should still complete before the texture fetch. This also gives us better batching. TBR=bsalomon@google.com Bug: skia: Change-Id: I7b8e3021c8baad200af99600c9592df5ed0e46bd Reviewed-on: https://skia-review.googlesource.com/129881 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com> Auto-Submit: Chris Dalton <csmartdalton@google.com>
* Revert "ccpr: Handle winding and even-odd in the same shader"Gravatar Chris Dalton2018-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5dd3fccb3c7d9fce2663803a1284734237d8546d. Reason for revert: fma() not supported pre-3.1 Original change's description: > ccpr: Handle winding and even-odd in the same shader > > We are already waiting for an entire texture lookup anyway. A couple > extra flops should still complete before the texture fetch. This also > gives us better batching. > > Bug: skia: > Change-Id: I83a7a8ba6c05cd1ad6b1756a987429233e69ed6c > Reviewed-on: https://skia-review.googlesource.com/129422 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,csmartdalton@google.com Change-Id: Iaa6b72686fdf89b58a0ea8418296985c2a3dc27e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/129900 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Alternate between two SkBitmaps in SkAnimatedImageGravatar Leon Scroggins III2018-05-23
| | | | | | | | | | | | | | | | | | | | | | Bug: 78866720 The client in Android calls newPictureSnapshot, which results in copying the mutable SkBitmap into a newly allocated one in each frame. Avoid this by calling SkMakeImageFromRasterBitmap with kNever_SkCopyPixelsMode. Make SkAnimatedImage copy on write, by copying before decoding if the bitmap's pixel ref is not unique. Android's AnimatedImageDrawable's current architecture only decodes one frame in advance, so it will never need to perform the copy on write. This will save one bitmap allocation per GIF frame. Add a test to verify that copy on write works as expected. Change-Id: I87eb6e84089096cd2d618b91fb627fc58677e66a Reviewed-on: https://skia-review.googlesource.com/129841 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com> Auto-Submit: Leon Scroggins <scroggo@google.com>
* Make DNG decodes single threaded on AndroidGravatar Leon Scroggins III2018-05-23
| | | | | | | | | | | | | | | | | Bug: 78878033 Test: testWarpedDng in CtsGraphicsTestCases Previously this was set to 4 threads. For some images, this requires allocating close to 2 GB of memory. This is not something we can support on all devices. Unfortunately, we cannot tell the difference between images that will allocate so much memory, so just use one thread all the time. Change-Id: I9fb9a65af97efd63fac8f6b282525ff3b650968d Reviewed-on: https://skia-review.googlesource.com/129840 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com> Auto-Submit: Leon Scroggins <scroggo@google.com>
* ccpr: Handle winding and even-odd in the same shaderGravatar Chris Dalton2018-05-23
| | | | | | | | | | | | We are already waiting for an entire texture lookup anyway. A couple extra flops should still complete before the texture fetch. This also gives us better batching. Bug: skia: Change-Id: I83a7a8ba6c05cd1ad6b1756a987429233e69ed6c Reviewed-on: https://skia-review.googlesource.com/129422 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* ccpr: Add a mechanism to detach and merge pending pathsGravatar Chris Dalton2018-05-23
| | | | | | | | Bug: skia:7988 Change-Id: Ie3fd7c5d57abdf70db40d309b7a83333045ad972 Reviewed-on: https://skia-review.googlesource.com/129622 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>