aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/batches
Commit message (Collapse)AuthorAge
* Lazy init batch unique IDGravatar joshualitt2016-03-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1772023003 Review URL: https://codereview.chromium.org/1772023003
* Retract GrDrawTarget and GrPipelineBuilder a bit moreGravatar robertphillips2016-03-02
| | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1761523002 NOTRY=true Review URL: https://codereview.chromium.org/1761523002
* Revert of Generate Signed Distance Field directly from vector path (patchset ↵Gravatar robertphillips2016-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | #13 id:240001 of https://codereview.chromium.org/1643143002/ ) Reason for revert: This patch seems to be generating the assert: GrDistanceFieldGenFromVector.cpp:748: fatal error: ""0 && \"Winding number should be zero at the end of a scan line.\""" Original issue's description: > Generate Signed Distance Field directly from vector path > > Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath. > Currently only support even odd fill type. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643143002 > > Committed: https://skia.googlesource.com/skia/+/4de97a64e8829323a7070b623411d9f9ddb0cd0f TBR=bsalomon@google.com,jvanverth@google.com,mtklein@google.com,wasim.abbas@arm.com,joel.liang@arm.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/1757913002
* Generate Signed Distance Field directly from vector pathGravatar joel.liang2016-03-01
| | | | | | | | | | Add SkGenerateDistanceFieldFromPath API to generate signed distance field directly from SkPath. Currently only support even odd fill type. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643143002 Review URL: https://codereview.chromium.org/1643143002
* Modernize SkSpinlock.Gravatar mtklein2016-02-29
| | | | | | | | | | | | | | | | | | | | | | | | - Use std::atomic directly. - No more need for SkPODSpinlock or SK_DECLARE_STATIC_SPINLOCK. Now simple code like this works as you'd hope: static SkSpinlock gLock; That is, it starts unlocked and there's no static initializer. std::atomic_flag would make this terser and standard-guaranteed, but ATOMIC_FLAG_INIT caused not-yet-implemented errors on MSVC 2013. The generated code for this approach is identical. It appears the implicit constructor is constexpr when all the member initializers are. I'm hoping this way of producing constexpr constructors without typing "constexpr" gives us a way to eliminate more SkFoo / SkBaseFoo distinctions and SK_DECLARE_STATIC_FOO. This was certainly the easiest. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734383002 Review URL: https://codereview.chromium.org/1734383002
* Simplify calculations in AADistanceFieldPathBatch::writePathVertices.Gravatar benjaminwagner2016-02-22
| | | | | | | | | | No API changes. BUG=skia:4632 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1715063002 TBR=reed Review URL: https://codereview.chromium.org/1715063002
* Calculate translations to apply to vertices in batchGravatar joshualitt2016-02-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1716443005 Review URL: https://codereview.chromium.org/1716443005
* Add more specialized fragment buildersGravatar cdalton2016-02-18
| | | | | | | | | | | Adds specialized fragment builders for primitive and fragment processors. Removes fragment-specific functionality from the Xfer fragment builder. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1709153002 Review URL: https://codereview.chromium.org/1709153002
* Modify interface to GrPathUtils::convertCubicToQuadsGravatar bsalomon2016-02-16
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1694403003 Review URL: https://codereview.chromium.org/1694403003
* Make copySurface work for texture dsts, return a bool, & add unit test.Gravatar bsalomon2016-02-16
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684313002 Committed: https://skia.googlesource.com/skia/+/7ea5e28065e5eb797e95f5d81c1a65cf3209d741 Review URL: https://codereview.chromium.org/1684313002
* Remove last bit of privacy violation for GrAtlasTextBlobGravatar joshualitt2016-02-16
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1698503002 Review URL: https://codereview.chromium.org/1698503002
* Use noperspective interpolation for 2D drawsGravatar cdalton2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | Adds a mechanism to notify GrGLSLVaryingHandler that a shader will not emit geometry in perspective. This gives it a chance to use the noperspective keyword if it is supported. Updates the existing processors to notify the varying handler when there is no perspective. Begins using the noperspective keyword in GrGLGpu internal shaders. Web scenes with observable benefit (Pixel C, gpu config): tabl_nofolo.skp 4.62 -> 3.33 ms 28% desk_tigersvg.skp 26.5 -> 24 ms 9% desk_pokemonwiki.skp 16.1 -> 14.9 ms 7% tabl_deviantart.skp 3.97 -> 3.7 ms 7% desk_gws.skp 3.85 -> 3.65 ms 5% Also adds new methods for creating varyings with flat interpolation. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1673093002 Review URL: https://codereview.chromium.org/1673093002
* Add GrShaderFlags enumGravatar cdalton2016-02-11
| | | | | | | | | Replaces GrGLSLUniformHandler::ShaderVisibility with GrShaderFlags. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684063006 Review URL: https://codereview.chromium.org/1684063006
* start to chip away at friending of GrAtlasTextBatch/GrAtlasTextBlobGravatar joshualitt2016-02-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684253002 Review URL: https://codereview.chromium.org/1684253002
* Revert of Make copySurface work for texture dsts, return a bool, & add unit ↵Gravatar kjlubick2016-02-11
| | | | | | | | | | | | | | | | | | | | | | | test. (patchset #6 id:100001 of https://codereview.chromium.org/1684313002/ ) Reason for revert: Copy surface tests are not happy for Windows, Android and probably others: https://uberchromegw.corp.google.com/i/client.skia.android/builders/Test-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/builds/4161 https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win8-MSVC-ShuttleA-GPU-GTX960-x86_64-Release/builds/3694 Original issue's description: > Make copySurface work for texture dsts, return a bool, & add unit test. > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684313002 > > Committed: https://skia.googlesource.com/skia/+/7ea5e28065e5eb797e95f5d81c1a65cf3209d741 TBR=robertphillips@google.com,bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1690053002
* Make copySurface work for texture dsts, return a bool, & add unit test.Gravatar bsalomon2016-02-11
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684313002 Review URL: https://codereview.chromium.org/1684313002
* Remove deferred clear from SkGpuDeviceGravatar bsalomon2016-02-05
| | | | | | | | | | | | | | | Add combining to GrClearBatch Fix issue with state tracking in GrGLGpu::createTestingOnlyBackendTexture Add tests for clearing GPU SkSurfaces and add tests for GrDrawContext::clear(). Add comment that SkCanvas::flush will resolve the RT in the GPU case. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658823002 Review URL: https://codereview.chromium.org/1658823002
* Move Google3-specific stack limitation logic to template classes.Gravatar benjaminwagner2016-02-05
| | | | | | | | | | | | | | | Remove #ifdefs in other files. Reapplies https://codereview.chromium.org/1656143003; removing the implicit constructors for GLPtr and GLPtrAlias resolves the build issue on Android. Also reverts https://codereview.chromium.org/1663013004 Does not change the public API. TBR=reed GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666203002 Review URL: https://codereview.chromium.org/1666203002
* Fix assert accessing pipeline from initBatchTrackerGravatar cdalton2016-02-03
| | | | | | | | | | | Marks fPipelineInstalled as true before calling initBatchTracker. The batch subclass ought to be able to access the newly constructed pipeline object during its init. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666813002 Review URL: https://codereview.chromium.org/1666813002
* Templatize GrNonAtomicRefGravatar cdalton2016-02-02
| | | | | | | | | | | Templatizes GrNonAtomicRef so it does not necessarily require a virtual destructor. This also gives us the flexibility to specialize how different types get deleted. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664613002 Review URL: https://codereview.chromium.org/1664613002
* Revert of Move Google3-specific stack limitation logic to template classes. ↵Gravatar benjaminwagner2016-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | Remove #ifdefs in other files. (patchset #2 id:50001 of https://codereview.chromium.org/1656143003/ ) Reason for revert: See https://codereview.chromium.org/1665603002 Original issue's description: > Move Google3-specific stack limitation logic to template classes. Remove #ifdefs in other files. > > Does not change the public API. > > TBR=reed > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656143003 > > Committed: https://skia.googlesource.com/skia/+/c92159c8250c62cc47b7b63686538d61d54d2835 TBR=mtklein@google.com,reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1666503002
* Move Google3-specific stack limitation logic to template classes. Remove ↵Gravatar benjaminwagner2016-02-02
| | | | | | | | | | | #ifdefs in other files. Does not change the public API. TBR=reed GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656143003 Review URL: https://codereview.chromium.org/1656143003
* added a default constructor for GrBatchToXPOverridesGravatar ethannicholas2016-02-01
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657803002 Review URL: https://codereview.chromium.org/1657803002
* added support for PLS path renderingGravatar ethannicholas2016-01-30
| | | | | | | | | BUG=skia:3555 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002 Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822 Review URL: https://codereview.chromium.org/1541903002
* Revert of added support for PLS path rendering (patchset #16 id:360001 of ↵Gravatar ethannicholas2016-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1541903002/ ) Reason for revert: ASAN failure at src/gpu/GrXferProcessor.cpp:224 Original issue's description: > added support for PLS path rendering > > BUG=skia:3555 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002 > > Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822 TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3555 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626553002 Review URL: https://codereview.chromium.org/1626553002
* added support for PLS path renderingGravatar ethannicholas2016-01-22
| | | | | | | BUG=skia:3555 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002 Review URL: https://codereview.chromium.org/1541903002
* Fix GrAtlasTextBlob bounds managementGravatar joshualitt2016-01-22
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605013002 Committed: https://skia.googlesource.com/skia/+/ae473fdfc3db2d9dd82b05b2568767d6d4038fcd Review URL: https://codereview.chromium.org/1605013002
* Revert of Fix GrAtlasTextBlob bounds management (patchset #8 id:140001 of ↵Gravatar joshualitt2016-01-20
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1605013002/ ) Reason for revert: seems to break upright matrix Original issue's description: > Fix GrAtlasTextBlob bounds management > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605013002 > > Committed: https://skia.googlesource.com/skia/+/ae473fdfc3db2d9dd82b05b2568767d6d4038fcd TBR=bsalomon@google.com,jvanverth@google.com,joshualitt@chromium.org # 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/1615473002
* Fix GrAtlasTextBlob bounds managementGravatar joshualitt2016-01-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605013002 Review URL: https://codereview.chromium.org/1605013002
* A few more small changes to make GrAtlasTextBlob nearly self containedGravatar joshualitt2016-01-20
| | | | | | | | | | Note: There is still a bit of friendliness, but its going to require some creativity to deal with. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1606943002 Review URL: https://codereview.chromium.org/1606943002
* Add Audittrail for path renderersGravatar joshualitt2016-01-14
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1588683002 Review URL: https://codereview.chromium.org/1588683002
* Remove two varieties of drawNonAARect from GrDrawTargetGravatar joshualitt2016-01-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1584703003 Review URL: https://codereview.chromium.org/1584703003
* Fixed an assertion error in GrAAConvexTessellator. While adding a new point, ↵Gravatar ethannicholas2016-01-08
| | | | | | | | | | | it would check that the new point was not a duplicate of the previous point. It would then drop the previous point if it was in the middle of a straight line, and proceed to add the new point. Unfortunately, floating point precision issues mean that sometimes, after dropping the previous point, we'd end up with the newly-added point as a duplicate of the new previous point, tripping an assertion failure. BUG=skia:4732 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557903002 Review URL: https://codereview.chromium.org/1557903002
* Broke GrTessellatingPathRenderer's tessellator out into a separate file.Gravatar ethannicholas2016-01-07
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557083002 Committed: https://skia.googlesource.com/skia/+/8b05cb8a00bdb82e100f1ba74bf4de4a504cceea Review URL: https://codereview.chromium.org/1557083002
* Revert of Broke GrTessellatingPathRenderer's tessellator out into a separate ↵Gravatar caryclark2016-01-07
| | | | | | | | | | | | | | | | | | | | file. (patchset #8 id:240001 of https://codereview.chromium.org/1557083002/ ) Reason for revert: broke valgrind bot Original issue's description: > Broke GrTessellatingPathRenderer's tessellator out into a separate file. > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557083002 > > Committed: https://skia.googlesource.com/skia/+/8b05cb8a00bdb82e100f1ba74bf4de4a504cceea TBR=bsalomon@google.com,joshualitt@chromium.org,senorblanco@chromium.org,ethannicholas@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1570503002
* Broke GrTessellatingPathRenderer's tessellator out into a separate file.Gravatar ethannicholas2016-01-06
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557083002 Review URL: https://codereview.chromium.org/1557083002
* Don't ref/unref the static src-over xpGravatar bsalomon2015-12-21
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1540363002 bug=chromium:570301 Review URL: https://codereview.chromium.org/1540363002
* Rejigger distance field path rect calcs to avoid underflowGravatar jvanverth2015-12-18
| | | | | | | BUG=skia:4716 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535173002 Review URL: https://codereview.chromium.org/1535173002
* Fix for GrAALinearizingConvexPathRenderer incorrectly drawing non-convex pathsGravatar ethannicholas2015-12-15
| | | | | | BUG=552080 Review URL: https://codereview.chromium.org/1522973002
* Move all text stuff to its own folderGravatar joshualitt2015-12-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1521453002
* Move DistanceAdjustTable to its own fileGravatar joshualitt2015-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1512823004
* Remove uniform color for GrDistanceFieldGeoProcGravatar joshualitt2015-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1512533003
* Fix compile error with GOOGLE3 define.Gravatar benjaminwagner2015-12-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1509023004
* Fix bug with GrAtlasTextContext color regenGravatar joshualitt2015-12-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1513723002
* A small text cleanupGravatar joshualitt2015-12-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1508853005
* Remove spew in GrDefaultPathRendererGravatar joshualitt2015-12-08
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1509913003
* Improve nvpr glyph batchingGravatar cdalton2015-12-08
| | | | | | | | | | Batches together path range draws whose view matrices differ by a simple translation by pre-translating the individual path transforms during the copy. BUG=skia: Review URL: https://codereview.chromium.org/1507203002
* Allow LCD text to batch across colorchanges. This will always useGravatar joshualitt2015-12-08
| | | | | | | | color vertices, even when we can't batch across color changes BUG=skia: Review URL: https://codereview.chromium.org/1502253003
* Remove drawPathsFromRange from GrDrawContextGravatar cdalton2015-12-08
| | | | | | | | | | Replaces drawPathsFromRange with a more general drawPathBatch method. While this still isn't perfect, it's a step in the right direction that removes the need for path range draws to fit in a public API. BUG=skia: Review URL: https://codereview.chromium.org/1506823004
* Use correct fill type and bounds for NVPR paths that are stroked with SkiaGravatar kkinnunen2015-12-07
| | | | | | | | | | | | When using NVPR, sometimes paths must be stroked by Skia and then drawn with fill using NVPR. In these cases, use the fill type and bounds of the stroked path, not the original path. Fixes degeneratesegments for nvprmsaa backends. BUG=skia:4608 Review URL: https://codereview.chromium.org/1504753003