aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrRenderTargetContext.cpp
Commit message (Collapse)AuthorAge
* Move one leaf loop from GPU to glyph drawerGravatar Herb Derby2018-07-31
| | | | | | | | | | | | Encapsulate the bitmap inner loop of regenerate in the SkGlyphRunListDrawer. This changed required placing an SkGlyphRunListDrawer in the two TextTargets. Change-Id: I7ef7a2d0074fe898fce4da82d26ea1f47e1f7a98 Reviewed-on: https://skia-review.googlesource.com/144302 Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Herb Derby <herb@google.com>
* For TextureOp + Alpha texture, xform paint color to dest color spaceGravatar Brian Osman2018-07-30
| | | | | | | | | | | This is an unfortunate amount of plumbing for this, but benchmarks confirm that we're better off doing this work in the vertex shader (with a ubyte attribute) than using a float4 attribute. Change-Id: I358d330ee452ea0a89cdd725019c8df2686036a0 Reviewed-on: https://skia-review.googlesource.com/144351 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* const all the thingsGravatar Herb Derby2018-07-27
| | | | | | | | | | | Having the glyph run list be const as it passes through the stack means that future change can't be introduced in the device code that changes behavior. Try to force all text changes into the SkGylphRun system. Change-Id: I9412bc094c7adb8554887c725a6264af306e1d42 Reviewed-on: https://skia-review.googlesource.com/143702 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Use SkGlyphRunListIterator in gpuGravatar Herb Derby2018-07-19
| | | | | | | | | | | | | Instead of using the text blob through the stack start using the glyph run list. This CL is similar to a portion of https://skia-review.googlesource.com/c/skia/+/137224 which was reverted. Change-Id: I1f0619bd2d13523f9af1a68ab27fb26abd086add Reviewed-on: https://skia-review.googlesource.com/141543 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Remove SkDrawFilter.Gravatar Ben Wagner2018-07-12
| | | | | | | | | Change-Id: I0204a9522e828c87bb7c6c20ae34ce51161442af Reviewed-on: https://skia-review.googlesource.com/137895 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Remove clamping of kPlus with F16 configsGravatar Brian Osman2018-07-11
| | | | | | | | | | | | | | | | | The most common use-case for F16 is to draw things that are explicitly outside of [0,1]. We can't prevent out-of-range values in general, users could just draw out-of-range content in src mode. We've decided that it's best to avoid surprising behavior, and trust the user in these situations. This effectively reverts https://skia-review.googlesource.com/c/skia/+/48183 Bug: skia: Change-Id: I71c2dd925c567e2862d96ab70c752f19245a69c4 Reviewed-on: https://skia-review.googlesource.com/140500 Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* added skeletal animation support to GPU backendGravatar Ruiqi Mao2018-07-11
| | | | | | | | | | Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/139282 Bug: skia: Change-Id: Iad8e834aa5bbd085b2dee679cb343c5736c57907 Reviewed-on: https://skia-review.googlesource.com/140383 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
* Revert "added skeletal animation support to GPU backend"Gravatar Joe Gregorio2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d275ef501c8e6ea6444912e22c29e2d13a3dfb53. Reason for revert: Failing to compile on debian9. Original change's description: > added skeletal animation support to GPU backend > > Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/138596 > > Bug: skia: > Change-Id: Ie07f1c76bae65c219ebe93d071bb19f1a30100c2 > Reviewed-on: https://skia-review.googlesource.com/139282 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Ruiqi Mao <ruiqimao@google.com> TBR=robertphillips@google.com,brianosman@google.com,ruiqimao@google.com Change-Id: Ibc0da6ce16f078ff74a2c1bcab30750baff460f7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/140381 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Commit-Queue: Joe Gregorio <jcgregorio@google.com>
* added skeletal animation support to GPU backendGravatar Ruiqi Mao2018-07-10
| | | | | | | | | | | Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/138596 Bug: skia: Change-Id: Ie07f1c76bae65c219ebe93d071bb19f1a30100c2 Reviewed-on: https://skia-review.googlesource.com/139282 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
* Deinline some GrPathRenderer method and one GrDrawingMananger method.Gravatar Brian Salomon2018-07-10
| | | | | | | | | | | | | | Removes circular dependencies from coming change. Some IWYU fallout from removing #includes from GrPathRenderer.h and GrDrawingManager.h Bug: skia: Change-Id: Ice377538e6d64b6a74a59e6140e1de9a58ab99bf Reviewed-on: https://skia-review.googlesource.com/140181 Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "added skeletal animation support to GPU backend"Gravatar Ruiqi Mao2018-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b6307340e8a6a9d3a7517def7f5eaaadffd07d14. Reason for revert: patch/atlas failing in gold Original change's description: > added skeletal animation support to GPU backend > > added caching of SkVertices > > Docs-Preview: https://skia.org/?cl=138596 > Bug: skia: > Change-Id: Ia750f55f5f6d0de250d9e9c5619f4d1ac856f9f5 > Reviewed-on: https://skia-review.googlesource.com/138596 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Ruiqi Mao <ruiqimao@google.com> TBR=robertphillips@google.com,brianosman@google.com,reed@google.com,ruiqimao@google.com Change-Id: Idfaf016a7ff4cdd8af2543d510706f489d04417a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/139281 Reviewed-by: Ruiqi Mao <ruiqimao@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
* added skeletal animation support to GPU backendGravatar Ruiqi Mao2018-07-03
| | | | | | | | | | | | added caching of SkVertices Docs-Preview: https://skia.org/?cl=138596 Bug: skia: Change-Id: Ia750f55f5f6d0de250d9e9c5619f4d1ac856f9f5 Reviewed-on: https://skia-review.googlesource.com/138596 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
* Replace isGammaCorrect with isLinearlyBlendedGravatar Brian Osman2018-07-03
| | | | | | | | | | | | | | | | | | | | We were using isGammaCorrect (presence of a color space) to trigger rendering effects that should only apply when doing linear blending. Rename and redefine that function to fix many of those issues. In a few places, we really do care about the color space. The big win here is text rendering, which is now the same on legacy gl and glsrgb configs. Also left some comments about our desire to do something smarter for text in the future. Bug: skia: Change-Id: I94106e95f5f81aaa0a28dbaccd65f5d94cf0de67 Reviewed-on: https://skia-review.googlesource.com/139109 Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Fix empty stroked oval handling in GrRenderTargetContext::drawOvalGravatar Robert Phillips2018-07-03
| | | | | | | | | | The fix in https://skia-review.googlesource.com/c/skia/+/138932 (Don't reject stroked empty rrects in GPU backend) revealed a similar bug in oval drawing. Bug: skia:8115 Change-Id: I2f864daf2ccabdcdbb49b242cc5ce3682fe7b12a Reviewed-on: https://skia-review.googlesource.com/139120 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Don't reject stroked empty rrects in GPU backendGravatar Robert Phillips2018-07-02
| | | | | | | | Bug: skia:8115 Change-Id: Icaedd332a77c530646e7c2a8687132d729c0ee76 Reviewed-on: https://skia-review.googlesource.com/138932 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Some scissor state cleanup."Gravatar Brian Salomon2018-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a219419c9d76432dca74494b611ff1f59086d139. Reason for revert: breaking things Original change's description: > Some scissor state cleanup. > > Separate flushing the enablement of scissor from the rect in GrGLGpu. > > Move GrPipeline::ScissorState to a global enum and use more broadly. > Rename to GrScissorTest to avoid name conflict with existing > GrScissorState. > > Change-Id: Ib32160b3300bc12de2d2e1761d152fd1bba8b683 > Reviewed-on: https://skia-review.googlesource.com/137395 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Chris Dalton <csmartdalton@google.com> TBR=bsalomon@google.com,csmartdalton@google.com Change-Id: If71a5c5efc86d4239b40675bad2a6cb1f77460f8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/138900 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Some scissor state cleanup.Gravatar Brian Salomon2018-07-02
| | | | | | | | | | | | | Separate flushing the enablement of scissor from the rect in GrGLGpu. Move GrPipeline::ScissorState to a global enum and use more broadly. Rename to GrScissorTest to avoid name conflict with existing GrScissorState. Change-Id: Ib32160b3300bc12de2d2e1761d152fd1bba8b683 Reviewed-on: https://skia-review.googlesource.com/137395 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Revert "Remove drawTextBlob from device use drawGlyphRunList"Gravatar Robert Phillips2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e2e52e46ca63540d429656baeee48fd3a402be26. Reason for revert: See if this is blocking the Chrome roll Original change's description: > Remove drawTextBlob from device use drawGlyphRunList > > Convert all backends to use GlyphRunList instead of > text blobs. If the device did not originally implement > drawTextBlob it will be simulated by drawPosText on the > device. > > Other changes: > Change to using an origin from absolulte positioning. The GPU > code uses origin change to update blobs under translation. > > Change cluster to use const uint32_t instead of just > uint32_t. > > Add SkPaint to runs. > > The draw filter is hosted up to the canavas level and applied there. > > Change-Id: Ib105b6bd26b67db55f1c954e37c79fbdcaa9d4a2 > Reviewed-on: https://skia-review.googlesource.com/137224 > Reviewed-by: Herb Derby <herb@google.com> > Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> > Reviewed-by: Hal Canary <halcanary@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=jvanverth@google.com,halcanary@google.com,bungeman@google.com,herb@google.com,reed@google.com,khushalsagar@chromium.org,khushalsagar@google.com Change-Id: I4d93a534990c89deee7d3aaa00ec40d47e0d2ece No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/138120 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove drawTextBlob from device use drawGlyphRunListGravatar Herb Derby2018-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | Convert all backends to use GlyphRunList instead of text blobs. If the device did not originally implement drawTextBlob it will be simulated by drawPosText on the device. Other changes: Change to using an origin from absolulte positioning. The GPU code uses origin change to update blobs under translation. Change cluster to use const uint32_t instead of just uint32_t. Add SkPaint to runs. The draw filter is hosted up to the canavas level and applied there. Change-Id: Ib105b6bd26b67db55f1c954e37c79fbdcaa9d4a2 Reviewed-on: https://skia-review.googlesource.com/137224 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> Reviewed-by: Hal Canary <halcanary@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Move op memory storage to GrContext (take 2)Gravatar Robert Phillips2018-06-19
| | | | | | | | | | TBR=bsalomon@google.com Change-Id: I4a448694d4114d83cd3a720cfc8bd37de51733d1 Reviewed-on: https://skia-review.googlesource.com/135707 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Include sRGB -> Linear in the cached "from sRGB" xformGravatar Brian Osman2018-06-15
| | | | | | | | | | | | | | | This simplifies the handling of paint color conversion, as well as GrDrawVerticesOp and the default geometry processor. We don't need to track "linearize" separate from the color space xform. We only supply an xform if needed. The linearize is now done automatically by the xform, though we aren't converting to destination gamma. https://skia-review.googlesource.com/c/skia/+/132090 will fix that. Change-Id: I0af3f29c123c3dadb818f87c5d295bc78e2ff079 Reviewed-on: https://skia-review.googlesource.com/135141 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Move op memory storage to GrContext"Gravatar Robert Phillips2018-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c8cee446bf9c07da8848bbd032abf26e79966ac1. Reason for revert: TSAN issues Original change's description: > Move op memory storage to GrContext > > TBR=bsalomon@google.com > Change-Id: Ifa95bf0073b9d948f2c937d10088b7734b971f90 > Reviewed-on: https://skia-review.googlesource.com/131500 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Ia0d2b7408314d9b67d57388315376bbea23d3780 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/135181 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Move op memory storage to GrContextGravatar Robert Phillips2018-06-15
| | | | | | | | | TBR=bsalomon@google.com Change-Id: Ifa95bf0073b9d948f2c937d10088b7734b971f90 Reviewed-on: https://skia-review.googlesource.com/131500 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Plumb GrContext everywhereGravatar Robert Phillips2018-06-12
| | | | | | | | | | There is no good way to split the monster CL up. This breaks out the GrContext plumbing but doesn't use it. Change-Id: I90856d428d372bcec3f8821e6364667b367927d4 Reviewed-on: https://skia-review.googlesource.com/133382 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add a factory to any GrOp-derived class that lacked oneGravatar Robert Phillips2018-06-08
| | | | | | | | | All GrOp-derived classes are going to have allocate their memory in a GrMemoryPool. Change-Id: Ifa410b05eecd9b68c39dcc15dd4298d617204c13 Reviewed-on: https://skia-review.googlesource.com/132828 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Reland "Have draw(Text|PosText|PosTextH) use a single entry on the device"Gravatar Herb Derby2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 74b390d6b136a60f1df15ac5ecd19bd8ad5a394b. Reason for revert: reverting to add patch for valgrind Original change's description: > Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device" > > This reverts commit 4225b3220ef4bf50f0d9403f812ea94d50c4ee59. > > Reason for revert: made valgrind unhappy. > > Original change's description: > > Have draw(Text|PosText|PosTextH) use a single entry on the device > > > > Handle the positioning of drawText at the canvas layer. Simplify > > the code by removing similar implementations. > > > > Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 > > Reviewed-on: https://skia-review.googlesource.com/127131 > > Reviewed-by: Ben Wagner <bungeman@google.com> > > Commit-Queue: Herb Derby <herb@google.com> > > TBR=jvanverth@google.com,bungeman@google.com,herb@google.com > > Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/132403 > Reviewed-by: Hal Canary <halcanary@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> TBR=jvanverth@google.com,halcanary@google.com,bungeman@google.com,herb@google.com Change-Id: I9bbb73aac447b51eb8215ac42331759fa4c9fa45 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/132580 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device"Gravatar Hal Canary2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4225b3220ef4bf50f0d9403f812ea94d50c4ee59. Reason for revert: made valgrind unhappy. Original change's description: > Have draw(Text|PosText|PosTextH) use a single entry on the device > > Handle the positioning of drawText at the canvas layer. Simplify > the code by removing similar implementations. > > Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 > Reviewed-on: https://skia-review.googlesource.com/127131 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=jvanverth@google.com,bungeman@google.com,herb@google.com Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/132403 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Have draw(Text|PosText|PosTextH) use a single entry on the deviceGravatar Herb Derby2018-06-05
| | | | | | | | | | Handle the positioning of drawText at the canvas layer. Simplify the code by removing similar implementations. Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 Reviewed-on: https://skia-review.googlesource.com/127131 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Dest color space no longer impacts mipmaps or texture samplingGravatar Brian Osman2018-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PS5: Removes SkDestinationSurfaceColorMode, tracking of mipmap mode on GrTexture, sRGB decode state per-texture. Because we were often choosing sRGB configs for RGB color types, legacy rendering would then be incorrect (too dark). So... PS7: Stops ever using sRGB pixel configs when translating image info or color type. Also removes a bunch of GrCaps bits and a GrContextOption that are no longer relevant. PS9: Adjusts surface creation unit test expectations, and changes the raster rules accordingly. At this point, sRGB configs are (obviously) going to be broken. Locally, I ran 8888, gl, and the gbr- versions of both. Across all GMs x configs, there are 13 diffs. 12 are GMs that create surfaces with a color-space attached (and thus, the offscreen is no longer getting sRGB pixel config). The only remainder constructs an SkPictureImageGenerator, (with an attached color space) and renders it to the gbr-gl canvas, which triggers a a tagged surface inside the generator. Bug: skia: Change-Id: Ie5edfa157dd799f3121e8173fc4f97f6c8ed6789 Reviewed-on: https://skia-review.googlesource.com/131282 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@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 "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 "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>
* 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>
* 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>
* 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>
* Add perspective support to GrTextureOp.Gravatar Brian Salomon2018-05-21
| | | | | | | | Bug: skia: Change-Id: Idea4ffae37dc2c2f339af60a2b74ded476091758 Reviewed-on: https://skia-review.googlesource.com/127600 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rewrite GrQuad to use separate arrays of x and y values to be Sk4f friendly.Gravatar Brian Salomon2018-05-17
| | | | | | | Change-Id: Ie2ad197c5f17849fe6e034b60bc7ec18a00edb24 Reviewed-on: https://skia-review.googlesource.com/128842 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make GrCaps and GrShaderCaps private.Gravatar Brian Salomon2018-05-11
| | | | | | | | | Moves getCaps() from GrContext to GrContextPriv and removes unused refCaps(). Change-Id: Ic6a8951b656c0d1b2773eae73bff8e88af819866 Reviewed-on: https://skia-review.googlesource.com/127389 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Avoid rerunning path renderer chain when path known to require swGravatar Brian Salomon2018-05-08
| | | | | | | Change-Id: If8bdeadf95543917a6e00570b5806a3ee23aa335 Reviewed-on: https://skia-review.googlesource.com/126508 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make GPU lattice/nine patch not bleed across cells.Gravatar Brian Salomon2018-05-07
| | | | | | | | | | | | | Consolidate code for handling various image/bitmap and lattice/ninepatch flavors. Makes refTextureForParams virtual on GrTextureProducer. Previously both subclasses had non-virtual flavors of this. Bug: b/77917978 Change-Id: I14787faef33c4617ef359039e81453d683f33ff1 Reviewed-on: https://skia-review.googlesource.com/125520 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove could not invert matrix SkDebugfsGravatar Brian Salomon2018-05-04
| | | | | | | Change-Id: I547513b816bdbf58e7628ae3d50c2597b173537f Reviewed-on: https://skia-review.googlesource.com/126080 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Reland "Revert "Add arcs as a specialized geometry to GrShape."""Gravatar Brian Salomon2018-04-26
| | | | | | | | | | This reverts commit 580aee2fa4a57bf8208498fbc23acea04e16e092. Bug: skia:7794 Change-Id: I9c2b923859c826dff58c22c529dc4e2ab4d0f186 Reviewed-on: https://skia-review.googlesource.com/124042 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Reland "Revert "Add arcs as a specialized geometry to GrShape.""Gravatar Brian Salomon2018-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8a98bc96748d1bdaf9c2d8cfa0b672e3a035973d. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Revert "Add arcs as a specialized geometry to GrShape."" > > This reverts commit af88ec37124846a0168a4ab061bf10cc6030c2d6. > > Bug: skia:7794 > Change-Id: I2d0e1d7b4e025481241d823b09f5de5d0f1a13eb > Reviewed-on: https://skia-review.googlesource.com/123627 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ib09a533600028b76a69b455c952f3dd12b39bdba No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7794 Reviewed-on: https://skia-review.googlesource.com/123780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Add arcs as a specialized geometry to GrShape.""Gravatar Brian Salomon2018-04-25
| | | | | | | | | | This reverts commit af88ec37124846a0168a4ab061bf10cc6030c2d6. Bug: skia:7794 Change-Id: I2d0e1d7b4e025481241d823b09f5de5d0f1a13eb Reviewed-on: https://skia-review.googlesource.com/123627 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Minor shadow fixes.Gravatar Jim Van Verth2018-04-24
| | | | | | | | | | | | | | | Fix inset value for analytic shadows to get full inset (and hence proper falloff). Fix compute_radial_values in tessellator to return only positive values and produce cleaner arcs. Adjust shadow params in Android sample to match Android. Fix corner calculation for analytic shadow. Bug: skia:7486 Change-Id: Ib393b5d577f5a5eb89d3388aa4726ea4dae37055 Reviewed-on: https://skia-review.googlesource.com/123220 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Add arcs as a specialized geometry to GrShape."Gravatar Mike Klein2018-04-24
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 255bcf57ffd9db368cd66ca9697549efd799153e. Reason for revert: layout and scuba image diffs Original change's description: > Add arcs as a specialized geometry to GrShape. > > BUG: skia:7794 > > Change-Id: I484693711f48e55631732a0f4ee97e2848dec89d > Reviewed-on: https://skia-review.googlesource.com/122900 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I9293b8fbb535d940bca5fc30a95908416b9eb7a7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/123362 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Add arcs as a specialized geometry to GrShape.Gravatar Brian Salomon2018-04-23
| | | | | | | | | BUG: skia:7794 Change-Id: I484693711f48e55631732a0f4ee97e2848dec89d Reviewed-on: https://skia-review.googlesource.com/122900 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Remove ambient clamp hack for analytic shadows."Gravatar Jim Van Verth2018-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d75b34394b5c53b0a5e8144dd28f956fbc8b90b2. Reason for revert: Breaking GMs Original change's description: > Remove ambient clamp hack for analytic shadows. > > The hack was added to make analytic ambient shadows match the geometric > ones exactly. Removing it does produce a slight difference, but it's > only visible at full black values (and then, only slightly) and this > makes room to pass a blend parameter for falloff. > > Also fixes an issue with filling out arcs in the shadow tesselator. > > Bug: skia:7486 > Change-Id: If78d0104df7e18f4320c1658af75576f6a4a8c73 > Reviewed-on: https://skia-review.googlesource.com/122580 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia:7486 Change-Id: If0a20a358759c08a3a475d60be54a3d62ff7b6ad Reviewed-on: https://skia-review.googlesource.com/123120 Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Reland "Prevent masked solid-color draws from being turned into clears"Gravatar Robert Phillips2018-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f92bb3785fa8015cde9f379be52dedfce5abc290. Reason for revert: The new unit test has been suppressed on ANGLE Original change's description: > Revert "Prevent masked solid-color draws from being turned into clears" > > This reverts commit e9f2bbe082e9e1eb9d76e3043adedc9443427d8d. > > Reason for revert: ANGLE > > Original change's description: > > Prevent masked solid-color draws from being turned into clears > > > > GrRenderTargetContext::drawRect was eliding a BlurMask filtered circle. > > > > Bug: skia:7765 > > Change-Id: Id98c059f7d786ee5c9bca839c8e099997ff2aedb > > Reviewed-on: https://skia-review.googlesource.com/122793 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: I1b7752eab0fcf55ab6248eed587fd85d438efd78 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:7765 > Reviewed-on: https://skia-review.googlesource.com/122960 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: If432c24548ef0f6df4fd6a06aa3b1fb38ba793b8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7765 Reviewed-on: https://skia-review.googlesource.com/123000 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>