aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkTexture.cpp
Commit message (Collapse)AuthorAge
* Remove integer texture supportGravatar Brian Salomon2018-02-06
| | | | | | | Change-Id: I0db1c4d705711b8d980bbe0d986013daec6c8ef3 Reviewed-on: https://skia-review.googlesource.com/103762 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add GrBackendTexture & GrBackendRenderTarget access methods to GrTexture and ↵Gravatar Robert Phillips2017-12-13
| | | | | | | | | GrRenderTarget Change-Id: I627fcc2cab1d04169f49e33a6c17e161e9a9772a Reviewed-on: https://skia-review.googlesource.com/84621 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Use enum to track MipMapsStatus throughout Texture creationGravatar Greg Daniel2017-10-12
| | | | | | | | Bug: skia: Change-Id: I1de1105d74b45f7b02ff52e6b8333801d98ef1ce Reviewed-on: https://skia-review.googlesource.com/58501 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Set correct mip map status on GrTexture since we no longer require all mip dataGravatar Greg Daniel2017-10-10
| | | | | | | | Bug: skia: Change-Id: I5074028f307187eef3201523cbd1ddc7d9bf9013 Reviewed-on: https://skia-review.googlesource.com/54102 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@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>
* Fix up and clarify use of maxMipLevel in VulkanGravatar Greg Daniel2017-09-01
| | | | | | | | Bug: skia: Change-Id: I5b31e0c74be8f650e97c448b1029a2277dfee978 Reviewed-on: https://skia-review.googlesource.com/41844 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: 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>
* Use GrBackendObjectOwnership instead of GrVkImage::WrappedGravatar Greg Daniel2017-08-18
| | | | | | | | | | | This is more in line with what GL does and will make things cleaner for the metal backend as well. Bug: skia: Change-Id: I0ba0c588f813ad78051251c1cb9e8f92fd917ecc Reviewed-on: https://skia-review.googlesource.com/35940 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* sk_sp-ify GrResourceProvider some moreGravatar Robert Phillips2017-06-05
| | | | | | | | | | I believe this addresses the concerns of this particular bug (although more remains to be done) Bug: skia:5327 Change-Id: Ie82f08f87b3cf3d7986fe4eeb16a5d2553173913 Reviewed-on: https://skia-review.googlesource.com/18599 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Expand texturability testing to cover mip-mapped textures, and fix iOSGravatar Brian Osman2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't allow creation of mip-mapped textures when caps says we don't support mip-mapping. Skip testing of mip-mapped resources in the resource size test, when creation will fail. For iOS devices with ES2, the APPLE BGRA8888 extension is more trouble than it's worth. Even though it lets the internal and external formats not match, it appears that the driver remembers the first external format, so subsequent attempts to upload with the other swizzle will fail. Up until now, creation of these textures was failing anyway, so now just make it more explicit that we don't support BGRA in this situation. Now that we're testing our TexStorage path, fix a few other problems that showed up: - Command Buffer doesn't like extension formats. - X86 PowerVR and Adreno devices don't like BGRA. Re-land of : https://skia-review.googlesource.com/18382 Re-re-land of: https://skia-review.googlesource.com/18261 BUG=skia: Change-Id: Ie12793549a6807300d6ece68cd6b92495e85c3fe Reviewed-on: https://skia-review.googlesource.com/18403 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Expand texturability testing to cover mip-mapped textures, and fix iOS"Gravatar Brian Osman2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c2b5175e99c6451bdf34fa52900af39ee11a4a84. Reason for revert: Nexus 5 Original change's description: > Expand texturability testing to cover mip-mapped textures, and fix iOS > > Don't allow creation of mip-mapped textures when caps says we don't > support mip-mapping. > > Skip testing of mip-mapped resources in the resource size test, > when creation will fail. > > For iOS devices with ES2, the APPLE BGRA8888 extension is more > trouble than it's worth. Even though it lets the internal and > external formats not match, it appears that the driver remembers > the first external format, so subsequent attempts to upload with > the other swizzle will fail. Up until now, creation of these > textures was failing anyway, so now just make it more explicit > that we don't support BGRA in this situation. > > Re-land of: https://skia-review.googlesource.com/18261 > > BUG=skia: > > Change-Id: I910ffab0aa735647dce910d9054696c385f94933 > Reviewed-on: https://skia-review.googlesource.com/18382 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true BUG=skia: Change-Id: I8f0fd87678cc584ad37b2a93a859bd4ef38c8092 Reviewed-on: https://skia-review.googlesource.com/18401 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Expand texturability testing to cover mip-mapped textures, and fix iOSGravatar Brian Osman2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | Don't allow creation of mip-mapped textures when caps says we don't support mip-mapping. Skip testing of mip-mapped resources in the resource size test, when creation will fail. For iOS devices with ES2, the APPLE BGRA8888 extension is more trouble than it's worth. Even though it lets the internal and external formats not match, it appears that the driver remembers the first external format, so subsequent attempts to upload with the other swizzle will fail. Up until now, creation of these textures was failing anyway, so now just make it more explicit that we don't support BGRA in this situation. Re-land of: https://skia-review.googlesource.com/18261 BUG=skia: Change-Id: I910ffab0aa735647dce910d9054696c385f94933 Reviewed-on: https://skia-review.googlesource.com/18382 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "Remove GrSurfaceDesc member from GrSurface.""Gravatar Brian Salomon2017-05-21
| | | | | | | | | | This reverts commit 4b30a96a3e96b7f051e25025f4f17f3c54e04153. Bug: skia: Change-Id: I14d5b402c87df8fffbc29f16686fcfa18474fc48 Reviewed-on: https://skia-review.googlesource.com/17408 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Remove GrSurfaceDesc member from GrSurface."Gravatar Greg Daniel2017-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 84911546b9535a2fff6c5e07f588f175d5a04f45. Reason for revert: Breaking bots possibly? Original change's description: > Remove GrSurfaceDesc member from GrSurface. > > Change-Id: I0fe979994e1e3fc457b952dfb5e0090c45fad771 > Reviewed-on: https://skia-review.googlesource.com/17273 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I404e509fcd3e3d5527b3bc6e286b7d436c12e879 Reviewed-on: https://skia-review.googlesource.com/17364 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Remove GrSurfaceDesc member from GrSurface.Gravatar Brian Salomon2017-05-18
| | | | | | | Change-Id: I0fe979994e1e3fc457b952dfb5e0090c45fad771 Reviewed-on: https://skia-review.googlesource.com/17273 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove SkCrossContextImageData and all support codeGravatar Brian Osman2017-05-11
| | | | | | | | Bug: skia: Change-Id: I8eb8cef5456c05a8e314d8404698893c7af82d13 Reviewed-on: https://skia-review.googlesource.com/16368 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Expand GrTextureProxy to handle highestFilterModeGravatar Robert Phillips2017-05-08
| | | | | | | | | | Once TextureProxies aren't instantiated in the TextureSamplers, the they will need to be able to supply this information. split out of: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler)) Change-Id: I66555c0746131f565862f7a30d54ff1d458d2062 Reviewed-on: https://skia-review.googlesource.com/15819 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Treat cross context images as Ganesh-created resourcesGravatar Brian Osman2017-03-13
| | | | | | | | | | | | | | Always create them budgeted, and register them with the cache (not as wrapped resources). Re-land (with fixes) of: https://skia-review.googlesource.com/9497 BUG=skia: Change-Id: I2df7198adc99efa3eea99fc86b0b2930136f22c7 Reviewed-on: https://skia-review.googlesource.com/9544 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Treat cross context images as Ganesh-created resources"Gravatar Brian Osman2017-03-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cccda60aca592d2320d79e2871e057778b2688ab. Reason for revert: Android and Windows bot failures. Original change's description: > Treat cross context images as Ganesh-created resources > > Always create them budgeted, and register them with the cache (not as > wrapped resources). > > BUG=skia: > > Change-Id: Id18ecf6e9e512db4be21b4f2bfd8e8c060bbe805 > Reviewed-on: https://skia-review.googlesource.com/9497 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Ib7bebcad33037dd206c9b06b5cb6c503b00accba Reviewed-on: https://skia-review.googlesource.com/9541 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Treat cross context images as Ganesh-created resourcesGravatar Brian Osman2017-03-10
| | | | | | | | | | | | Always create them budgeted, and register them with the cache (not as wrapped resources). BUG=skia: Change-Id: Id18ecf6e9e512db4be21b4f2bfd8e8c060bbe805 Reviewed-on: https://skia-review.googlesource.com/9497 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>
* 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 "Revert "Limit GL_TEXTURE_RECTANGLE filtering to bilinear.""Gravatar Brian Salomon2016-11-07
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit ce4d04ae8eace6ba53ff8b8c8d8f4a2e6af4e59f. BUG=skia:5932 Original CL description: > >Limit GL_TEXTURE_RECTANGLE filtering to bilinear. > >Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures. > >Also moves samplerType() to GrTexturePriv from GrTexture. > >BUG=skia:5932 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4455 Change-Id: I4a9f4abac44979cb900f5b04fe741524eade66b1 Reviewed-on: https://skia-review.googlesource.com/4455 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Limit GL_TEXTURE_RECTANGLE filtering to bilinear."Gravatar Ben Wagner2016-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4d53c44aa6e8e0d1b6537f83e4287e5a1423ac75. Reason for revert: Depends on https://skia-review.googlesource.com/c/4383/ which I need to revert. Original change's description: > Limit GL_TEXTURE_RECTANGLE filtering to bilinear. > > Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures. > > Also moves samplerType() to GrTexturePriv from GrTexture. > > BUG=skia:5932 > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4352 > > Change-Id: I1f023d4f4133e7eb393367580c0558257e56c8db > Reviewed-on: https://skia-review.googlesource.com/4352 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Chris Dalton <csmartdalton@google.com> > TBR=bsalomon@google.com,csmartdalton@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=662630 Change-Id: I012aa208594ccff0bb81bece8110a38e1f83ae00 Reviewed-on: https://skia-review.googlesource.com/4444 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Limit GL_TEXTURE_RECTANGLE filtering to bilinear.Gravatar Brian Salomon2016-11-04
| | | | | | | | | | | | | | | Adds a clamp for GrTexture filtering that can be set by a subclass at construction. The clamping is performed by GrTextureParams. GrGLTexture limits filtering to bilinear for rectangle and external textures. Also moves samplerType() to GrTexturePriv from GrTexture. BUG=skia:5932 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4352 Change-Id: I1f023d4f4133e7eb393367580c0558257e56c8db Reviewed-on: https://skia-review.googlesource.com/4352 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@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
* Update RT views and framebuffer in vulkan after mipmapingGravatar egdaniel2016-07-13
| | | | | | | | | | | | I've also changed it so all attachment views (texture, color, and resolve) are created separately and not shared with each other. This just added a lot more complexity than we were probably even saving in time. A quick fix to make sure we don't reuse keys in resource tracking also got merged into this change. BUG=skia:5223 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146103002 Review-Url: https://codereview.chromium.org/2146103002
* Add Texture2D and Sampler GrSLTypesGravatar egdaniel2016-07-13
| | | | | | | | | | | | | | | | | | | | | | | | These two new types are in support of Vulkan and the ability to send separate texture and sampler uniforms to the shader. They don't really fit well in the current system, since the current system ties together to idea of intended use and how to emit shader code into the same GrSLType enum. In vulkan, I want the GrGLSLSampler object to be used as a Sampler2D, but when appending its declaration it will emit a Texture2D and sampler object. Our query for GrSLTypeIsSamplerType refers more to the combination of texture and sampler and not just the sampler part. The GrSLTypeIs2DTextureType query is for is a a SamplerType that uses Texture2Ds. My new types don't really fit into either these categories as they are just half of the whole. In some refactoring down the road (possibly connected with SkSL), I suggest we split apart the concept of how we intend to use a GrGLSLSampler (Sampler2D, SamplerBuffer, etc.), from how we actually add it to the code (sampler, texture2D, sampler2D, etc.). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143143002 Review-Url: https://codereview.chromium.org/2143143002
* Create free list heap for suballocationGravatar jvanverth2016-06-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2029763002 Review-Url: https://codereview.chromium.org/2029763002
* Add offset to memory allocationsGravatar jvanverth2016-06-01
| | | | | | | | | | | This is setting up for suballocations within one large allocation BUG=skia:5031 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2018933004 TBR=bsalomon@google.com Review-Url: https://codereview.chromium.org/2018933004
* Fix return from nullptr to false in GrVkTexture.cppGravatar bsalomon2016-05-14
| | | | | | | TBR=egdaniel@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978113002 Review-Url: https://codereview.chromium.org/1978113002
* Refactor Vulkan image, texture, RTs so that create and getter handles match.Gravatar egdaniel2016-05-13
| | | | | | | | | | This allows allows us to track and notify clients when either side changes and image layout. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974983002 Review-Url: https://codereview.chromium.org/1974983002
* Support allowSRGBInputs on Vulkan (via secondary texture views)Gravatar brianosman2016-05-12
| | | | | | | | | | | | | | All textures still have a "correct" image view that matches their actual format. For sRGB textures, we can ask for a non-sRGB view that is created on demand (and cached), in legacy mode. Finally, turn on sRGB support in Vulkan. The gamma GM now looks correct in both L32 and S32. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970293002 Review-Url: https://codereview.chromium.org/1970293002
* Reset layout to undefined when we realloc VkTexture memoryGravatar egdaniel2016-05-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1958123002 Review-Url: https://codereview.chromium.org/1958123002
* Apply setImageLayout() to all of a VkImage's subresources.Gravatar jvanverth2016-05-03
| | | | | | | | | | | This also adds fLevelCount to GrVkImage::Resource, which allows clients to wrap mipmapped textures. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1943933002 TBR=bsalomon@google.com Review-Url: https://codereview.chromium.org/1943933002
* Add mipmap loading to Vulkan.Gravatar jvanverth2016-04-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1925303002 Review-Url: https://codereview.chromium.org/1925303002
* Fix vulkan build on linux and androidGravatar egdaniel2016-04-28
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1921963003 Review-Url: https://codereview.chromium.org/1921963003
* Add automatic generation of mipmaps to VulkanGravatar jvanverth2016-04-26
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1916563002 Review URL: https://codereview.chromium.org/1916563002
* Refactor to separate backend object lifecycle and GpuResource budget decisionGravatar kkinnunen2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor GrGpuResource to contain two different pieces of state: a) instance is budgeted or not budgeted b) instance references wrapped backend objects or not The "object lifecycle" was also attached to backend object handles (ids), which made the code a bit unclear. Backend objects would be associated with GrGpuResource::LifeCycle, even though GrGpuResource::LifeCycle refers to the GpuResource, and individual backend objects in one GpuResource might be governed with different "lifecycle". Mark the budgeted/not budgeted with SkBudgeted::kYes, SkBudgeted::kNo. This was previously GrGpuResource::kCached_LifeCycle, GrGpuResource::kUncached_LifeCycle. Mark the "references wrapped object" with boolean. This was previously GrGpuResource::kBorrowed_LifeCycle, GrGpuResource::kAdopted_LifeCycle for GrGpuResource. Associate the backend object ownership status with GrBackendObjectOwnership for the backend object handles. The resource type leaf constuctors, such has GrGLTexture or GrGLTextureRenderTarget take "budgeted" parameter. This parameter is passed to GrGpuResource::registerWithCache(). The resource type intermediary constructors, such as GrGLTexture constructors for class GrGLTextureRenderTarget do not take "budgeted" parameters, intermediary construtors do not call registerWithCache. Removes the need for tagging GrGpuResource -derived subclass constructors with "Derived" parameter. Makes instances that wrap backend objects be registered with a new function GrGpuResource::registerWithCacheWrapped(). Removes "budgeted" parameter from classes such as StencilAttahment, as they are always cached and never wrap any external backend objects. Removes the use of concept "external" from the member function names. The API refers to the objects as "wrapped", so make all related functions use the term consistently. No change in functionality. Resources referencing wrapped objects are always inserted to the cache with budget decision kNo. BUG=594928 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862043002 Review URL: https://codereview.chromium.org/1862043002
* Update min Vulkan version to 1.0.8.0, and fix various bugsGravatar egdaniel2016-04-21
| | | | | | | | | | | | | | | | | | | | With updating the SDK, the debug layers also showed multiple bugs. I have fixed those as well in this CL. These include: 1. Incorrectly tracking the allocated descriptor sets from the descriptor pools 2. Using MemoryBarriers inside render passes. 3. Correctly setting the Stencil Image layout anytime we are using a render pass with a stencil attachment 4. Setting the correct aspect mask for Depth/Stencil in a barrier. TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1906623002 Review URL: https://codereview.chromium.org/1906623002
* Style bikeshed - remove extraneous whitespaceGravatar halcanary2016-03-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002 Review URL: https://codereview.chromium.org/1842753002
* Fix borrowed GrVkImage::Resource.Gravatar jvanverth2016-03-22
| | | | | | | | | | | | With the current system, if we wrap a given GrVkTextureInfo*, add a command using it to the command buffer, then delete the texture, the command buffer will unref the GrVkImage::Resource when it's done, which will delete the VkImage and VkDeviceMemory. This subclasses GrVkImage::Resource for those cases, and will not delete the data on an unref. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1824123002 Review URL: https://codereview.chromium.org/1824123002
* Implement Vulkan GrBackendObject for textures.Gravatar jvanverth2016-03-18
| | | | | | | BUG=skia:5043 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1808263002 Review URL: https://codereview.chromium.org/1808263002
* Add support for vertex and geometry shader texturesGravatar cdalton2016-03-11
| | | | | | | | | | | Adds a visibility bitfield to GrTextureAccess that controls in which shaders the texture should be accessible. Also adds caps and validation to ensure we don't exceed texture limits. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1782583002 Review URL: https://codereview.chromium.org/1782583002
* Get Vk compiling post-MIP map changesGravatar bsalomon2016-03-02
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1761473002 NOTRY=true Review URL: https://codereview.chromium.org/1761473002
* Add vulkan files into skia repo. This is an incomplete backend with only ↵Gravatar Greg Daniel2016-02-22
| | | | | | | | | | | | | | partial functionality at this time. R=robertphillips@google.com TBR=bsalomon@google.com BUG=skia:4955 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1718693002 Committed: https://skia.googlesource.com/skia/+/48cf268defad66f58f1aa03b4835e5583be96b2f Review URL: https://codereview.chromium.org/1718693002
* Revert of Add vulkan files into skia repo. (patchset #2 id:20001 of ↵Gravatar egdaniel2016-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1718693002/ ) Reason for revert: breaking builds Original issue's description: > Add vulkan files into skia repo. This is an incomplete backend with only partial functionality at this time. > > R=robertphillips@google.com > TBR=bsalomon@google.com > > BUG=skia:4955 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1718693002 > > Committed: https://skia.googlesource.com/skia/+/48cf268defad66f58f1aa03b4835e5583be96b2f TBR=robertphillips@google.com,bsalomon@google.com,jvanverth@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4955 Review URL: https://codereview.chromium.org/1723503002
* Add vulkan files into skia repo. This is an incomplete backend with only ↵Gravatar Greg Daniel2016-02-22
partial functionality at this time. R=robertphillips@google.com TBR=bsalomon@google.com BUG=skia:4955 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1718693002 Review URL: https://codereview.chromium.org/1718693002