aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/gpu/GrContext.h
Commit message (Collapse)AuthorAge
* make GrPaint.h private -- IWYUGravatar Mike Reed2017-03-09
| | | | | | | | | | | prerequisit: https://codereview.chromium.org/2743533002/ BUG=skia: Change-Id: I8c2f34a6df165744ddeaeabb562cd6d6a9679b6a Reviewed-on: https://skia-review.googlesource.com/9461 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Make GrClip.h privateGravatar Brian Salomon2017-03-09
| | | | | | | | | BUG=skia: Change-Id: I4aa3c2707811ece3a63d161035e316c3bbc1cd15 Reviewed-on: https://skia-review.googlesource.com/9482 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Rebase and fix chromiumGravatar Brian Osman2017-03-04
| | | | | | | | | | | | | | Combine texture provider and resource provider Largely mechanical. Only three places that were calling createApprox via texture provider (ie without flags), so that was simple. BUG=skia: Change-Id: I876367bcdc6a8db736deedab1028de1972015509 Reviewed-on: https://skia-review.googlesource.com/9176 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Use GrSemaphore rather than GrFence for external texture dataGravatar Brian Osman2017-03-02
| | | | | | | | | | BUG=skia: Change-Id: I0d23eb9dcf5c01c71d3571ef97690af68b900807 Reviewed-on: https://skia-review.googlesource.com/9141 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Revert "Move GrTextureProvider to src""""Gravatar Brian Osman2017-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 580ffa0fb17bc4e924776eafd941bf1fab397cde. Reason for revert: Okay, it landed. Original change's description: > Revert "Revert "Revert "Move GrTextureProvider to src""" > > This reverts commit 2fe8373bb1d56f531f8a2e03a3087b0aa73e199c. > > Reason for revert: Google3 fix isn't landing. > > Original change's description: > > Revert "Revert "Move GrTextureProvider to src"" > > > > This reverts commit 13d7f5d7c2872ed4298330758e173ae605578cb2. > > > > Reason for revert: Fixed client code. Re-landing. > > > > Original change's description: > > > Revert "Move GrTextureProvider to src" > > > > > > This reverts commit 24429c68c56683252e3fc2a79d9b660eaf96ec0c. > > > > > > Reason for revert: Breaking a roll > > > > > > Original change's description: > > > > Move GrTextureProvider to src > > > > > > > > With this hidden, we can make further simplification. Just want to test > > > > this change against our external clients first, to make sure we're okay > > > > to proceed. > > > > > > > > BUG=skia: > > > > > > > > Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4 > > > > Reviewed-on: https://skia-review.googlesource.com/9072 > > > > Commit-Queue: Brian Osman <brianosman@google.com> > > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > > > > > > > TBR=bsalomon@google.com,brianosman@google.com,benjaminwagner@google.com,reviews@skia.org > > > NOPRESUBMIT=true > > > NOTREECHECKS=true > > > NOTRY=true > > > BUG=skia: > > > > > > Change-Id: I43cc135731245c29e24bbecf06ee46c562955c03 > > > Reviewed-on: https://skia-review.googlesource.com/9123 > > > Reviewed-by: Brian Osman <brianosman@google.com> > > > Commit-Queue: Brian Osman <brianosman@google.com> > > > > > > > TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=skia: > > > > Change-Id: Ibcb2ea34654315327c46ea8e4de5bf14376d9bdf > > Reviewed-on: https://skia-review.googlesource.com/9127 > > Reviewed-by: Brian Osman <brianosman@google.com> > > Commit-Queue: Brian Osman <brianosman@google.com> > > > > TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Change-Id: If5c06c7608d76c45438d03fefb21c4edd7da4f36 > Reviewed-on: https://skia-review.googlesource.com/9128 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I48da978fb73f914c09176e2fefa2882bc8a464a7 Reviewed-on: https://skia-review.googlesource.com/9150 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "Revert "Move GrTextureProvider to src"""Gravatar Brian Osman2017-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2fe8373bb1d56f531f8a2e03a3087b0aa73e199c. Reason for revert: Google3 fix isn't landing. Original change's description: > Revert "Revert "Move GrTextureProvider to src"" > > This reverts commit 13d7f5d7c2872ed4298330758e173ae605578cb2. > > Reason for revert: Fixed client code. Re-landing. > > Original change's description: > > Revert "Move GrTextureProvider to src" > > > > This reverts commit 24429c68c56683252e3fc2a79d9b660eaf96ec0c. > > > > Reason for revert: Breaking a roll > > > > Original change's description: > > > Move GrTextureProvider to src > > > > > > With this hidden, we can make further simplification. Just want to test > > > this change against our external clients first, to make sure we're okay > > > to proceed. > > > > > > BUG=skia: > > > > > > Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4 > > > Reviewed-on: https://skia-review.googlesource.com/9072 > > > Commit-Queue: Brian Osman <brianosman@google.com> > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > > > > TBR=bsalomon@google.com,brianosman@google.com,benjaminwagner@google.com,reviews@skia.org > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=skia: > > > > Change-Id: I43cc135731245c29e24bbecf06ee46c562955c03 > > Reviewed-on: https://skia-review.googlesource.com/9123 > > Reviewed-by: Brian Osman <brianosman@google.com> > > Commit-Queue: Brian Osman <brianosman@google.com> > > > > TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Change-Id: Ibcb2ea34654315327c46ea8e4de5bf14376d9bdf > Reviewed-on: https://skia-review.googlesource.com/9127 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: If5c06c7608d76c45438d03fefb21c4edd7da4f36 Reviewed-on: https://skia-review.googlesource.com/9128 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "Move GrTextureProvider to src""Gravatar Brian Osman2017-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 13d7f5d7c2872ed4298330758e173ae605578cb2. Reason for revert: Fixed client code. Re-landing. Original change's description: > Revert "Move GrTextureProvider to src" > > This reverts commit 24429c68c56683252e3fc2a79d9b660eaf96ec0c. > > Reason for revert: Breaking a roll > > Original change's description: > > Move GrTextureProvider to src > > > > With this hidden, we can make further simplification. Just want to test > > this change against our external clients first, to make sure we're okay > > to proceed. > > > > BUG=skia: > > > > Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4 > > Reviewed-on: https://skia-review.googlesource.com/9072 > > Commit-Queue: Brian Osman <brianosman@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > TBR=bsalomon@google.com,brianosman@google.com,benjaminwagner@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Change-Id: I43cc135731245c29e24bbecf06ee46c562955c03 > Reviewed-on: https://skia-review.googlesource.com/9123 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,reviews@skia.org,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Ibcb2ea34654315327c46ea8e4de5bf14376d9bdf Reviewed-on: https://skia-review.googlesource.com/9127 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Move GrTextureProvider to src"Gravatar Brian Osman2017-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 24429c68c56683252e3fc2a79d9b660eaf96ec0c. Reason for revert: Breaking a roll Original change's description: > Move GrTextureProvider to src > > With this hidden, we can make further simplification. Just want to test > this change against our external clients first, to make sure we're okay > to proceed. > > BUG=skia: > > Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4 > Reviewed-on: https://skia-review.googlesource.com/9072 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,brianosman@google.com,benjaminwagner@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I43cc135731245c29e24bbecf06ee46c562955c03 Reviewed-on: https://skia-review.googlesource.com/9123 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Move GrTextureProvider to srcGravatar Brian Osman2017-03-01
| | | | | | | | | | | | | With this hidden, we can make further simplification. Just want to test this change against our external clients first, to make sure we're okay to proceed. BUG=skia: Change-Id: I47f8c8f2912201c2890bc2f9a9d68aa92649a2d4 Reviewed-on: https://skia-review.googlesource.com/9072 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add GrExternalTextureData and SkCrossContextImageDataGravatar Brian Osman2017-02-28
| | | | | | | | | | | | | | | | | | | | | | | | GrExternalTextureData is an API for exporting the backend-specific information about a texture in a type-safe way, and without pointing into the GrTexture. The new detachBackendTexture API lets us release ownership of a texture to the client. SkCrossContextImageData is the public API that lets clients upload textures on one thread/GrContext, then safely transfer ownership to another thread and GrContext for rendering. Only GL is implemented/supported right now. Vulkan support requires that we add thread-safe memory pools, or otherwise transfer the actual memory block containing the texture to the new context. Re-land of https://skia-review.googlesource.com/c/8529/ BUG=skia: Change-Id: I48ebd57d1ea0cfd3a1db10c475f2903afb821966 Reviewed-on: https://skia-review.googlesource.com/8960 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Add GrExternalTextureData and SkCrossContextImageData"Gravatar Brian Osman2017-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9ad1f92e2fceea33215c0f13cee42a679fb88d44. Reason for revert: Breaking lots of bots Original change's description: > Add GrExternalTextureData and SkCrossContextImageData > > GrExternalTextureData is an API for exporting the backend-specific > information about a texture in a type-safe way, and without pointing > into the GrTexture. The new detachBackendTexture API lets us release > ownership of a texture to the client. > > SkCrossContextImageData is the public API that lets clients upload > textures on one thread/GrContext, then safely transfer ownership to > another thread and GrContext for rendering. > > Only GL is implemented/supported right now. Vulkan support requires > that we add thread-safe memory pools, or otherwise transfer the > actual memory block containing the texture to the new context. > > BUG=skia: > > Change-Id: I784a3a74be69807df038c7d192eaed002c7e45ca > Reviewed-on: https://skia-review.googlesource.com/8529 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org,chinmaygarde@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: If27d1f4c3a169efb6533170f67a172664c0fe8ce Reviewed-on: https://skia-review.googlesource.com/8955 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add GrExternalTextureData and SkCrossContextImageDataGravatar Brian Osman2017-02-24
| | | | | | | | | | | | | | | | | | | | | | GrExternalTextureData is an API for exporting the backend-specific information about a texture in a type-safe way, and without pointing into the GrTexture. The new detachBackendTexture API lets us release ownership of a texture to the client. SkCrossContextImageData is the public API that lets clients upload textures on one thread/GrContext, then safely transfer ownership to another thread and GrContext for rendering. Only GL is implemented/supported right now. Vulkan support requires that we add thread-safe memory pools, or otherwise transfer the actual memory block containing the texture to the new context. BUG=skia: Change-Id: I784a3a74be69807df038c7d192eaed002c7e45ca Reviewed-on: https://skia-review.googlesource.com/8529 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* GrContext option to prevent GPU based YUV -> RGBGravatar Brian Osman2017-02-14
| | | | | | | | | | | | | | | | | | | Rob and I spent a long time debugging why this wasn't working for Flutter - doing the more complex operations on the loading thread produces a blank texture when it's used later on the drawing thread. Limiting ourselves to just creating and uploading RGBA data fixes that. We need to debug what's going wrong, but in the meantime, this lets Flutter use Skia APIs to manage GPU uploading and lifetime of texture-backed images, while still doing those uploads on their IO thread. BUG=skia: Change-Id: Ibf5c37f2439814544beab8c93c2a646f7a9e779d Reviewed-on: https://skia-review.googlesource.com/8443 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Push GrTextureProxy down to more effectsGravatar Robert Phillips2017-01-30
| | | | | | | Change-Id: Ie3f32a88f25af082c25bc6daf3fe24e303e80f9e Reviewed-on: https://skia-review.googlesource.com/7616 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Switch GrConfigConversionEffect over to taking GrTextureProxiesGravatar Robert Phillips2017-01-25
| | | | | | | Change-Id: Ic8be773e210e1ac05dcb9aad6c89dcd63e9e4ba2 Reviewed-on: https://skia-review.googlesource.com/7521 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove GrTestTargetGravatar Robert Phillips2017-01-20
| | | | | | | Change-Id: I4d2e1aa54732ff75b44a197255035c0e04548219 Reviewed-on: https://skia-review.googlesource.com/7327 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Rename GrContext::getFontAtlas to getFontAtlas_ForTestingGravatar Robert Phillips2017-01-20
| | | | | | | | | A trivial change but it does better indicate the nature of the method Change-Id: I44a0e77dba28df892f4200496d78797ed5fd37df Reviewed-on: https://skia-review.googlesource.com/7331 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Change GPU read/write pixels API to support color space conversionGravatar Brian Osman2016-12-22
| | | | | | | | | | | | | GrContext still doesn't convert, but it has the source and destination color spaces, and call sites are supplying appropriate values where it makes sense. BUG=skia: Change-Id: Ia88733125b8090776cfc9b0dc8030cce365b0b8b Reviewed-on: https://skia-review.googlesource.com/6400 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Restore getDevice_just_for_deprecated_compatibility_testingGravatar Robert Phillips2016-12-20
| | | | | | | Change-Id: I98e73a5f72ef8c8efb1a4f382a5359d21bb5edc8 Reviewed-on: https://skia-review.googlesource.com/6325 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove getDevice_just_for_deprecated_compatibility_test()Gravatar Robert Phillips2016-12-20
| | | | | | | | | BUG=skia:6067 Change-Id: I646e75f43bc77ea884b7fad7281bf0b684996bb9 Reviewed-on: https://skia-review.googlesource.com/6299 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Rename GrBatchAtlas -> GrDrawOpAtlas.Gravatar Brian Salomon2016-12-17
| | | | | | | Change-Id: I776f37e42dcab8b16535c48df9c405b1f211f6c9 Reviewed-on: https://skia-review.googlesource.com/6165 Commit-Queue: Brian Salomon <brian@thesalomons.net> Reviewed-by: Brian Osman <brianosman@google.com>
* Rename GrBatchFontCache->GrAtlasGlyphCacheGravatar Brian Salomon2016-12-16
| | | | | | | Change-Id: Ie21e18b631daa24e70df630b9f910213f62bdbdf Reviewed-on: https://skia-review.googlesource.com/6164 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Add a deferred copy surface (take 3)Gravatar Robert Phillips2016-12-15
| | | | | | | | | | | | | | This CL forces all GrSurface copies to go through a GrSurfaceContext (rather than GrContext). There is a bit of goofiness going on here until read/writePixels is also consolidated in GrSurfaceContext and a proxy-backed SkImage/SkSurface is added. This is a reland of https://skia-review.googlesource.com/c/5773/ (Add a deferred copy surface) Change-Id: Ib8fd96d0569274ef781366eb900ed8ee839ae9bd Reviewed-on: https://skia-review.googlesource.com/6109 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove mutex guards from GrContext::readSurfacePixelsGravatar Robert Phillips2016-12-14
| | | | | | | Change-Id: Ief4f0faae7abeb996bdfc993e368e64755da15a7 Reviewed-on: https://skia-review.googlesource.com/5929 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Add a deferred copy surface (take 2)"Gravatar Robert Phillips2016-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 398487a850431cf495330d4023607df5305a311f. Reason for revert: See if this is causing the roll failure Original change's description: > Add a deferred copy surface (take 2) > > This CL forces all GrSurface copies to go through a GrSurfaceContext (rather than GrContext). > > There is a bit of goofiness going on here until read/writePixels is also consolidated in GrSurfaceContext and a proxy-backed SkImage/SkSurface is added. > > This is a reland of https://skia-review.googlesource.com/c/5773/ (Add a deferred copy surface) > > Change-Id: Ide560f569aede5e622420dc2f30eef76357d69f4 > Reviewed-on: https://skia-review.googlesource.com/5939 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I1ef40f0d5fb0bca62031f94f10eb18acd753e913 Reviewed-on: https://skia-review.googlesource.com/6024 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add a deferred copy surface (take 2)Gravatar Robert Phillips2016-12-13
| | | | | | | | | | | | | | This CL forces all GrSurface copies to go through a GrSurfaceContext (rather than GrContext). There is a bit of goofiness going on here until read/writePixels is also consolidated in GrSurfaceContext and a proxy-backed SkImage/SkSurface is added. This is a reland of https://skia-review.googlesource.com/c/5773/ (Add a deferred copy surface) Change-Id: Ide560f569aede5e622420dc2f30eef76357d69f4 Reviewed-on: https://skia-review.googlesource.com/5939 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Add a deferred copy surface"Gravatar Robert Phillips2016-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4431de6af930a8638c194b072558ea3a4b79d908. Reason for revert: ANGLE errors (at the very least) Original change's description: > Add a deferred copy surface > > This CL forces all GrSurface copies to go through a GrSurfaceContext (rather than GrContext). > > There is a bit of goofiness going on here until read/writePixels is also consolidated in GrSurfaceContext and a proxy-backed SkImage/SkSurface is added. > > Change-Id: Iab1867668d8146a766201158a251b9174438ee2b > Reviewed-on: https://skia-review.googlesource.com/5773 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I61408d9e306b9b1ab32f93ab086e95184e12857f Reviewed-on: https://skia-review.googlesource.com/5938 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add a deferred copy surfaceGravatar Robert Phillips2016-12-13
| | | | | | | | | | | | This CL forces all GrSurface copies to go through a GrSurfaceContext (rather than GrContext). There is a bit of goofiness going on here until read/writePixels is also consolidated in GrSurfaceContext and a proxy-backed SkImage/SkSurface is added. Change-Id: Iab1867668d8146a766201158a251b9174438ee2b Reviewed-on: https://skia-review.googlesource.com/5773 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Defer more renderTargetContexts in the GPU image filter paths - take 2Gravatar robertphillips2016-11-21
| | | | | | | | | | | This is a reland of https://skia-review.googlesource.com/c/4767/ (Defer more renderTargetContexts in the GPU image filter paths). The addition of guards on instantiation && accessRenderTarget failure should prevent a reoccurence of this Nexus7 failures. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2514543002 TBR=bsalomon@google.com Review-Url: https://codereview.chromium.org/2514543002
* Rename GrTextureParams to GrSamplerParamsGravatar Brian Salomon2016-11-17
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4965 Change-Id: I7d52e81c670e92ca96117284f44b274ce3cc3671 Reviewed-on: https://skia-review.googlesource.com/4965 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Defer more renderTargetContexts in the GPU image filter paths"Gravatar Robert Phillips2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fd01ce05ef7902c49b0272b3524a389693c72b35. Reason for revert: see if this is the cause of the Nexus7 assertion failure Original change's description: > Defer more renderTargetContexts in the GPU image filter paths > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4767 > > Change-Id: I4c1f27247ef340a49d1ac96761810e77e6047ca2 > Reviewed-on: https://skia-review.googlesource.com/4767 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I158f96ec1252481345fc5dca15086ffd4b47cb95 Reviewed-on: https://skia-review.googlesource.com/4875 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Defer more renderTargetContexts in the GPU image filter pathsGravatar Robert Phillips2016-11-15
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4767 Change-Id: I4c1f27247ef340a49d1ac96761810e77e6047ca2 Reviewed-on: https://skia-review.googlesource.com/4767 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Change comments to refer to "render target context" rather than "draw context"Gravatar Brian Salomon2016-10-29
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4180 Change-Id: I553043ed576d0654faa68ed2e9e9978e4fc6476c Reviewed-on: https://skia-review.googlesource.com/4180 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@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>
* Rename GrDrawContext to GrRenderTargetContextGravatar Brian Osman2016-10-27
| | | | | | | | | | | | | | This is in preparation for GrTextureContext and GrSurfaceContext BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4030 Change-Id: Ie58c93052e68f3f1f5fe8d15d63760de274a6fbd Reviewed-on: https://skia-review.googlesource.com/4030 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove SkAutoTUnref and SkAutoTDelete from public includes.Gravatar bungeman2016-10-27
| | | | | | | | | | | | | | | This also makes the required changed to src, tests, and tools. The few public APIs modified by this change appear to be unused outside of Skia. Removing these from the public API makes it easier to ensure users are no longer using them. This also updates GrGpu::wrapBackendXXX and the ::onWrapBackendXXX methods to clarify ownership. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2448593002 Review-Url: https://codereview.chromium.org/2448593002
* Restructure flushing relationship between GrContext, GrDrawingManager, and ↵Gravatar bsalomon2016-09-07
| | | | | | | | | | | | | | | | | | GrResourceCache. Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough. Removes the unused and untested discard flush variation. Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext. Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the flush that just occurred. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002 Committed: https://skia.googlesource.com/skia/+/1dbb207babecdae8f1f74ed9d9900c73064df744 Review-Url: https://codereview.chromium.org/2307053002
* Revert of Restructure flushing relationship between GrContext, ↵Gravatar bsalomon2016-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrDrawingManager, and GrResourceCache. (patchset #4 id:60001 of https://codereview.chromium.org/2307053002/ ) Reason for revert: Causing assertions on bots Original issue's description: > Restructure flushing relationship between GrContext, GrDrawingManager, and GrResourceCache. > > Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough. > > Removes the unused and untested discard flush variation. > > Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext. > > Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the > flush that just occurred. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002 > > Committed: https://skia.googlesource.com/skia/+/1dbb207babecdae8f1f74ed9d9900c73064df744 TBR=robertphillips@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2312123003
* Restructure flushing relationship between GrContext, GrDrawingManager, and ↵Gravatar bsalomon2016-09-06
| | | | | | | | | | | | | | | | | GrResourceCache. Consolidates all flush actions into GrDrawingManager and makes GrContext::flush a passthrough. Removes the unused and untested discard flush variation. Replaces the indirect overbudget callback mechanism of GrResourceCache with a flag set by resource cache when it wants to flush that is checked after each draw by GrDrawContext. Modifies GrResourceCache::notifyFlushOccurred() to take a param indicating whether it triggered the flush that just occurred. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2307053002 Review-Url: https://codereview.chromium.org/2307053002
* Add a makeDrawContextWithFallback that handles config fallbackGravatar robertphillips2016-09-06
| | | | | | | | This fixes a bug in find_or_create_rrect_blur_mask where an A8-based drawContext was desired but creation was failing b.c. A8 wasn't renderable. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2296193005 Review-Url: https://codereview.chromium.org/2296193005
* Move clip mask generation into GrReducedClipGravatar csmartdalton2016-08-31
| | | | | | | | | | | This is a temporary solution to facilitate window rectangles and make clip mask generation more accessible for testing. The eventual goal is to simplify clips and merge GrReducedClip into GrClipStackClip. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2263343002 Review-Url: https://codereview.chromium.org/2263343002
* Make GrTextureStripAtlas flush pending IO on newly acquired textureGravatar ajuma2016-08-24
| | | | | | | | | | | GrTextureStripAtlas uses its own lock counts to protect against overwriting its own earlier writes, but that doesn't protect against IO that was pending when a texture was first acquired. BUG=chromium:637678 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2262233002 Review-Url: https://codereview.chromium.org/2262233002
* Merge GrClipMaskManager into GrClipStackClipGravatar csmartdalton2016-08-05
| | | | | | | | TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196393007 Review-Url: https://codereview.chromium.org/2196393007
* Move GrContext::makeDrawContext to new GrContextPriv objectGravatar robertphillips2016-08-03
| | | | | | | | | | | | | | We don't want external clients to be able to call the wrapping makeDrawContext. The "creating" makeDrawContext needs to be public for external image filters. The 3 specialized drawContext creators on GrContextPriv (to wrap backend objects) are also to be kept from public use and will be used to remove SkSurface::MakeRenderTargetDirect. Split out of: https://codereview.chromium.org/2176333002/ (Remove SkSurface::MakeRenderTargetDirect) TBR=bsalomon@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2211473002 Review-Url: https://codereview.chromium.org/2211473002
* Remove GrContext::applyGammaGravatar robertphillips2016-07-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2191323002 Review-Url: https://codereview.chromium.org/2191323002
* Rename GrContext's newDrawContext & drawContext to makeDrawContextGravatar robertphillips2016-07-27
| | | | | | | | These both return sk_sp. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2186073002 Review-Url: https://codereview.chromium.org/2186073002
* Add SkColorSpace to GrDrawContextGravatar brianosman2016-07-21
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164363002 Review-Url: https://codereview.chromium.org/2164363002
* Remove GrLayerHoisterGravatar robertphillips2016-07-13
| | | | | | | | This relies on https://codereview.chromium.org/1944013002/ (Add legacy flag to allow Skia to remove Ganesh layer hoister) landing first so as to not break the DEPS roll. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1950523002 Review-Url: https://codereview.chromium.org/1950523002
* sk_sp for Ganesh.Gravatar bungeman2016-06-09
| | | | | | | | | | Convert use of GrFragmentProcessor, GrGeometryProcessor, and GrXPFactory to sk_sp. This clarifies ownership and should reduce reference count churn by moving ownership. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041113004 Review-Url: https://codereview.chromium.org/2041113004
* Retract GrRenderTarget from GrTestTargetGravatar robertphillips2016-05-20
| | | | | | | | Split out of: https://codereview.chromium.org/1988923002/ (Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=2004433002 Review-Url: https://codereview.chromium.org/2004433002