aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/ccpr/GrCCPathParser.h
Commit message (Collapse)AuthorAge
* Refactor GrPipeline dynamic state.Gravatar Brian Salomon2018-06-26
| | | | | | | | | | | | | | | | | Remove scissor rect from GrPipeline. Draws can specify "fixed dynamic state" which doesn't use the dynamism at all or can specify dynamic state arrays with an entry per GrMesh. When we state other than scissor rects this will allow the caller to use a mix of truly dynamic and fixed dynamic state. So a caller that only has dynamic scissor rects doesn't need to store its remaining unvarying state in an array. Change-Id: I8fcc07eb600c72a26cc712b185755c2116021a8a Reviewed-on: https://skia-review.googlesource.com/137223 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* ccpr: Generalize GrCCAtlas to work for cached atlases as wellGravatar Chris Dalton2018-06-14
| | | | | | | | | | | Converts atlas offsets to SkIVector, adds a GrCCAtlasStack class, moves the Op that renders the atlases into GrCCPerFlushResources, etc. Bug: skia: Change-Id: I5110be8e74da709f3ce84bb6798ead572142d0fa Reviewed-on: https://skia-review.googlesource.com/134701 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* ccpr: Cleanup on-flush path statsGravatar Chris Dalton2018-05-09
| | | | | | | | | | | | Adds a wrapper struct to limit the number of free variables. Fixes a bug where we preallocated draw instances for clip paths. Counts conic weights and preallocates their buffer as well. Bug: skia: Change-Id: I72779c9017322a0dc64461c8cb927f975406b9af Reviewed-on: https://skia-review.googlesource.com/126844 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Remove WindMethod from GrCCCoverageProcessorGravatar Chris Dalton2018-04-09
| | | | | | | | | | | Handles weighted triangles from the tessellator instead with a "kWeightedTriangles" PrimitiveType. Bug: skia: Change-Id: I8a6f7b4205e1b3d6f340a30f3e90079ec44b8b6d Reviewed-on: https://skia-review.googlesource.com/119202 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Various cleanupsGravatar Chris Dalton2018-03-27
| | | | | | | | | | | | | Renames GrCCCoverageProcessor::RenderPass to PrimitiveType and handles corners as subpasses instead. Various touchups to coverage processors now that the overhaul is complete. This change should be strictly a refactor. Bug: skia: Change-Id: I52852463330d5ec71fae7e19fadccd9ede8b2c16 Reviewed-on: https://skia-review.googlesource.com/116169 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Fix crash on zero-length fan tessellationsGravatar Chris Dalton2018-03-09
| | | | | | | | | | | | Hardens the path parser to handle zero-length fan tessellations. In this case the vertex pointer returned by the tessellator will be null, so we need to indicate whether a tessellation exists in a different way. Bug: skia:7642 Change-Id: If29df9d08565ff613059f2d3b49ab4eb79908495 Reviewed-on: https://skia-review.googlesource.com/113362 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Fix a couple issues with tessellation and windingGravatar Chris Dalton2018-02-20
| | | | | | | | Bug: skia: Change-Id: I7c7851230e0ed19719b06e833cbf45c0ef78ddae Reviewed-on: https://skia-review.googlesource.com/107908 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* ccpr: Tessellate fans for very large and/or simple pathsGravatar Chris Dalton2018-02-14
| | | | | | | | | | | | This increases CPU work, but reduces overdraw on the GPU as compared to Redbook fanning. TBR=bsalomon@google.com Change-Id: I396b887075d4422531908c2361ee1e26f076d5c3 Reviewed-on: https://skia-review.googlesource.com/107141 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "ccpr: Tessellate fans for very large and/or simple paths"Gravatar Cary Clark2018-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4138c972effe4eb0227fbb96571df290f3d1979b. Reason for revert: broke android flutter build Original change's description: > ccpr: Tessellate fans for very large and/or simple paths > > This increases CPU work, but reduces overdraw on the GPU as compared to > Redbook fanning. > > Bug: skia: > Change-Id: I47239c964261e0014a94266a71223eab0597bfb8 > Reviewed-on: https://skia-review.googlesource.com/105203 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=bsalomon@google.com,csmartdalton@google.com Change-Id: I98b5c10b97c3fa603de5122d9bb47ca07659242c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/106620 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* ccpr: Tessellate fans for very large and/or simple pathsGravatar Chris Dalton2018-02-12
| | | | | | | | | | | This increases CPU work, but reduces overdraw on the GPU as compared to Redbook fanning. Bug: skia: Change-Id: I47239c964261e0014a94266a71223eab0597bfb8 Reviewed-on: https://skia-review.googlesource.com/105203 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Extract a GrCCPathParser class that is decoupled from atlas opsGravatar Chris Dalton2018-01-18
Allows coverage counts ultimately to be drawn either to an atlas or directly to the framebuffer. Bug: skia: Change-Id: I6cc07fce562c223381b89586d19ae98298bafe4d Reviewed-on: https://skia-review.googlesource.com/96083 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>