aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/vk/GrVkPipelineStateBuilder.cpp
Commit message (Collapse)AuthorAge
* sksl: Add a "sk_Clockwise" built-inGravatar Chris Dalton2018-07-27
| | | | | | | | | | | This allows us to identify clockwise-winding triangles, in terms of Skia device space, in all backends and with all render target origins. Bug: skia: Change-Id: I220e1c459e0129d1cc4dee6458ef94277fbedd21 Reviewed-on: https://skia-review.googlesource.com/142662 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Remove texel buffer support.Gravatar Brian Salomon2018-07-13
| | | | | | | Change-Id: Ia6f21afe714208979a5bc384e436b28ea2b9a297 Reviewed-on: https://skia-review.googlesource.com/141051 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Put GrPrimitiveProcessor/GrGeometryProcessor before GrPipeline in param lists.Gravatar Brian Salomon2018-06-25
| | | | | | | | | | | We were inconsistent about which order these were in. Having the processor first will make the parameter order more logical for an upcoming change. Also, the primitive processor comes logically before the pipeline. Change-Id: I3968c5e4e6dff01f9c4ad311eb1795b3c7580ff5 Reviewed-on: https://skia-review.googlesource.com/137228 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove include of GrGLProgramBuilder.h from GrGLProgram.h and ↵Gravatar Brian Salomon2018-06-08
| | | | | | | | | | | | | | | | | | | | | GrVkPipelineState.h Make GrGLProgram and GrCkPipelineState cons. public and remove builder friendship. Neither GrGLProgram nor GrVkPipelineState need to know their Desc so remove it. Move the VK desc subclass defn. to GrVkPipelineStateBuilder since it needs it while GrVkPipelineState does not. Some IWYU improvements. Move declaration of the built-in uniform struct to GrGLSLUniformHandler.h from GrGLSLProgramBuilder.h. Change-Id: Ib46817408a83a79a0f718ba2bc19411410d9065a Reviewed-on: https://skia-review.googlesource.com/133060 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove GrGLSLFragProcs typedef. Use unique_ptr to for ↵Gravatar Brian Salomon2018-06-07
| | | | | | | | | GrGLSLFragmentProcessor ownership. Change-Id: Ifefbde2ec0002e7e41bed2e4bc2cd7bdd04504d0 Reviewed-on: https://skia-review.googlesource.com/132931 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Make SkSL GLSL generator declare sk_FragColor inout when EXT ↵Gravatar Brian Salomon2018-04-04
| | | | | | | | | | | | fb fetch is used."" This reverts commit d40133092ae138b3d47a1158101faec3c53c6b1f. Bug: skia: Change-Id: I236505da047d5ad29e4952d8955eb7aa1bfb870b Reviewed-on: https://skia-review.googlesource.com/118621 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Make SkSL GLSL generator declare sk_FragColor inout when EXT fb ↵Gravatar Brian Salomon2018-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | fetch is used." This reverts commit 7e1dd2017a59a748c6cb10160868780d2dffdbc0. Reason for revert: breaking fp compilation Original change's description: > Make SkSL GLSL generator declare sk_FragColor inout when EXT fb fetch is used. > > Change-Id: I5e6e3263bb49febc757cd63d5d6c1518f174322d > Reviewed-on: https://skia-review.googlesource.com/118420 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: I2aedfaff93150ba8cd1ed9fed22f3cfdd509695a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/118600 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make SkSL GLSL generator declare sk_FragColor inout when EXT fb fetch is used.Gravatar Brian Salomon2018-04-04
| | | | | | | Change-Id: I5e6e3263bb49febc757cd63d5d6c1518f174322d Reviewed-on: https://skia-review.googlesource.com/118420 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add "sharpen" option to SkSL, to LOD bias all texturesGravatar Brian Osman2018-02-13
| | | | | | | | | | | | | | | | This adds a fixed bias (-0.5) to the computed LOD of all mip-mapped texture fetches. (Technically, to all texture fetches, but that only matters for mip-mapped ones). Clients can opt-in with a new GrContextOption. Bug: skia:7541 Bug: chromium:562162 Change-Id: Ie3cd0679c4ab66f62d2dc32e7e68e5c99355115e Reviewed-on: https://skia-review.googlesource.com/106322 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Drop support for unused MSAA extensions"Gravatar Robert Phillips2018-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7df27465c4ecc8a4a0cdd95e9785c342903c2de9. Reason for revert: experimental revert to see if this is the cause of the tree redness Original change's description: > Drop support for unused MSAA extensions > > Bug: skia: > Change-Id: I113b80e3f991f195155148625ceb29242ea82776 > Reviewed-on: https://skia-review.googlesource.com/101403 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=bsalomon@google.com,csmartdalton@google.com,ethannicholas@google.com Change-Id: I4fa4123e2d176bef88cd76a09a14053d9ac5809f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/101680 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Drop support for unused MSAA extensionsGravatar Chris Dalton2018-01-29
| | | | | | | | Bug: skia: Change-Id: I113b80e3f991f195155148625ceb29242ea82776 Reviewed-on: https://skia-review.googlesource.com/101403 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Fix cleanup on program creation failureGravatar Robert Phillips2017-08-01
| | | | | | | Change-Id: Ibc9b96537f774a3b8a43848b8b626f3f036b07b3 Reviewed-on: https://skia-review.googlesource.com/29561 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Make GrPipeline hold a GrRenderTargetProxy (instead of a GrRenderTarget)Gravatar Robert Phillips2017-07-26
| | | | | | | | | | | In a future world where GrSurface no longer has an origin it will be useful for the GrPipeline to be holding the GrRenderTargetProxy (which will still have an origin). Change-Id: I743a8cc07b6b92f8116227fb77b7c37da43cde8a Reviewed-on: https://skia-review.googlesource.com/26804 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* sksl now sees vulkan capsGravatar Ethan Nicholas2017-07-18
| | | | | | | | Bug: skia: Change-Id: I41714d80685427a7711b000e61f7fc7e70371253 Reviewed-on: https://skia-review.googlesource.com/24182 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Create geometry shader modules in vulkan when using geom shadersGravatar Greg Daniel2017-05-09
| | | | | | | | | Looks like this was left off the original vulkan Geo shader change. Bug: skia: Change-Id: Iec1c09d6d7b347147e4237bad3e6b3eb4684154e Reviewed-on: https://skia-review.googlesource.com/15813 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Add support for using texel buffers in Vulkan backend.Gravatar Greg Daniel2017-05-09
| | | | | | | | Bug: skia: Change-Id: I5cc7b18263dbe28d5d8d89301111ef240109704a Reviewed-on: https://skia-review.googlesource.com/15770 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Re-land of "eliminated GrGLSLExpr".Gravatar Ethan Nicholas2017-05-08
| | | | | | | | | | | This change is exactly the same as the last time it was landed; I believe the underlying optimizer bug that was causing this to cause problems has been fixed by a prior CL. Bug: skia: Change-Id: I5436422f094ea758caa3cd69e9338db31b1f93fa Reviewed-on: https://skia-review.googlesource.com/15768 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Add support for Geom shaders in Vulkan backend.Gravatar Greg Daniel2017-05-04
| | | | | | | | | | | | | | | | Still requires SkSL support before it will work. The main changes here involve support for uniforms in the geometry shader. We use the same buffer for vertex and geometry shader stages. These uniforms are not expected to be updated as often as frag data so we keep them separate to avoid larger buffer uploads to the gpu. BUG=skia: Change-Id: I10b631c24071b6ffa258907a02a009ec6c8accd0 Reviewed-on: https://skia-review.googlesource.com/8413 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "Revert "eliminated GrGLSLExpr"""Gravatar Ethan Nicholas2017-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 796001c82eca5651bc6a221204f6186918781daf. Reason for revert: looks to be causing problems in Chrome (https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux_Trusty__dbg_/1553/layout-test-results/results.html) Original change's description: > Revert "Revert "eliminated GrGLSLExpr"" > > This reverts commit 5e550ab57e0204bfadd2cb69c47d2a85e38d6a4c. > > Bug: skia: > Change-Id: I4705e47dbd209aa8f43db3d28c856bd3aa9e49ab > Reviewed-on: https://skia-review.googlesource.com/15187 > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=ethannicholas@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I6455a4f16b2dc0d6d1265541f7117e0cfb8dd91c Reviewed-on: https://skia-review.googlesource.com/15309 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Revert "eliminated GrGLSLExpr""Gravatar Ethan Nicholas2017-05-03
| | | | | | | | | | This reverts commit 5e550ab57e0204bfadd2cb69c47d2a85e38d6a4c. Bug: skia: Change-Id: I4705e47dbd209aa8f43db3d28c856bd3aa9e49ab Reviewed-on: https://skia-review.googlesource.com/15187 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "eliminated GrGLSLExpr"Gravatar Brian Salomon2017-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 93f20f5629e52eed732d2b9d6dbbb351cc30b2cd. Reason for revert: Mismerge readded deleted files. Original change's description: > eliminated GrGLSLExpr > > Now that skslc performs all of the optimizations (and then some) that > GrGLSLExpr is responsible for, it's just extra work for no benefit. > > Bug: skia: > Change-Id: I40b0629e00a33873ed9fc6c0a9f41d8350221f9a > Reviewed-on: https://skia-review.googlesource.com/14560 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,ethannicholas@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ia8b723594527afe34489fc78a4b49039081b6390 Reviewed-on: https://skia-review.googlesource.com/15154 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* eliminated GrGLSLExprGravatar Ethan Nicholas2017-05-02
| | | | | | | | | | | Now that skslc performs all of the optimizations (and then some) that GrGLSLExpr is responsible for, it's just extra work for no benefit. Bug: skia: Change-Id: I40b0629e00a33873ed9fc6c0a9f41d8350221f9a Reviewed-on: https://skia-review.googlesource.com/14560 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Setup support for UNIFORM_TEXEL_BUFFER descriptor sets in VulkanGravatar Greg Daniel2017-05-02
| | | | | | | | | | This is the first CL to get support for using texel buffers in vulkan. Bug: skia: Change-Id: Iaac5ba4a356b487bc2b63111cca34ed968881f6b Reviewed-on: https://skia-review.googlesource.com/15100 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Replaced all calls to fragmentPosition() with sk_FragCoordGravatar Ethan Nicholas2017-02-13
| | | | | | | Change-Id: I2ed4558aea74b3ae7ee11dfe4736cdbcb16ae49e Reviewed-on: https://skia-review.googlesource.com/8278 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Replaced all calls to fragmentPosition() with sk_FragCoord"Gravatar Ethan Nicholas2017-02-02
| | | | | | | | | | | | | This reverts commit de4d301881e7fd084f1f0b359ec6f9b2bf8bd4c5. Reason for revert: several Chrome rendering bugs on Mac BUG=skia: Change-Id: I492082b0b7e7c902ede4b598c5809f604d210ce1 Reviewed-on: https://skia-review.googlesource.com/7887 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Replaced all calls to fragmentPosition() with sk_FragCoordGravatar Ethan Nicholas2017-01-19
| | | | | | | | | BUG=skia: Change-Id: I179576e148ea6caf6e1c40f0a216421898bcb35d Reviewed-on: https://skia-review.googlesource.com/5941 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* re-land of added sk_FragCoord support to skslcGravatar Ethan Nicholas2016-12-13
| | | | | | | | | BUG=skia: Change-Id: Ifac1aa39839058787ad1794200c3dbb93c147a69 Reviewed-on: https://skia-review.googlesource.com/5850 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "added sk_FragCoord support to skslc"Gravatar Greg Daniel2016-12-12
| | | | | | | | | | | This reverts commit ce33f10677630e34187b661a02161378d8304d68. Reason for revert: Breaking many gpu bots Change-Id: I94c813ed6a9311458c872f74bb1b0792f46ff414 Reviewed-on: https://skia-review.googlesource.com/5737 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* added sk_FragCoord support to skslcGravatar Ethan Nicholas2016-12-12
| | | | | | | | | BUG=skia: Change-Id: If78a4d08121699f87659f0d2e35f3edbf1867401 Reviewed-on: https://skia-review.googlesource.com/5408 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Merge GrGLSLCaps into GrShaderCapsGravatar Brian Salomon2016-11-29
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5121 Change-Id: If8d13638f80f42161cbc766a2666c5789e5772c8 Reviewed-on: https://skia-review.googlesource.com/5121 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Move GrShaderVar to an appending model for layout qualifiersGravatar Brian Salomon2016-11-22
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5144 Change-Id: I05e88961e50bd679cfe5863f413f3ec65bc9fd95 Reviewed-on: https://skia-review.googlesource.com/5144 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revive geometry shadersGravatar csmartdalton2016-11-21
| | | | | | | | | | | | | | | | Fixes the bit rot that has set in for geometry shaders. They're to a point now that we can use them again for GL experiments. Since SkSL does not support geometry shaders yet, we pass the shader string directly to the GL compiler for now. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5080 Change-Id: Ie3864e5559c810c682cf5f1709bdab87f033c43b Reviewed-on: https://skia-review.googlesource.com/5080 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Merge GrGLSLShaderVar and GrShaderVarGravatar Brian Salomon2016-11-21
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5087 Change-Id: Ib8943a1da1ea495554feaf5b0992b94fbb9539ab Reviewed-on: https://skia-review.googlesource.com/5087 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Fix double deletion of DescriptorSetLayoutsGravatar Jim Van Verth2016-11-17
| | | | | | | | | | | | | | | When VkPipeline creation fails the PipelineStateBuilder cleans up afterwards. It was deleting the sampler DescriptorSetLayout when that is owned by the ResourceProvider. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4964 Change-Id: I876c570349f96f58e0256dc91bc1135c59a2058d Reviewed-on: https://skia-review.googlesource.com/4964 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Remove GrStencilSettings from GrPipelineGravatar csmartdalton2016-11-01
| | | | | | | | | | | | | | | | Updates the GrPipeline to have user stencil settings instead of actual settings. This allows us to further defer creating and attaching a stencil buffer. This change is a partial step. The ultimate goal is to attach the stencil buffer and create the stencil settings during render target flush, but for the sake of keeping this CL smaller, we create the stencil settings right before use for now. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2468653002 Review-Url: https://codereview.chromium.org/2468653002
* Add GrVkCopyPipeline to handle vulkan copies as drawsGravatar egdaniel2016-09-27
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274663005 Review-Url: https://codereview.chromium.org/2274663005
* Move vulkan spir-v compile call to GrVkUtilGravatar egdaniel2016-09-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2355493002 Review-Url: https://codereview.chromium.org/2355493002
* Merge building of program desc in Vulkan into one stepGravatar egdaniel2016-09-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2318143002 Review-Url: https://codereview.chromium.org/2318143002
* Merge GrGLSLProgramDesc into GrProgramDescGravatar egdaniel2016-09-07
| | | | | | BUG=skia: Review-Url: https://codereview.chromium.org/2318523006
* Merge ProgramDesc's for GL and VulkanGravatar egdaniel2016-07-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184413002 Review-Url: https://codereview.chromium.org/2184413002
* Reuse sampler descriptor set allocations in VulkanGravatar egdaniel2016-07-26
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2172873003 Review-Url: https://codereview.chromium.org/2172873003
* SkSL performance improvements (plus a couple of minor warning fixes)Gravatar ethannicholas2016-07-25
| | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002 Committed: https://skia.googlesource.com/skia/+/9fd67a1f53809f5eff1210dd107241b450c48acc Review-Url: https://codereview.chromium.org/2131223002
* Revert of SkSL performance improvements (patchset #6 id:140001 of ↵Gravatar msarett2016-07-13
| | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2131223002/ ) Reason for revert: Valgrind bot failures https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/1224/steps/test_skia%20on%20Ubuntu/logs/stdio Original issue's description: > SkSL performance improvements (plus a couple of minor warning fixes) > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002 > > Committed: https://skia.googlesource.com/skia/+/9fd67a1f53809f5eff1210dd107241b450c48acc TBR=benjaminwagner@google.com,egdaniel@google.com,ethannicholas@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. Review-Url: https://codereview.chromium.org/2143323003
* SkSL performance improvements (plus a couple of minor warning fixes)Gravatar ethannicholas2016-07-12
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002 Review-Url: https://codereview.chromium.org/2131223002
* initial checkin of SkSL compilerGravatar ethannicholas2016-07-01
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1984363002 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/1984363002
* Unify DescriptorPools for vulkan uniform descriptor setsGravatar egdaniel2016-05-02
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927943002 Review-Url: https://codereview.chromium.org/1927943002
* Refactor how we store and use samplers in GaneshGravatar egdaniel2016-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The main goal of this refactorization is to allow Vulkan to use separate sampler and texture objects in the shader and descriptor sets and combine them into a sampler2d in the shader where needed. A large part of this is separating how we store samplers and uniforms in the UniformHandler. We no longer need to store handles to samplers besides when we are initially emitting code. After we emit code all we ever do is loop over all samplers and do some processor independent work on them, so we have no need for direct access to individual samplers. In the GLProgram all we ever do is set the sampler uniforms in the ctor and never touch them again, so no need to save sampler info there. The texture access on program reuse just assume that they come in the same order as we set the texture units for the samplers For Vulkan, it is a similar story. We create the descriptor set layouts with the samplers, then when we get new textures, we just assume they come in in the same order as we set the samplers on the descriptor sets. Thus no need to save direct vulkan info. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885863004 Committed: https://skia.googlesource.com/skia/+/45b61a1c4c0be896e7b12fd1405abfece799114f Review URL: https://codereview.chromium.org/1885863004
* Revert of Refactor how we store and use samplers in Ganesh (patchset #7 ↵Gravatar egdaniel2016-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/1885863004/ ) Reason for revert: breaking bots Original issue's description: > Refactor how we store and use samplers in Ganesh > > The main goal of this refactorization is to allow Vulkan to use separate > sampler and texture objects in the shader and descriptor sets and combine > them into a sampler2d in the shader where needed. > > A large part of this is separating how we store samplers and uniforms in the > UniformHandler. We no longer need to store handles to samplers besides when > we are initially emitting code. After we emit code all we ever do is loop over > all samplers and do some processor independent work on them, so we have no need > for direct access to individual samplers. > > In the GLProgram all we ever do is set the sampler uniforms in the ctor and never > touch them again, so no need to save sampler info there. The texture access on > program reuse just assume that they come in the same order as we set the texture > units for the samplers > > For Vulkan, it is a similar story. We create the descriptor set layouts with the samplers, > then when we get new textures, we just assume they come in in the same order as we > set the samplers on the descriptor sets. Thus no need to save direct vulkan info. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885863004 > > Committed: https://skia.googlesource.com/skia/+/45b61a1c4c0be896e7b12fd1405abfece799114f TBR=bsalomon@google.com,jvanverth@google.com,cdalton@nvidia.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1896013003
* Refactor how we store and use samplers in GaneshGravatar egdaniel2016-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | The main goal of this refactorization is to allow Vulkan to use separate sampler and texture objects in the shader and descriptor sets and combine them into a sampler2d in the shader where needed. A large part of this is separating how we store samplers and uniforms in the UniformHandler. We no longer need to store handles to samplers besides when we are initially emitting code. After we emit code all we ever do is loop over all samplers and do some processor independent work on them, so we have no need for direct access to individual samplers. In the GLProgram all we ever do is set the sampler uniforms in the ctor and never touch them again, so no need to save sampler info there. The texture access on program reuse just assume that they come in the same order as we set the texture units for the samplers For Vulkan, it is a similar story. We create the descriptor set layouts with the samplers, then when we get new textures, we just assume they come in in the same order as we set the samplers on the descriptor sets. Thus no need to save direct vulkan info. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885863004 Review URL: https://codereview.chromium.org/1885863004
* Fix a bunch of memory issues in VulkanGravatar egdaniel2016-04-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1867883002 Review URL: https://codereview.chromium.org/1867883002