aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrTextureOpList.h
Commit message (Collapse)AuthorAge
* 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>
* 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 ability to dump opList info at flush-timeGravatar Robert Phillips2018-04-20
| | | | | | | | | When debugging DDL it is useful to just see which ops are being drawn instead of the entire reordering history. Change-Id: I89708fecbd53c097b00e65b0da426bfb8046b0ee Reviewed-on: https://skia-review.googlesource.com/122780 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove Ops whose lazy proxies fail to instantiate on flushGravatar Greg Daniel2018-01-29
| | | | | | | | Bug: skia: Change-Id: If8b5b9e5d0c306be28ba192b731d34d185427354 Reviewed-on: https://skia-review.googlesource.com/99440 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove instanced renderingGravatar Brian Salomon2017-12-08
| | | | | | | Change-Id: I4219b1d23a647b849ee41fe71b53e1c45edfc3f4 Reviewed-on: https://skia-review.googlesource.com/82241 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename GrOpList::reset to endFlushGravatar Chris Dalton2017-10-04
| | | | | | | | Bug: skia:7111 Change-Id: I9e48224c7edcc51bd0368cb7c115acbc3bf8da16 Reviewed-on: https://skia-review.googlesource.com/54500 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Land scaffolding for explicit MDB resource allocationGravatar Robert Phillips2017-09-14
| | | | | | | Change-Id: I1cb30b50068e99181788181683e82e2421d0038a Reviewed-on: https://skia-review.googlesource.com/46701 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add GrPrepareCallback, always run at the start of flushGravatar Brian Osman2017-08-22
| | | | | | | | | | | | This is like an op, but only has one virtual, and always runs before any ops prepare. To be used in threaded software mask rendering (to schedule ASAP uploads). Bug: skia: Change-Id: I647482e2472d7321f3685e5bdbe49e10ac59c0b1 Reviewed-on: https://skia-review.googlesource.com/37160 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Move copy operation from GrRenderTargetContext/GrTextureContext to ↵Gravatar Robert Phillips2017-06-28
| | | | | | | | | GrSurfaceContext Change-Id: I5f48ce9978370f07238a7318ccb6270e10069c92 Reviewed-on: https://skia-review.googlesource.com/21104 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Update copyOp to split-opList worldGravatar Robert Phillips2017-06-01
| | | | | | | Change-Id: Ib18fc0a589185b11b21241e50acb7b506c44bfac Reviewed-on: https://skia-review.googlesource.com/17325 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* update GrOp printoutsGravatar Robert Phillips2017-06-01
| | | | | | | Change-Id: I19ac4ec7849e5eaae1726a746ac2051d5861e12f Reviewed-on: https://skia-review.googlesource.com/18304 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Update clearOp for split-OpList world (take 3)Gravatar Robert Phillips2017-05-31
| | | | | | | | | | | It would reduce a lot of noise if the GrRenderTargetOpList kept a pointer to the GrCaps but, for now, I'm trying to shrink the GrRTOpList, not expand it. Reland of: https://skia-review.googlesource.com/c/17323/ (Update clearOp for split-OpList world) Change-Id: Ia61ce4d6ce245380fc9651928a46c22039fc12cf Reviewed-on: https://skia-review.googlesource.com/18026 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove RenderTarget pointer from GrRenderTargetOpList::RecordedOpGravatar Robert Phillips2017-05-17
| | | | | | | | | Change-Id: I08afe531cd9c65af4b3f6b6006bc3eaf7071cfec Change-Id: I08afe531cd9c65af4b3f6b6006bc3eaf7071cfec Reviewed-on: https://skia-review.googlesource.com/17117 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Rename finishOpList to finishFlush and call it less frequentlyGravatar Robert Phillips2017-05-15
| | | | | | | | | It is expected that this will fix the Vulkan perf regression associated with splitting up the opLists Change-Id: I1bbb6f71745bb08d4a8c2f7810e5ab84cca75e84 Reviewed-on: https://skia-review.googlesource.com/16901 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Setup for another attempt to split up opListsGravatar Robert Phillips2017-05-11
| | | | | | | | | Split out of: https://skia-review.googlesource.com/c/14186 (Split up opLists (take 3)) Change-Id: Ifa600c88fb9185991d3197c7776c820f54c9bf0f Reviewed-on: https://skia-review.googlesource.com/16540 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add debug-only helper methods to get #ops & #clips per opListGravatar Robert Phillips2017-05-09
| | | | | | | | | These are being/will be used to determine the correct amout of memory to preallocate for ops & clips in the opLists. Change-Id: I98ebaec8a6e72a43d97101aca5fbc58264964ebd Reviewed-on: https://skia-review.googlesource.com/15882 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove lastOpList capability from GrSurfaceGravatar Robert Phillips2017-04-17
| | | | | | | | | | | This is split out of: https://skia-review.googlesource.com/c/11581/ (Split up opLists) TBR=bsalomon@google.com Change-Id: I80d589b42918ddd77538484c808b069576691da4 Reviewed-on: https://skia-review.googlesource.com/11793 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* sk_sp-ify opList creation & storageGravatar Robert Phillips2017-04-14
| | | | | | | Change-Id: Idd4d81cd248ad2b2169028ac2e269a66c9cad26b Reviewed-on: https://skia-review.googlesource.com/13400 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Make GrCopySurfaceOp friendlier to GrSurfaceProxy (take 2)Gravatar Robert Phillips2017-04-07
| | | | | | | | | Reland of: https://skia-review.googlesource.com/c/11325/ (Make GrCopySurfaceOp friendlier to GrSurfaceProxy) Change-Id: Ibe7312cebe7793af5803353a1499fbe7874c558f Reviewed-on: https://skia-review.googlesource.com/11780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Make GrCopySurfaceOp friendlier to GrSurfaceProxy"Gravatar Robert Phillips2017-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d7cda9a6f050c30e65b0744b3cfb45cecdc40834. Reason for revert: Tegra3!!!! Original change's description: > Make GrCopySurfaceOp friendlier to GrSurfaceProxy > > Change-Id: Iba8c068bd96ab154d466e485a9db31dd552138de > Reviewed-on: https://skia-review.googlesource.com/11325 > 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: Idc31d469d94e6e2772ee5714987b3a05bb902d88 Reviewed-on: https://skia-review.googlesource.com/11580 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Make GrCopySurfaceOp friendlier to GrSurfaceProxyGravatar Robert Phillips2017-04-06
| | | | | | | Change-Id: Iba8c068bd96ab154d466e485a9db31dd552138de Reviewed-on: https://skia-review.googlesource.com/11325 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add tracking of unique proxyID beside unique renderTargetID in auditTrail ↵Gravatar Robert Phillips2017-03-31
| | | | | | | | | | | and clearOp Split out of: https://skia-review.googlesource.com/c/10284/ (Omnibus: Remove GrSurface-derived classes from ops) Change-Id: I5845a47d94decc455ec3b1f0a5876b1c82aa32e8 Reviewed-on: https://skia-review.googlesource.com/10750 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove ref counting from GrOp.Gravatar Brian Salomon2017-01-03
| | | | | | | | | Instead use std::unique_ptr to manage GrOp lifetime. Change-Id: Ic1dc1e0ffd7254c3994221f498677af5bbf66a71 Reviewed-on: https://skia-review.googlesource.com/6479 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove render target unique ID virtual from GrOp.Gravatar Brian Salomon2016-12-22
| | | | | | | | | | | GrRenderTargetOpList now stores the IDs along side each op. This should put us closer to using proxy IDs and not forcing early render target instantiation as many comments point towards. Change-Id: I1ee82b01a0818a80d2bcac39fdf3a4ee7dccecc9 Reviewed-on: https://skia-review.googlesource.com/6403 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Make *OpList::recordOp functions take sk_sp<GrOp> not GrOp*Gravatar Brian Salomon2016-12-10
| | | | | | | Change-Id: Ie3c41aa0910599c9413b4943fbe63000226e526f Reviewed-on: https://skia-review.googlesource.com/5776 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename GrBatchFlushState to GrOpFlushStateGravatar Brian Salomon2016-12-07
| | | | | | | Change-Id: I1a8052c61d7624929caf45ba44e2a465cd0dc1c2 Reviewed-on: https://skia-review.googlesource.com/5649 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Rename batch->op in GrOpList and subclassesGravatar Brian Salomon2016-12-07
| | | | | | | Change-Id: I9c82483c4ac0dc140fb1e5e3650d6ff1e5917e99 Reviewed-on: https://skia-review.googlesource.com/5646 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename GrBatch to GrOpGravatar Brian Salomon2016-12-01
| | | | | | | Change-Id: I27b6324f8040899fafeda23ca524bc54a4dbf090 Reviewed-on: https://skia-review.googlesource.com/5392 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Added GrSurfaceContext and GrTextureContextGravatar Brian Osman2016-11-23
| | | | | | | | | | | | | | | | | This lets copy-to-texture to be treated like copy-to-rt. To match current behavior, though, copies to texture are still executed immediately (forcing a flush). Once MDB is enabled, copies to texture will be deferred. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5093 Change-Id: Icc0ce5435507a5f0a237c22eedef879824952367 Reviewed-on: https://skia-review.googlesource.com/5093 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make GrDrawContext be GrRenderTargetProxy-backedGravatar Robert Phillips2016-10-28
| | | | | | | | | | | | | This is split out of https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus)) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3841 CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Debug-GN_Android-Trybot Change-Id: I1a47f19ed1ac0c249e6ccac8db74095d7f456db4 Reviewed-on: https://skia-review.googlesource.com/3841 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Create GrTextureOpList to support deferred copy batches for texturesGravatar Brian Osman2016-10-26
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3967 Change-Id: I63b926f63294795f999a130c0ceead87fbaf978d Reviewed-on: https://skia-review.googlesource.com/3967 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>