aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Remove unnecessary code in SkGpuDevice::drawRRectGravatar Brian Osman2017-09-14
| | | | | | | | Bug: skia: Change-Id: Ied1e4bd89305695957faa2328e363304beb90a21 Reviewed-on: https://skia-review.googlesource.com/46840 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Change visitProxies signatureGravatar Robert Phillips2017-09-14
| | | | | | | | | | | There is a perf regression (mainly on the Nexus5) for the https://skia-review.googlesource.com/c/skia/+/46200 (Add method to iterate over a GrOp's GrSurfaceProxies) This is one candidate. Change-Id: I995d3a88bad2a914f24b49512abbf01aeaf579c8 Reviewed-on: https://skia-review.googlesource.com/46586 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove unused GPU RGB to YUV codeGravatar Brian Osman2017-09-14
| | | | | | | | Bug: skia: Change-Id: I2e164ef1d7de05e6e1eb1b7d7d4d3efeb785dd43 Reviewed-on: https://skia-review.googlesource.com/46562 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@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>
* Remove invalid SkRRect asserts in GrShapeGravatar Brian Osman2017-09-14
| | | | | | | | | | | Due to floating point math, it's possible to add a round-rect to a path, then pull it back out and have the type change. Bug: skia:7037 Change-Id: I071b77378da08b873ff9d68fdac2373370faa71c Reviewed-on: https://skia-review.googlesource.com/46585 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Make GrCopySurfaceOp participate in the GrOplist DAGGravatar Robert Phillips2017-09-14
| | | | | | | Change-Id: Ic72884c8447ad950a91a2afe9566dd5a92dd6f11 Reviewed-on: https://skia-review.googlesource.com/46582 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Finish restoring GrOpList DAGGravatar Robert Phillips2017-09-14
| | | | | | | Change-Id: I2a674ce7442a444a78a53144279e88ba744eaf48 Reviewed-on: https://skia-review.googlesource.com/46462 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Pull non-substantive changes out of explicit GPU resource allocation CLGravatar Robert Phillips2017-09-13
| | | | | | | Change-Id: Ib6a289553ecd15c722599b7dc0d347a7800801cb Reviewed-on: https://skia-review.googlesource.com/46284 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add method to iterate over a GrOp's GrSurfaceProxiesGravatar Robert Phillips2017-09-13
| | | | | | | | | The extra generality of having a std::function is for MDB reordering. In the current MDB reordering world there is one pass through the surfaceProxies at creation time and a second pass after flush to create the usage intervals. Change-Id: I3f548417eddc1dad7503d919241301e404255ffe Reviewed-on: https://skia-review.googlesource.com/46200 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Adjust GPU YUV -> RGB (JPG) conversionGravatar Brian Osman2017-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | All of the published coefficients assume math is being done on bytes, and that 128 is the encoding of 0 (in the biased Cb and Cr values). When sampling an A8 texture, though, GPUs typically decode as byte/255. Thus, 128 ends up slightly larger than 0.5. To fix this, just adjust the bias terms to be scaled by 128/255, rather than 0.5. I also changed some of the other coefficients to be higher precision, based on the values in ITU-T T.871. This originally surfaced as a Chromium bug where an all-black JPG decoded to (1/255, 0, 1/255) on GPU. I've added a GM that encodes a color cube to JPG, then draws from the encoded data. GPU and CPU (libjpeg) still disagree in many cases, but the newer version performs much better (diffing gl and 8888 configs): Previously: 95.2% of pixels differ, max diff of 2, avg diff of 1 Now : 65.4% of pixels differ, max diff of 1, avg diff of 0 Bug: skia:7038 chromium:763605 Change-Id: I4801db9f6e2fc4d4109eb5e27c9499f214084d38 Reviewed-on: https://skia-review.googlesource.com/45842 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Improve heuristics for when to use ccprGravatar Chris Dalton2017-09-12
| | | | | | | | | | | | | Gives the convex and tessellating renderers first claim on larger paths, and the distance field renderer first claim on complex, non-volatile paths. This also requires plumbing the clip bounds through GrPathRenderer::CanDrawPathArgs. Bug: skia: Change-Id: I16e1d35ad5ee63251e33f113b1579cbba60456da Reviewed-on: https://skia-review.googlesource.com/42224 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Minor cleanups for CCPRGravatar Chris Dalton2017-09-12
| | | | | | | | Bug: skia: Change-Id: Ic4838f0e242ded0c3d0cb5c86715ed67d8152f5c Reviewed-on: https://skia-review.googlesource.com/44520 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add support for additional textures in GrDrawOpAtlasGravatar Jim Van Verth2017-09-12
| | | | | | | | | | Step two in supporting growable/shrinkable atlases. Bug: skia:3550 Change-Id: I0cdec2a9f59cc8ced071bfeec2f8ed5a228c4b7a Reviewed-on: https://skia-review.googlesource.com/43260 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove repeated conditional in TextureOp.Gravatar Brian Salomon2017-09-11
| | | | | | | Change-Id: I57ef380202183580a953dec2617c8210ccab8927 Reviewed-on: https://skia-review.googlesource.com/45160 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Switch to the new SkSL lexer.""Gravatar Ethan Nicholas2017-09-11
| | | | | | | | | | This reverts commit 358515491a0d6891e6a709688a30ad087df1beb1. Bug: skia: Change-Id: I013fac0ed83774d8ae7c6ee6819045cab37f5e97 Reviewed-on: https://skia-review.googlesource.com/45180 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Do software clip mask generation with worker threadsGravatar Brian Osman2017-09-11
| | | | | | | | | | | Also refactor the prepare callback stuff to share logic between software path rendering and clip mask generation. Bug: skia: Change-Id: I0c56c6df8703eb59d2d49a4c3985bd4f5ef20f01 Reviewed-on: https://skia-review.googlesource.com/44421 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Switch to the new SkSL lexer."Gravatar Ethan Nicholas2017-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c576e93d174f3106e072a2f506bca3990b541265. Reason for revert: ASAN failures Original change's description: > Switch to the new SkSL lexer. > > This completely replaces flex with a new in-house lexical analyzer generator, > which we have done for performance and memory usage reasons. Flex requires us > to copy strings every time we need the text of a token, whereas this new lexer > allows us to handle strings as a (non-null-terminated) pointer and length > everywhere, eliminating most string copies. > > Bug: skia: > Change-Id: I2add26efc9e20cb699520e82abcf713af3968aca > Reviewed-on: https://skia-review.googlesource.com/39780 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=bsalomon@google.com,ethannicholas@google.com Change-Id: If27b750a5f696d06a6bcffed12fe9f0598e084a6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/44881 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Switch to the new SkSL lexer.Gravatar Ethan Nicholas2017-09-11
| | | | | | | | | | | | | | This completely replaces flex with a new in-house lexical analyzer generator, which we have done for performance and memory usage reasons. Flex requires us to copy strings every time we need the text of a token, whereas this new lexer allows us to handle strings as a (non-null-terminated) pointer and length everywhere, eliminating most string copies. Bug: skia: Change-Id: I2add26efc9e20cb699520e82abcf713af3968aca Reviewed-on: https://skia-review.googlesource.com/39780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Add multitexture support to text and path shaders, take 3.Gravatar Jim Van Verth2017-09-11
| | | | | | | | | | | This does not add additional textures to the atlases, just adds the ability to access those textures in the shaders. Bug: skia:3550 Change-Id: I4c1da2bc374a76131f5f4ad946543e03e0ab3126 Reviewed-on: https://skia-review.googlesource.com/44841 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "Revert "Add multitexture support to text and path shaders"""Gravatar Mike Klein2017-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6c251d24cf90a5c4c091bb7b7373e72705f716d2. Reason for revert: crashes Fuchsia. Original change's description: > Revert "Revert "Add multitexture support to text and path shaders"" > > This does not add additional textures to the atlases, just adds the > ability to access those textures in the shaders. > > Bug: skia:3550 > Change-Id: I552e2c2e4713a5ea68801fdb8e3bab3867e77988 > Reviewed-on: https://skia-review.googlesource.com/44261 > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=jvanverth@google.com,robertphillips@google.com Change-Id: I25cc5f11a1fa76ca7b2cf24920ae3a2a15aac723 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:3550 Reviewed-on: https://skia-review.googlesource.com/44540 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Remove isMipMapped from GrSurfaceDesc" and follow up find exact ↵Gravatar Greg Daniel2017-09-08
| | | | | | | | | | | | | | | scratch CL This reverts commit 52cb5fe23b8f960bb3248620c8f4e2f2957b6685. This reverts commit e1fbf170580a4b932d0abcb11593fb1ef0cac60b. TBR:bsalomon@googole.com Bug: chromium:763333 Change-Id: Ie94e00c3c7231e32f009b9dc7bb51ebb53baf7b1 Reviewed-on: https://skia-review.googlesource.com/44400 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* CCPR: Check for flat lines before crunching on curvesGravatar Chris Dalton2017-09-08
| | | | | | | | Bug: skia: Change-Id: Ib99f3f83aee4c261ef1cfc4e1045b2be3113e1ae Reviewed-on: https://skia-review.googlesource.com/43100 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Add multitexture support to text and path shaders""Gravatar Jim Van Verth2017-09-08
| | | | | | | | | | This does not add additional textures to the atlases, just adds the ability to access those textures in the shaders. Bug: skia:3550 Change-Id: I552e2c2e4713a5ea68801fdb8e3bab3867e77988 Reviewed-on: https://skia-review.googlesource.com/44261 Reviewed-by: Robert Phillips <robertphillips@google.com>
* Update GrResourceCache changeUniqueKey to stay in valid state after each stepGravatar Greg Daniel2017-09-08
| | | | | | | | | | | | The issues are that we are intertwining removing things from the old and new resource. This changes it so we do all the removal on the old resource first then start updating the new resource. Bug: skia: Change-Id: I7ce4a309290cd499cdc4398c87d1cfd42ef6994d Reviewed-on: https://skia-review.googlesource.com/44242 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Skip making a surface context when doing threaded SW pathsGravatar Brian Osman2017-09-08
| | | | | | | | Bug: skia: Change-Id: I4f78abc836f22a216e94a47cb2a7414edccbd2b6 Reviewed-on: https://skia-review.googlesource.com/44201 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Add multitexture support to text and path shaders"Gravatar Jim Van Verth2017-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7f754260f7fc2ae0326a072dd2f0429e584f8ca0. Reason for revert: Bot failures. Original change's description: > Add multitexture support to text and path shaders > > This does not add additional textures to the atlases, just adds the > ability to access those textures in the shaders. > > Bug: skia:3550 > Change-Id: I636b329a6f748b6753f5f92a70066fb412623df2 > Reviewed-on: https://skia-review.googlesource.com/43000 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I5c28ea48ed9bdde2cd936ef4f96fc720d5e4b4a5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:3550 Reviewed-on: https://skia-review.googlesource.com/44162 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "Make TextureOp use multitexturing to batch draws of ↵Gravatar Brian Salomon2017-09-08
| | | | | | | | | | | | different SkImages."" This reverts commit 4e95a88c83fcada8b245b6c0860deba5ccdcf825. Bug: skia: Change-Id: I5f849abff3f8406587e3d7cf990f50ef14fc4656 Reviewed-on: https://skia-review.googlesource.com/44220 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add multitexture support to text and path shadersGravatar Jim Van Verth2017-09-08
| | | | | | | | | | | This does not add additional textures to the atlases, just adds the ability to access those textures in the shaders. Bug: skia:3550 Change-Id: I636b329a6f748b6753f5f92a70066fb412623df2 Reviewed-on: https://skia-review.googlesource.com/43000 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Improve GrPathRendererChain heuristicsGravatar Chris Dalton2017-09-07
| | | | | | | | | | | | Changes GrPathRenderer::canDrawPath to return a 'CanDrawPath' enum, which contains a new kAsBackup value that means "I'm better than SW, but give the path renderers below me a chance first." Bug: skia: Change-Id: Ia339567800a3127e61b9beaed19504cd504f18af Reviewed-on: https://skia-review.googlesource.com/43761 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Make TextureOp use multitexturing to batch draws of different SkImages."Gravatar Robert Phillips2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2e50d0f5f93f1290341be02a1aa553b981f9774f. Reason for revert: Shader compilation error Original change's description: > Make TextureOp use multitexturing to batch draws of different SkImages. > > On a benchmark drawing small texture backed images this shows a 50% improvement on a Pixel XL 2016 and a little better than that on a Z840. > > Change-Id: I5c307ef0d8615aeae67bae7393874ad7e52eb233 > Reviewed-on: https://skia-review.googlesource.com/42121 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: I28b9a139627e2492a2af53dd82fc8c43be94464b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/43920 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Update GenerateMipMapsAndUploadtoTextureProxy to respect color space when ↵Gravatar Greg Daniel2017-09-07
| | | | | | | | | | setting up SurfaceDesc Bug: skia: Change-Id: Ie98c9c565ee9e2fd4d405389be9e9487cf71f951 Reviewed-on: https://skia-review.googlesource.com/43743 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Make TextureOp use multitexturing to batch draws of different SkImages.Gravatar Brian Salomon2017-09-07
| | | | | | | | | On a benchmark drawing small texture backed images this shows a 50% improvement on a Pixel XL 2016 and a little better than that on a Z840. Change-Id: I5c307ef0d8615aeae67bae7393874ad7e52eb233 Reviewed-on: https://skia-review.googlesource.com/42121 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Improve GrPathRendererChain heuristics"Gravatar Chris Dalton2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 60f42494f5d45c38e260ce089cdddfb600f799b2. Reason for revert: breaking gold Original change's description: > Improve GrPathRendererChain heuristics > > Changes GrPathRenderer::canDrawPath to return a 'CanDrawPath' enum, > which contains a new kAsBackup value that means "I'm better than SW, > but give the path renderers below me a chance first." > > Bug: skia: > Change-Id: I45aac5462ca1bc0bc839eb1c315db9493901a07e > Reviewed-on: https://skia-review.googlesource.com/42222 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=jvanverth@google.com,bsalomon@google.com,brianosman@google.com,csmartdalton@google.com,senorblanco@google.com Change-Id: I46020dbd56b6f6b88668894285b9b7b80f89b9a2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/43780 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Update mtl backend to use GrSamplerStateGravatar Brian Salomon2017-09-07
| | | | | | | Bug: skia: Change-Id: I9f9469f6c250f80095b9c36539226919fa54c75e Reviewed-on: https://skia-review.googlesource.com/43740 Reviewed-by: Greg Daniel <egdaniel@google.com>
* Improve GrPathRendererChain heuristicsGravatar Chris Dalton2017-09-07
| | | | | | | | | | | | | Changes GrPathRenderer::canDrawPath to return a 'CanDrawPath' enum, which contains a new kAsBackup value that means "I'm better than SW, but give the path renderers below me a chance first." Bug: skia: Change-Id: I45aac5462ca1bc0bc839eb1c315db9493901a07e Reviewed-on: https://skia-review.googlesource.com/42222 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@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>
* Revert "Remove "content" rect from GrTextureAdjuster."Gravatar Brian Salomon2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6e4bbbefe153495cf34ea42aa72691756e6ab40e. Reason for revert: assertion failure Original change's description: > Remove "content" rect from GrTextureAdjuster. > > Since we got rid of texture-backed bitmaps this is no longer required. > > Change-Id: Id15c745994a3d6a1489e193b5d29916fa0931264 > Reviewed-on: https://skia-review.googlesource.com/36340 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I2229ec05079368ff196ff351107f88062080e5ec No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/43720 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove "content" rect from GrTextureAdjuster.Gravatar Brian Salomon2017-09-07
| | | | | | | | | Since we got rid of texture-backed bitmaps this is no longer required. Change-Id: Id15c745994a3d6a1489e193b5d29916fa0931264 Reviewed-on: https://skia-review.googlesource.com/36340 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add rect clip optimization to GrRenderTargetContext::drawTextureAffineGravatar Brian Salomon2017-09-07
| | | | | | | | Bug: skia: Change-Id: Ibca6bdf9dc72a2b1579a5eb4c22d30e32b964f83 Reviewed-on: https://skia-review.googlesource.com/40803 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Try finding exact scratch texture in cache before approxGravatar Greg Daniel2017-09-06
| | | | | | | | Bug: skia: Change-Id: Ia65b94bde7aa52e951ba94a0012e794f02c3177e Reviewed-on: https://skia-review.googlesource.com/42940 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove isMipMapped from GrSurfaceDescGravatar Greg Daniel2017-09-06
| | | | | | | | Bug: skia: Change-Id: Id3864aad7ff9636362c9c54ef411a02af9c83fbf Reviewed-on: https://skia-review.googlesource.com/42083 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Init hardware buffer state in GrGLGpuGravatar Rob Phillips2017-09-06
| | | | | | | Change-Id: I827e158703941ef61b2f390751b7521acdeeb951 Reviewed-on: https://skia-review.googlesource.com/42824 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* CCPR: Remove cubic insets and MSAA bordersGravatar Chris Dalton2017-09-05
| | | | | | | | | | | | | | | Avoids the need for MSAA cubic borders by chopping up the cubic geometry and crossing the inflections points and loop intersections with lines and quadratic(s) instead. This allows us to render the remaining cubic segments with simple hulls and analytic AA, giving better image quality and performance. Bug: skia: Change-Id: If371229f575ee0286c325c230a116d602a9d38ce Reviewed-on: https://skia-review.googlesource.com/41883 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* CCPR: Rewrite path parsingGravatar Chris Dalton2017-09-05
| | | | | | | | | | | | Creates a GrCCPRGeometry class that chops contours up into simple segments that ccpr can render, and rewrites the GPU buffer creation to be able to handle arbitrary lengths of ccpr geometry. Bug: skia: Change-Id: Iaa173a02729e177b0ed7ef7fbb9195d349be689d Reviewed-on: https://skia-review.googlesource.com/41963 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Unbind xfer buffer in a couple more placesGravatar Brian Osman2017-09-05
| | | | | | | | | | | Move code into a helper function, make sure that all TexImage and TexSubImage calls are correctly unbinding. Bug: skia: Change-Id: I79bfa0af43a08f775186a867167fa67b4437688c Reviewed-on: https://skia-review.googlesource.com/42640 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Unbind xfer buffer before trying to call TexImage2DGravatar Brian Osman2017-09-05
| | | | | | | | Bug: skia: Change-Id: Ie36cebc14c4f4e47f143ae79efbea7088637acf4 Reviewed-on: https://skia-review.googlesource.com/42523 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Cosmetic changes to GrDrawOpAtlasGravatar Robert Phillips2017-09-01
| | | | | | | | | | | | | | | It looks like we won't be going in the direction of: https://skia-review.googlesource.com/c/skia/+/35962 (Allow GrDrawOpAtlas to grow & shrink) Pull out what is worth keeping. TBR=bsalomon@google.com Change-Id: Ia14c3c621e7b1d2d7f303a455a3e4d9660af5f6e Reviewed-on: https://skia-review.googlesource.com/41362 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* With threaded software paths, free mask memory earlierGravatar Brian Osman2017-09-01
| | | | | | | | | | | | | This alleviates memory pressure in my benchmarking, and makes a measurable impact on overall time when drawing many SW paths. Bug: skia: Change-Id: Iacabc9aa51522578da9f4d9411995b8d4fd381ba Reviewed-on: https://skia-review.googlesource.com/41848 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add methods for converting GrShape to filled styleGravatar Brian Salomon2017-09-01
| | | | | | | | Bug: skia: Change-Id: I6726428d1358909972adec8d63686b637ef5bb5e Reviewed-on: https://skia-review.googlesource.com/40222 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@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>