aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/SkGpuDevice.h
Commit message (Collapse)AuthorAge
* 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>
* Device interface uses glyph run listGravatar Herb Derby2018-07-16
| | | | | | | | | | | | | Have devices just treat all runs as drawPosText except for SkGPUDevice and SkRemoteGlyphCache. Those two just pass the blob to the old code. This way the change over from blobs to run lists can happen in smaller steps. Change-Id: I3407bffeafe7fbd1c369f6b3c3db8d64b4b6c3b1 Reviewed-on: https://skia-review.googlesource.com/141300 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@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>
* 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>
* 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>
* skeletal animation support added to API and software backendGravatar Ruiqi Mao2018-06-29
| | | | | | | | | | | | SkCanvas::drawVertices now supports overloads that take an array of bone deformation matrices. SkVertices::MakeCopy and SkVertices::Builder now support two additional optional attributes, boneIndices and boneWeights. Bug: skia: Change-Id: I30a3b11691e7cdb13924907cc1401ff86d127aea Reviewed-on: https://skia-review.googlesource.com/137221 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@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>
* 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>
* 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>
* 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 SkPaint::kGenA8FromLCD_Flag.Gravatar Ben Wagner2018-04-16
| | | | | | | | | | | | | The original intent of this flag is now handled by SkPixelGeomety on SkSurfaceProps on SkSurface. BUG=skia:7515 Change-Id: I54bb1be072b5b5b2164a59196bfeacac254823c7 Reviewed-on: https://skia-review.googlesource.com/121346 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* remove unused declarationsGravatar Mike Reed2018-01-03
| | | | | | | | Bug: skia: Change-Id: If8ca5e3d649dab3cf8b2bdb1cf072ff23cea9465 Reviewed-on: https://skia-review.googlesource.com/90026 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add hint to SkSurface::MakeRenderTarget that we will use mipsGravatar Greg Daniel2017-10-23
| | | | | | | | | | | Additionally this changed triggered a cascade of plumbing GrMipMapped down throughout Ganesh. Bug: skia: Change-Id: I4181f44d9046d66139bb491c7abf86703305aaeb Reviewed-on: https://skia-review.googlesource.com/63000 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Rework GrSamplerParams to be more compact and use its own wrap mode enum.Gravatar Brian Salomon2017-09-07
| | | | | | | | | The main change is to make GrSamplerParams smaller by making its enums have byte-sized underlying types. The rest is cosmetic. Change-Id: Ib71ea50612d24619a85e463826c6b8dfb9b445e3 Reviewed-on: https://skia-review.googlesource.com/43200 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Retract Gr*Priv.h includes a bitGravatar Robert Phillips2017-08-31
| | | | | | | Change-Id: Ic2bfd83b6e6bcc5ea1591427683085637eb5a6cc Reviewed-on: https://skia-review.googlesource.com/41360 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Revert "Revert "Add GrTextureOp and use to implement ↵Gravatar Brian Salomon2017-08-28
| | | | | | | | | | | SkGpuDevice::drawImage[Rect]() when possible"""" This reverts commit a184ac7e0cdb26919369151f606c194358c94ff5. Change-Id: I2a4a1b713fd998ba33a5f85a34be1645438a7ac9 Reviewed-on: https://skia-review.googlesource.com/39400 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Revert "Add GrTextureOp and use to implement ↵Gravatar Brian Salomon2017-08-22
| | | | | | | | | | | | SkGpuDevice::drawImage[Rect]() when possible""" This reverts commit 20af6d12eefd8d937bc13bdb7fa0a9ac86b699af. Performance regressions on Android and Flutter Change-Id: If70edbe85aa251f298eddf18a89ba2cf56ed94fb Reviewed-on: https://skia-review.googlesource.com/37340 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Add GrTextureOp and use to implement ↵Gravatar Brian Salomon2017-08-18
| | | | | | | | | | | | SkGpuDevice::drawImage[Rect]() when possible"" This reverts commit ceef4fb5c498003be77a32a46cedfbf5da22a274. Bug: skia: Change-Id: I50b738169b4cf9e06cbe0b5fad0234b506717b66 Reviewed-on: https://skia-review.googlesource.com/36201 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Add GrTextureOp and use to implement SkGpuDevice::drawImage[Rect]() ↵Gravatar Brian Salomon2017-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | when possible" This reverts commit 3fd295550f8c4fecd4bc61ce916738d49310eb67. Reason for revert: breaking things Original change's description: > Add GrTextureOp and use to implement SkGpuDevice::drawImage[Rect]() when possible > > This op draws a texture rectangle in src over blending with no edge antialiasing. It less powerful than NonAAFillRectOp/GrPaint but has less CPU overhead. > > Change-Id: Ia6107bb67c1c2a83de14c665aff64b0de2750fba > Reviewed-on: https://skia-review.googlesource.com/33802 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=djsollen@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com Change-Id: I9cdbeeac15b17d2d6b3385560ed826397c0373c6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/36220 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add GrTextureOp and use to implement SkGpuDevice::drawImage[Rect]() when ↵Gravatar Brian Salomon2017-08-18
| | | | | | | | | | | possible This op draws a texture rectangle in src over blending with no edge antialiasing. It less powerful than NonAAFillRectOp/GrPaint but has less CPU overhead. Change-Id: Ia6107bb67c1c2a83de14c665aff64b0de2750fba Reviewed-on: https://skia-review.googlesource.com/33802 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Revert "Revert "Add support for semaphores to be inserted on ↵Gravatar Greg Daniel2017-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrContext flush"""" This reverts commit cc8eb60c486eaf397685c60b28998682025fee1a. Reason for revert: Chrome change landed that should fix chrome roll Original change's description: > Revert "Revert "Revert "Add support for semaphores to be inserted on GrContext flush""" > > This reverts commit 876aed8758b7109574999ffac43b1ea47f359bd7. > > Reason for revert: the bots seem to be unhappily red with this CL > > Original change's description: > > Revert "Revert "Add support for semaphores to be inserted on GrContext flush"" > > > > This reverts commit 8724b4609996eb6369b454611e31b065f3d8d2cf. > > > > Reason for revert: Creating a test CL to see what happens on the bots > > > > Original change's description: > > > Revert "Add support for semaphores to be inserted on GrContext flush" > > > > > > This reverts commit cd1416efbc7af6f115dbaa09dce48e075d1d96ca. > > > > > > Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths > > > > > > Original change's description: > > > > Add support for semaphores to be inserted on GrContext flush > > > > > > > > This also moves the logic of inserting semaphores down into GrDrawingManager > > > > and finishFlush on GrGpu. With it being on finishFlush, there should be no > > > > issues when the DrawingManager starts respecting the proxy passed in assuming > > > > it always calls finishFlush at the end (which it should). > > > > > > > > Bug: skia: > > > > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7 > > > > Reviewed-on: https://skia-review.googlesource.com/25641 > > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com > > > > > > Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Bug: skia: > > > Reviewed-on: https://skia-review.googlesource.com/25980 > > > Reviewed-by: Mike Reed <reed@google.com> > > > Commit-Queue: Mike Reed <reed@google.com> > > > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: skia: > > Change-Id: I5edbeaa0769670ee58f362f0ccaa78319410aa6c > > Reviewed-on: https://skia-review.googlesource.com/26160 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com > > Change-Id: I22fd6febafe70489a5fdb695c6f4263368eb423d > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/29422 > Reviewed-by: Yuqian Li <liyuqian@google.com> > Commit-Queue: Yuqian Li <liyuqian@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,liyuqian@google.com,reed@google.com Change-Id: Ie3eae818b02599a70f714ef6b6635ce7d171bde6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/30000 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Revert "Add support for semaphores to be inserted on ↵Gravatar Yuqian Li2017-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrContext flush""" This reverts commit 876aed8758b7109574999ffac43b1ea47f359bd7. Reason for revert: the bots seem to be unhappily red with this CL Original change's description: > Revert "Revert "Add support for semaphores to be inserted on GrContext flush"" > > This reverts commit 8724b4609996eb6369b454611e31b065f3d8d2cf. > > Reason for revert: Creating a test CL to see what happens on the bots > > Original change's description: > > Revert "Add support for semaphores to be inserted on GrContext flush" > > > > This reverts commit cd1416efbc7af6f115dbaa09dce48e075d1d96ca. > > > > Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths > > > > Original change's description: > > > Add support for semaphores to be inserted on GrContext flush > > > > > > This also moves the logic of inserting semaphores down into GrDrawingManager > > > and finishFlush on GrGpu. With it being on finishFlush, there should be no > > > issues when the DrawingManager starts respecting the proxy passed in assuming > > > it always calls finishFlush at the end (which it should). > > > > > > Bug: skia: > > > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7 > > > Reviewed-on: https://skia-review.googlesource.com/25641 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com > > > > Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/25980 > > Reviewed-by: Mike Reed <reed@google.com> > > Commit-Queue: Mike Reed <reed@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: skia: > Change-Id: I5edbeaa0769670ee58f362f0ccaa78319410aa6c > Reviewed-on: https://skia-review.googlesource.com/26160 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com Change-Id: I22fd6febafe70489a5fdb695c6f4263368eb423d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/29422 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "Revert "Add support for semaphores to be inserted on GrContext flush""Gravatar Greg Daniel2017-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8724b4609996eb6369b454611e31b065f3d8d2cf. Reason for revert: Creating a test CL to see what happens on the bots Original change's description: > Revert "Add support for semaphores to be inserted on GrContext flush" > > This reverts commit cd1416efbc7af6f115dbaa09dce48e075d1d96ca. > > Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths > > Original change's description: > > Add support for semaphores to be inserted on GrContext flush > > > > This also moves the logic of inserting semaphores down into GrDrawingManager > > and finishFlush on GrGpu. With it being on finishFlush, there should be no > > issues when the DrawingManager starts respecting the proxy passed in assuming > > it always calls finishFlush at the end (which it should). > > > > Bug: skia: > > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7 > > Reviewed-on: https://skia-review.googlesource.com/25641 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com > > Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/25980 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,reed@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: I5edbeaa0769670ee58f362f0ccaa78319410aa6c Reviewed-on: https://skia-review.googlesource.com/26160 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Add support for semaphores to be inserted on GrContext flush"Gravatar Mike Reed2017-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cd1416efbc7af6f115dbaa09dce48e075d1d96ca. Reason for revert: speculative, to try to fix roll see gpu_tests.pixel_integration_test.PixelIntegrationTest.Pixel_GpuRasterization_ConcavePaths Original change's description: > Add support for semaphores to be inserted on GrContext flush > > This also moves the logic of inserting semaphores down into GrDrawingManager > and finishFlush on GrGpu. With it being on finishFlush, there should be no > issues when the DrawingManager starts respecting the proxy passed in assuming > it always calls finishFlush at the end (which it should). > > Bug: skia: > Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7 > Reviewed-on: https://skia-review.googlesource.com/25641 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I9c5b9cf8c060193e1861dbb8f0c10fb11dfb5249 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/25980 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add support for semaphores to be inserted on GrContext flushGravatar Greg Daniel2017-07-22
| | | | | | | | | | | | | This also moves the logic of inserting semaphores down into GrDrawingManager and finishFlush on GrGpu. With it being on finishFlush, there should be no issues when the DrawingManager starts respecting the proxy passed in assuming it always calls finishFlush at the end (which it should). Bug: skia: Change-Id: I925c2a289dcbbb9159b9120878af1d34f21a2dc7 Reviewed-on: https://skia-review.googlesource.com/25641 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* clean read/write pixels signatures, augment SkSurface APIGravatar Mike Reed2017-07-21
| | | | | | | | | | | For now, not adding writePixels to surface, since it appears we may not be able to remove writePixels from canvas :( Bug: skia:3216 Change-Id: I64ccebb31effacffe615ae4537fb46a161a6768d Reviewed-on: https://skia-review.googlesource.com/25562 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* SkDevice::drawBitmap takes x,y, not matrixGravatar Hal Canary2017-06-27
| | | | | | | | | Motivation: a simpler call should make it easier for SkPDF to learn how to do drawBitmap with A8 bitmap and a maskfilter. Change-Id: I1a5d190b40b0e9e08fa8876d265a9835a3e9987d Reviewed-on: https://skia-review.googlesource.com/20961 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Add return to surface semaphore calls to indicate when we don't support themGravatar Greg Daniel2017-06-19
| | | | | | | | Bug: skia: Change-Id: I00118637bf6555278ca61707275ed60372de581d Reviewed-on: https://skia-review.googlesource.com/20061 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Add API for flushing surfaces with gpu semaphores""Gravatar Greg Daniel2017-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7292231905c34ed290ba479338f26b56ae2a7792. This change relands the original plus the follow on change: https://skia-review.googlesource.com/20059. Additionally it adds a blacklist for the mac intel bots which don't see to respect the added fences on the GPU. Original change's description: > Revert "Add API for flushing surfaces with gpu semaphores" > > This reverts commit 66366c697853e906d961ae691e2bc5209cdcfa62. > > Reason for revert: Failing test on mac bots > > Original change's description: > > Add API for flushing surfaces with gpu semaphores > > > > BUG=skia: > > > > Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1 > > Reviewed-on: https://skia-review.googlesource.com/11488 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Reviewed-by: Forrest Reiling <freiling@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com > > Change-Id: I75633a2732d2d48b1926f9ad818a9f1a9196d211 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/20063 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com Change-Id: I4dc6c0e1deb0398eeb165a34f0a26af7a58259f1 Reviewed-on: https://skia-review.googlesource.com/20141 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Add API for flushing surfaces with gpu semaphores"Gravatar Greg Daniel2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 66366c697853e906d961ae691e2bc5209cdcfa62. Reason for revert: Failing test on mac bots Original change's description: > Add API for flushing surfaces with gpu semaphores > > BUG=skia: > > Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1 > Reviewed-on: https://skia-review.googlesource.com/11488 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Reviewed-by: Forrest Reiling <freiling@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com Change-Id: I75633a2732d2d48b1926f9ad818a9f1a9196d211 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20063 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add API for flushing surfaces with gpu semaphoresGravatar Greg Daniel2017-06-15
| | | | | | | | | | BUG=skia: Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1 Reviewed-on: https://skia-review.googlesource.com/11488 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Forrest Reiling <freiling@google.com>
* move shadows to device virtualGravatar Mike Reed2017-05-17
| | | | | | | | | | | | | This CL keeps the impl for each device backend in the utils file for simplicity (shared helpers). Future CLs may move into their respective impl as they become more specialized. Bug: skia: Change-Id: I97ce6cdcc5106ebf4c84778f943cc32d0b7613c1 Reviewed-on: https://skia-review.googlesource.com/15893 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Initial clip-mask-layer supportGravatar Florin Malita2017-05-01
| | | | | | | | | | | | | | SkBitmapDevice-only implementation. Will add A8 fast path specializations in a follow-up. Change-Id: I2ccb1ffba3689e92ac90a23e94737471dfb121a1 BUG=skia:6005 Change-Id: I2ccb1ffba3689e92ac90a23e94737471dfb121a1 Reviewed-on: https://skia-review.googlesource.com/14183 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* move vertex-mode enum into SkVerticesGravatar Mike Reed2017-04-03
| | | | | | | | | BUG=skia:6366 Change-Id: I3c0bf96cce6d32c9b8d12d16a772aaa6f18981aa Reviewed-on: https://skia-review.googlesource.com/11062 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Make SkImage_Gpu be deferred (take 2)Gravatar Robert Phillips2017-03-22
| | | | | | | | | | | | | | This CL removes the GrTexture-based ctor forcing everyone to create deferred SkImage_Gpus. relanding of: https://skia-review.googlesource.com/c/6680/ (Make SkImage_Gpu be deferred) split out into: https://skia-review.googlesource.com/c/9106/ (Remove atlas creation from GrResourceProvider) Change-Id: I834ede430b9706cf9b675bdfdddf1c8c624c2f14 Reviewed-on: https://skia-review.googlesource.com/9965 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Make SkImage_Gpu be deferred"Gravatar Robert Phillips2017-03-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0db235bc0278887c344eb25b4681e9cca4cf892a. Reason for revert: cc_unittests failing Original change's description: > Make SkImage_Gpu be deferred > > This CL removes the GrTexture-based ctor forcing everyone to create deferred SkImage_Gpus. > > split out into: > https://skia-review.googlesource.com/c/9106/ (Remove atlas creation from GrResourceProvider) > > Change-Id: I266bbe089c242fe54d5b7adcc7895aa5a39440a0 > Reviewed-on: https://skia-review.googlesource.com/6680 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ia15590a1fae04b52723713760fdbf0492ad36286 Reviewed-on: https://skia-review.googlesource.com/9962 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Make SkImage_Gpu be deferredGravatar Robert Phillips2017-03-21
| | | | | | | | | | | | This CL removes the GrTexture-based ctor forcing everyone to create deferred SkImage_Gpus. split out into: https://skia-review.googlesource.com/c/9106/ (Remove atlas creation from GrResourceProvider) Change-Id: I266bbe089c242fe54d5b7adcc7895aa5a39440a0 Reviewed-on: https://skia-review.googlesource.com/6680 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* remove legacy vertices virtual from SkDeviceGravatar Mike Reed2017-03-19
| | | | | | | | | BUG=skia:6366 Change-Id: I9fb49538f358343a7c2e4541d0044d961ac1b54d Reviewed-on: https://skia-review.googlesource.com/9870 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert[2] "More SkVertices implementation work""Gravatar Mike Reed2017-03-17
| | | | | | | | | | | | | | The fix was to release the array of vertices in the picturerecorder destructor (where we also release textblobs etc. This reverts commit 1eb3fef136bc75bd8e8ed717ec7c5d4ab26def62. BUG=skia: Change-Id: I3bf4acd6ad209205b0832a3cb7f94cd89dfcefc5 Reviewed-on: https://skia-review.googlesource.com/9826 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "More SkVertices implementation work"Gravatar Mike Reed2017-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 14583e11fd622c686993b741499060a6f3527055. Reason for revert: leaking Direct leak of 499104 byte(s) in 2112 object(s) allocated from: #0 0x1e195f0 in operator new(unsigned long) (/b/swarm_slave/w/irazbR79/out/Debug/dm+0x1e195f0) #1 0x3142b0a in SkVertices::Builder::init(SkCanvas::VertexMode, int, int, SkVertices::Sizes const&) (/b/swarm_slave/w/irazbR79/out/Debug/dm+0x3142b0a) Original change's description: > More SkVertices implementation work > > - change virtuals to take const SkVertices*, as we do for TextBobs and Images > - override onDrawVerticesObject in recording canvases > - deserialize raw-vertices into SkVertices object > > Possibly a follow-on would intercept the raw-form directly in canvas, > and remove the virtual, and only support the object form. > > BUG=skia:6366 > > Change-Id: I57a932667ccb3b3b004beb802ac3ae6898e3c6e0 > Reviewed-on: https://skia-review.googlesource.com/9633 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6366 Change-Id: I40bb7a20698ef6aa0a9ef71a3d6ac4c1473e081c Reviewed-on: https://skia-review.googlesource.com/9825 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* More SkVertices implementation workGravatar Mike Reed2017-03-17
| | | | | | | | | | | | | | | | - change virtuals to take const SkVertices*, as we do for TextBobs and Images - override onDrawVerticesObject in recording canvases - deserialize raw-vertices into SkVertices object Possibly a follow-on would intercept the raw-form directly in canvas, and remove the virtual, and only support the object form. BUG=skia:6366 Change-Id: I57a932667ccb3b3b004beb802ac3ae6898e3c6e0 Reviewed-on: https://skia-review.googlesource.com/9633 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove GrClipsStackClip member from SkGpuDeviceGravatar Brian Salomon2017-03-13
| | | | | | | Change-Id: Ibfbfeda86e3d6a819bf198af5c36852744897fb8 Reviewed-on: https://skia-review.googlesource.com/9635 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Make SkGr.h private and remove unused functionsGravatar Brian Osman2017-03-08
| | | | | | | | | BUG=skia: Change-Id: I6699d00c5412ed9d9bf14b032a08b06b1c766bce Reviewed-on: https://skia-review.googlesource.com/9398 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>