aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/ops/GrDrawVerticesOp.h
Commit message (Collapse)AuthorAge
* Move GrProcessorSet into GrPipelineGravatar Brian Salomon2017-08-09
| | | | | | | Change-Id: Ibfa5e1adda3c32140590aa62a31d35654cef79dd Reviewed-on: https://skia-review.googlesource.com/28187 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make GrDrawVerticesOp a non-legacy GrMeshDrawOpGravatar Brian Salomon2017-07-13
| | | | | | | Change-Id: I0e1e6815ed41764115bc84a5967b3da3be4ce147 Reviewed-on: https://skia-review.googlesource.com/22722 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add GrPrimitiveType::kLinesAdjacencyGravatar Chris Dalton2017-06-13
| | | | | | | | | | Converts GrPrimitiveType to an enum class and adds kLinesAdjacency. Bug: skia: Change-Id: I3b5e68acfb20476f6c6923968f5a4ac4f73ae12d Reviewed-on: https://skia-review.googlesource.com/19680 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Add GrPrimitiveType::kLinesAdjacency"Gravatar Ravi Mistry2017-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f7eb015083aba8942031145736251dd32094115d. Reason for revert: Looks like this is causing build failures: * https://chromium-swarm.appspot.com/task?id=36baaf4d376bbf10&refresh=10 * https://chromium-swarm.appspot.com/task?id=36baad1f17e93510&refresh=10 Original change's description: > Add GrPrimitiveType::kLinesAdjacency > > Converts GrPrimitiveType to an enum class and adds kLinesAdjacency. > > Bug: skia: > Change-Id: If57d26277182aac1375e8181211ddaf7ea6d1e0a > Reviewed-on: https://skia-review.googlesource.com/19581 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=bsalomon@google.com,csmartdalton@google.com Change-Id: I37a1c575123b357abd8b9af9eea8871fe199f44b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/19661 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* Add GrPrimitiveType::kLinesAdjacencyGravatar Chris Dalton2017-06-13
| | | | | | | | | | Converts GrPrimitiveType to an enum class and adds kLinesAdjacency. Bug: skia: Change-Id: If57d26277182aac1375e8181211ddaf7ea6d1e0a Reviewed-on: https://skia-review.googlesource.com/19581 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Do color correction of vertex colors in GPU drawVerticesGravatar Brian Osman2017-05-31
| | | | | | | | | | | SkColor vertex colors need to be linearized (from sRGB), and possibly converted from sRGB gamut to destination gamut. Bug: skia:6659 Change-Id: I2b1b1dd0fa5938519693f56a728fed5957f13fd5 Reviewed-on: https://skia-review.googlesource.com/17534 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Only support SkVertices in GrDrawVerticesOp and GrRenderTargetContextGravatar Brian Osman2017-05-26
| | | | | | | | | | | | Allow overriding the primitive type at draw time, so everyone can funnel through the same code path. Simplifies the color array type logic, and saves one memcpy (of indices) in the drawWireframe case. Bug: skia: Change-Id: I46653d34169842b9b5304cff48d804b2a9ace529 Reviewed-on: https://skia-review.googlesource.com/17783 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fix flag collision in GrDrawVerticesOpGravatar Brian Osman2017-05-23
| | | | | | | | | | | We were setting a flag meant for Mesh.fFlags on the Op's fFlags. Switch the Mesh's flags to be a pair of bools, to avoid this in the future. Bug: skia: Change-Id: Ib660f3bc9c54874d088a85251f629758c365c8c6 Reviewed-on: https://skia-review.googlesource.com/17766 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Move pipeline handling out of GrMeshDrawOp.Gravatar Brian Salomon2017-04-03
| | | | | | | | | | | The monolithic GrPipeline is moved to a subclass GrLegacyDrawMeshOp. The pipeline used to record a GrMesh draw in a GrMeshDrawOp must now be passed rather than implicitly using the op's pipeline. Change-Id: I50d77e4dcc8d91a523fa7566ce43a9a291174706 Reviewed-on: https://skia-review.googlesource.com/11002 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Renames of processor analysis-related classes and method.Gravatar Brian Salomon2017-03-30
| | | | | | | | | | | | GrProcesserSet::FragmentProcessorAnalysis->GrProcessorSet::Analysis GrPipelineAnalysisColor->GrProcessorAnalysisColor GrPipelineAnalysisCoverage->GrProcessorAnalysisCoverage GrMeshDrawOp::getFragmentProcessorAnalysisInputs->GrMeshDrawOp::getProcessorAnalysisInputs Change-Id: I28ad19dfab5f4ac1788c4eacdec5e1af2a701dd0 Reviewed-on: https://skia-review.googlesource.com/10747 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove GrPipelineOptimizations computation from GrPipeline::init and nest in ↵Gravatar Brian Salomon2017-03-29
| | | | | | | | | GrMeshDrawOp. Change-Id: I4a702c83857606c1cb050294c408922eef5769ea Reviewed-on: https://skia-review.googlesource.com/10414 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Split GrPipelineInput into separate color and coverage types, the latter of ↵Gravatar Brian Salomon2017-03-27
| | | | | | | | | | | | | | | which is just an enum. Assign names that indicate that they aren't just for the input phase since I plan to use them at the boundary between FPs and XPs as well. Renamed GrProcOptInfo to GrColorFragmentProcessorAnalysis. This is now only used on the color side and the new name seems clearer to me. Change GrMeshDrawOp::getFragmentProcessorAnalysisInputs to use the new color/coverage types directly rather than a class that has been reduced to simply bundling them together. Change-Id: If93bae74c9d590486eecdf63f302418c96deab65 Reviewed-on: https://skia-review.googlesource.com/10161 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* remove unused VerticesFlagsGravatar Mike Reed2017-03-16
| | | | | | | | | | | | Deferring removing the flags parameter from the virtuals until a later CL (as it collides with another related CL) BUG=skia:6366 Change-Id: I817fae3df03ecebe5ec3532f691ed06deab890e6 Reviewed-on: https://skia-review.googlesource.com/9739 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert[4] "store vertices arrays inline with object""""Gravatar Mike Reed2017-03-16
| | | | | | | | | | | This reverts commit 0c492cfe1713d6895d1d513e754d938ff0faa5e5. BUG=skia: Change-Id: I63bce834fee6dd6f043b3889ac4ec287dd03d2e6 Reviewed-on: https://skia-review.googlesource.com/9809 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert[3] "store vertices arrays inline with object"""Gravatar Mike Reed2017-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7d9f9e30204ee8a380443b868e4cc281319a2051. Reason for revert: speculative revert to try to fix google3 Original change's description: > Revert[2] "store vertices arrays inline with object"" > > This reverts commit 9e62df6ecd1000860ad19ab9425579dfb7002ba0. > > Reason for revert: behavior in reader32 fixed > > Fix is here: https://skia-review.googlesource.com/c/9729/ > > Original change's description: > > Revert "store vertices arrays inline with object" > > > > This reverts commit eaaebb19a17d213355e7a70e0cfabe4ba61929d4. > > > > Reason for revert: may call SkReader32::read(null, 0) -- reader needs to handle this > > > > Original change's description: > > > store vertices arrays inline with object > > > > > > Also unify some of naming (esp. around texCoords) > > > > > > BUG=skia:6366 > > > > > > Change-Id: I5a6793f029cccf0cd0a2c1d180b259ce4eab526f > > > Reviewed-on: https://skia-review.googlesource.com/9705 > > > Commit-Queue: Mike Reed <reed@google.com> > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > > > > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=skia:6366 > > > > Change-Id: Ie421654bcd74d74f8be6676291e3d6e16e2a7a16 > > Reviewed-on: https://skia-review.googlesource.com/9727 > > Reviewed-by: Mike Reed <reed@google.com> > > Commit-Queue: Mike Reed <reed@google.com> > > > > TBR=bsalomon@google.com,reviews@skia.org,reed@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia:6366 > > Change-Id: I1f12108fff8f551d66455cfadd6d5dd9412e9aa8 > Reviewed-on: https://skia-review.googlesource.com/9760 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=bsalomon@google.com,reviews@skia.org,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6366 Change-Id: Ie23130a07fbecd5664e37291bc167008a6b496bc Reviewed-on: https://skia-review.googlesource.com/9806 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert[2] "store vertices arrays inline with object""Gravatar Mike Reed2017-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9e62df6ecd1000860ad19ab9425579dfb7002ba0. Reason for revert: behavior in reader32 fixed Fix is here: https://skia-review.googlesource.com/c/9729/ Original change's description: > Revert "store vertices arrays inline with object" > > This reverts commit eaaebb19a17d213355e7a70e0cfabe4ba61929d4. > > Reason for revert: may call SkReader32::read(null, 0) -- reader needs to handle this > > Original change's description: > > store vertices arrays inline with object > > > > Also unify some of naming (esp. around texCoords) > > > > BUG=skia:6366 > > > > Change-Id: I5a6793f029cccf0cd0a2c1d180b259ce4eab526f > > Reviewed-on: https://skia-review.googlesource.com/9705 > > Commit-Queue: Mike Reed <reed@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia:6366 > > Change-Id: Ie421654bcd74d74f8be6676291e3d6e16e2a7a16 > Reviewed-on: https://skia-review.googlesource.com/9727 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=bsalomon@google.com,reviews@skia.org,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6366 Change-Id: I1f12108fff8f551d66455cfadd6d5dd9412e9aa8 Reviewed-on: https://skia-review.googlesource.com/9760 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "store vertices arrays inline with object"Gravatar Mike Reed2017-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit eaaebb19a17d213355e7a70e0cfabe4ba61929d4. Reason for revert: may call SkReader32::read(null, 0) -- reader needs to handle this Original change's description: > store vertices arrays inline with object > > Also unify some of naming (esp. around texCoords) > > BUG=skia:6366 > > Change-Id: I5a6793f029cccf0cd0a2c1d180b259ce4eab526f > Reviewed-on: https://skia-review.googlesource.com/9705 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6366 Change-Id: Ie421654bcd74d74f8be6676291e3d6e16e2a7a16 Reviewed-on: https://skia-review.googlesource.com/9727 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* store vertices arrays inline with objectGravatar Mike Reed2017-03-15
| | | | | | | | | | | Also unify some of naming (esp. around texCoords) BUG=skia:6366 Change-Id: I5a6793f029cccf0cd0a2c1d180b259ce4eab526f Reviewed-on: https://skia-review.googlesource.com/9705 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add a separate draw function to GrRenderTargetContext for GrMeshDrawOp ↵Gravatar Brian Salomon2017-03-09
| | | | | | | | | | | | derived classes. The first phase of deferring GrPipeline creation until flush will apply only to GrDrawOp subclasses that do not derive from GrMeshDrawOp. This change prepares for that by creating separate draw functions on GrRenderTargetContext for GrMeshDrawOp-derived ops. This is temporary and will incrementally be undone as pipeline-creation deferral rolls out to the GrMeshDrawOps in a later phase of this work. Change-Id: I0f5b71fe913f3273cfe9e965f7d8bbe7f01ad0ef Reviewed-on: https://skia-review.googlesource.com/9481 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make GrPipelineAnalysis a nested class of GrProcessorSet.Gravatar Brian Salomon2017-02-22
| | | | | | | | | | | | | | | | It is renamed to FragmentProcessorAnalysis since it represents the outputs of the final FPs. It now stores the analysis results that are subsequently needed rather than exposing GrProcOptInfo. GrProcOptInfo is now only used on color FPs (not coverage). Miscellaneous related renamings. Change-Id: I95c518a7a76df6dc294a9fa67c611f8f653247bc Reviewed-on: https://skia-review.googlesource.com/8534 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add refcnt'ed immutable vertices class for SkCanvas::drawVertices.Gravatar Brian Salomon2017-02-06
| | | | | | | Change-Id: I44a62f5efc674d0adbbf4a33690c3ded9fab3803 Reviewed-on: https://skia-review.googlesource.com/8040 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Batch across matrix changes in drawVertices and add GM to test.Gravatar Brian Salomon2017-02-03
| | | | | | | Change-Id: I6b08d37781e3c715a1d9d8c9729667ec78625836 Reviewed-on: https://skia-review.googlesource.com/7949 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make SkGpuDevice::drawVertices perform color byte order swap and premul step ↵Gravatar Brian Salomon2017-01-30
| | | | | | | | | using vertex shader. Change-Id: I8153ba8c6bb48d8b15d524fbfafbe3c6d83f39c5 Reviewed-on: https://skia-review.googlesource.com/7727 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Removing tracking of whether GP/FP coverage calculations are used by XP.Gravatar Brian Salomon2017-01-04
| | | | | | | | | | | | | | | Remove readsCoverage from GrPipelineOptimizations Remove kNone from GrDefaultGeoProc::Coverage Remove kIgnoreCoverage from GrXferProcessor::OptFlags Remove GrPipeline::fIgnoresCoverage Change-Id: I8f0c9337ee98b9c77af1e9a8a184519ce63822d4 Reviewed-on: https://skia-review.googlesource.com/6552 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Remove ref counting from GrOp.Gravatar Brian Salomon2017-01-03
| | | | | | | | | Instead use std::unique_ptr to manage GrOp lifetime. Change-Id: Ic1dc1e0ffd7254c3994221f498677af5bbf66a71 Reviewed-on: https://skia-review.googlesource.com/6479 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Misc batch->op cleanup Part 2 of 2Gravatar Brian Salomon2016-12-21
| | | | | | | Change-Id: Iedfe5bd019ca1171ab09de569f74c57975aa54c9 Reviewed-on: https://skia-review.googlesource.com/6384 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* This renames methods and classes that relate to static analysis of ↵Gravatar Brian Salomon2016-12-21
| | | | | | | | | combinations of GrDrawOps and GrPipelines. Change-Id: I737b901a19d3c67d2ff7f95802fb4df35656beb2 Reviewed-on: https://skia-review.googlesource.com/6199 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* move src/gpu/batches -> src/gpu/opsGravatar Brian Salomon2016-12-16
Change-Id: I6410eae41f051ce38bef6f38d670924c3483c325 Reviewed-on: https://skia-review.googlesource.com/6163 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>