aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
Commit message (Collapse)AuthorAge
* Remove SkImage::MakeTextureFromPixmapGravatar Brian Osman2017-03-20
| | | | | | | | | | | | | | Slight variation on https://skia-review.googlesource.com/c/7346/, which had to be reverted. This version also changes the non-mip upload path to use a GrTextureProxy. Hopefully this doesn't trigger the same perf regression that we saw last time. BUG=skia: Change-Id: Ic99bdd93904089942fb680c3af9c4c36310074c0 Reviewed-on: https://skia-review.googlesource.com/9892 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Switch 16 sample gpu configs to 8 samplesGravatar Brian Salomon2017-03-20
| | | | | | | | | | BUG=skia: Change-Id: I053cce7c05c74860cbace00cd94ea4b96e9a482c Reviewed-on: https://skia-review.googlesource.com/9889 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Eager or Lazy evaluation of sub-drawings for SkDeferredCanvas.Gravatar Herb Derby2017-03-20
| | | | | | | | | | | | | | | | | Allow evaluation choice of Lazy or Eager evaluation for SkDeferredCanvas. Eager is used for drawing to a non-recording canvas to reduce the number of all operations. Lazy is used for drawing to a recording canvas to reduce the amount decode/encode that happens. R=reed@google.com Change-Id: I7837c4f6e5911c153e0796162e1170edbc34839e Reviewed-on: https://skia-review.googlesource.com/9839 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Remove budgeted parameter from SkSurface::makeImageSnapshot (take 2)Gravatar Robert Phillips2017-03-20
| | | | | | | | | | | | | This unused feature complicates MDB. Chrome compiles locally for me with this CL. frameworks/base/libs/hwui compiles locally for me with this CL. Change-Id: Id3ad64dac72eace52855896df0d7ce3679f15884 Reviewed-on: https://skia-review.googlesource.com/9882 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove gpu configs that don't have explicit API.Gravatar Brian Salomon2017-03-20
| | | | | | | | | DOCS_PREVIEW= https://skia.org/?cl=9871 Change-Id: I510473cf91d8bee38d1e33424b1ae7b30dc86968 Reviewed-on: https://skia-review.googlesource.com/9871 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Remove budgeted parameter from ↵Gravatar Yuqian Li2017-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkSurface::makeImageSnapshot""" This reverts commit 31249bb2df023868e4585f14519bf17c835f8700. Reason for revert: Android build is still broken as shown below. out/target/product/bullhead/obj/NATIVE_TESTS/hwui_unit_tests_intermediates/tests/unit/SkiaPipelineTests.o frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp" frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:211:51: error: non-virtual member function marked 'override' hides virtual member function sk_sp<SkImage> onNewImageSnapshot(SkBudgeted) override { ^ external/skia/src/image/SkSurface_Base.h:46:28: note: hidden overloaded virtual function 'SkSurface_Base::onNewImageSnapshot' declared here: different number of parameters (0 vs 1) virtual sk_sp<SkImage> onNewImageSnapshot() = 0; ^ frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:281:84: error: no viable conversion from 'sk_sp<DeferLayer<DeferTestCanvas>>' to 'sk_sp<SkSurface>' pipeline->renderFrame(layerUpdateQueue, dirty, nodes, true, contentDrawBounds, surface); ^~~~~~~ external/skia/include/core/SkRefCnt.h:253:15: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<DeferTestCanvas> >' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument constexpr sk_sp(std::nullptr_t) : fPtr(nullptr) {} ^ external/skia/include/core/SkRefCnt.h:259:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<DeferTestCanvas> >' to 'const sk_sp<SkSurface> &' for 1st argument sk_sp(const sk_sp<T>& that) : fPtr(SkSafeRef(that.get())) {} ^ external/skia/include/core/SkRefCnt.h:268:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<DeferTestCanvas> >' to 'sk_sp<SkSurface> &&' for 1st argument sk_sp(sk_sp<T>&& that) : fPtr(that.release()) {} ^ external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<DeferTestCanvas>] template <bool B, typename T = void> using enable_if_t = typename std::enable_if<B, T>::type; ^ external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<DeferTestCanvas>] external/skia/include/core/SkRefCnt.h:327:5: note: candidate function operator unspecified_bool_type() const { return this->get() ? &sk_sp::fPtr : nullptr; } ^ frameworks/base/libs/hwui/pipeline/skia/SkiaPipeline.h:50:30: note: passing argument to parameter 'surface' here sk_sp<SkSurface> surface); ^ frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:312:58: error: no viable conversion from 'sk_sp<DeferLayer<ClippedTestCanvas>>' to 'sk_sp<SkSurface>' SkRect::MakeWH(CANVAS_WIDTH, CANVAS_HEIGHT), surface); ^~~~~~~ external/skia/include/core/SkRefCnt.h:253:15: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClippedTestCanvas> >' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument constexpr sk_sp(std::nullptr_t) : fPtr(nullptr) {} ^ external/skia/include/core/SkRefCnt.h:259:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClippedTestCanvas> >' to 'const sk_sp<SkSurface> &' for 1st argument sk_sp(const sk_sp<T>& that) : fPtr(SkSafeRef(that.get())) {} ^ external/skia/include/core/SkRefCnt.h:268:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClippedTestCanvas> >' to 'sk_sp<SkSurface> &&' for 1st argument sk_sp(sk_sp<T>&& that) : fPtr(that.release()) {} ^ external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<ClippedTestCanvas>] template <bool B, typename T = void> using enable_if_t = typename std::enable_if<B, T>::type; ^ external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<ClippedTestCanvas>] external/skia/include/core/SkRefCnt.h:327:5: note: candidate function operator unspecified_bool_type() const { return this->get() ? &sk_sp::fPtr : nullptr; } ^ frameworks/base/libs/hwui/pipeline/skia/SkiaPipeline.h:50:30: note: passing argument to parameter 'surface' here sk_sp<SkSurface> surface); ^ frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:343:58: error: no viable conversion from 'sk_sp<DeferLayer<ClipReplaceTestCanvas>>' to 'sk_sp<SkSurface>' SkRect::MakeWH(CANVAS_WIDTH, CANVAS_HEIGHT), surface); ^~~~~~~ external/skia/include/core/SkRefCnt.h:253:15: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClipReplaceTestCanvas> >' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument constexpr sk_sp(std::nullptr_t) : fPtr(nullptr) {} ^ external/skia/include/core/SkRefCnt.h:259:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClipReplaceTestCanvas> >' to 'const sk_sp<SkSurface> &' for 1st argument sk_sp(const sk_sp<T>& that) : fPtr(SkSafeRef(that.get())) {} ^ external/skia/include/core/SkRefCnt.h:268:5: note: candidate constructor not viable: no known conversion from 'sk_sp<DeferLayer<ClipReplaceTestCanvas> >' to 'sk_sp<SkSurface> &&' for 1st argument sk_sp(sk_sp<T>&& that) : fPtr(that.release()) {} ^ external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<ClipReplaceTestCanvas>] template <bool B, typename T = void> using enable_if_t = typename std::enable_if<B, T>::type; ^ external/skia/include/gpu/../private/SkTLogic.h:27:82: note: candidate template ignored: disabled by 'enable_if' [with U = (anonymous namespace)::DeferLayer<ClipReplaceTestCanvas>] external/skia/include/core/SkRefCnt.h:327:5: note: candidate function operator unspecified_bool_type() const { return this->get() ? &sk_sp::fPtr : nullptr; } ^ frameworks/base/libs/hwui/pipeline/skia/SkiaPipeline.h:50:30: note: passing argument to parameter 'surface' here sk_sp<SkSurface> surface); ^ frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:214:42: error: cannot initialize object parameter of type 'SkSurface' with an expression of type '(anonymous namespace)::DeferLayer<DeferTestCanvas>' T* canvas() { return static_cast<T*>(getCanvas()); } ^~~~~~~~~ frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:282:27: note: in instantiation of member function '(anonymous namespace)::DeferLayer<DeferTestCanvas>::canvas' requested here EXPECT_EQ(4, surface->canvas()->mDrawCounter); ^ frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:214:42: error: cannot initialize object parameter of type 'SkSurface' with an expression of type '(anonymous namespace)::DeferLayer<ClippedTestCanvas>' T* canvas() { return static_cast<T*>(getCanvas()); } ^~~~~~~~~ frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:313:27: note: in instantiation of member function '(anonymous namespace)::DeferLayer<ClippedTestCanvas>::canvas' requested here EXPECT_EQ(1, surface->canvas()->mDrawCounter); ^ frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:214:42: error: cannot initialize object parameter of type 'SkSurface' with an expression of type '(anonymous namespace)::DeferLayer<ClipReplaceTestCanvas>' T* canvas() { return static_cast<T*>(getCanvas()); } ^~~~~~~~~ frameworks/base/libs/hwui/tests/unit/SkiaPipelineTests.cpp:344:27: note: in instantiation of member function '(anonymous namespace)::DeferLayer<ClipReplaceTestCanvas>::canvas' requested here EXPECT_EQ(1, surface->canvas()->mDrawCounter); Original change's description: > Revert "Revert "Remove budgeted parameter from SkSurface::makeImageSnapshot"" > > This reverts commit 9e9188f84b15a25e27f63d5f8de3ccd393d9a173. > > Reason for revert: Android-side fix has landed > > Original change's description: > > Revert "Remove budgeted parameter from SkSurface::makeImageSnapshot" > > > > This reverts commit b64bcbdc3a5aa7b9e3ff216e4617ddc1db9260b5. > > > > Reason for revert: > > > > Android build failed as shown below. > > > > frameworks/base/libs/hwui/VkLayer.cpp:32:41: error: too many arguments to function call, expected 0, have 1 > > mImage = surface->makeImageSnapshot(SkBudgeted::kNo); > > > > Original change's description: > > > Remove budgeted parameter from SkSurface::makeImageSnapshot > > > > > > This unused feature complicates MDB. > > > > > > Chrome compiles locally for me with this CL. > > > > > > Change-Id: I611e464885fb984030eace43ead42cf39d0e7f72 > > > Reviewed-on: https://skia-review.googlesource.com/9734 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Robert Phillips <robertphillips@google.com> > > > > > > > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > > > Change-Id: Iae6e313c15b2352bd0d4fc7b5629de0a51ac398e > > Reviewed-on: https://skia-review.googlesource.com/9788 > > Reviewed-by: Yuqian Li <liyuqian@google.com> > > Commit-Queue: Yuqian Li <liyuqian@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,liyuqian@google.com > # Not skipping CQ checks because original CL landed > 1 day ago. > > Change-Id: If07d1b5db6e6c618d37445a0cf127780ed243a92 > Reviewed-on: https://skia-review.googlesource.com/9843 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,liyuqian@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I674b0a9d4130e00164d2e0344a92c373cf70f4fd Reviewed-on: https://skia-review.googlesource.com/9873 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Be explicit on test and perf bots about GL vs GLESGravatar Brian Salomon2017-03-17
| | | | | | | | | | This changes the names of several shorthand names for gpu configs to be prefixed either with "gl" or "gles" and makes the bots only use such configs. It adds some missing named configs. Change-Id: Iea4e0e2ddafe0ac08e623111a15be7335156957c Reviewed-on: https://skia-review.googlesource.com/9833 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Revert "Revert "Remove budgeted parameter from SkSurface::makeImageSnapshot""Gravatar Robert Phillips2017-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9e9188f84b15a25e27f63d5f8de3ccd393d9a173. Reason for revert: Android-side fix has landed Original change's description: > Revert "Remove budgeted parameter from SkSurface::makeImageSnapshot" > > This reverts commit b64bcbdc3a5aa7b9e3ff216e4617ddc1db9260b5. > > Reason for revert: > > Android build failed as shown below. > > frameworks/base/libs/hwui/VkLayer.cpp:32:41: error: too many arguments to function call, expected 0, have 1 > mImage = surface->makeImageSnapshot(SkBudgeted::kNo); > > Original change's description: > > Remove budgeted parameter from SkSurface::makeImageSnapshot > > > > This unused feature complicates MDB. > > > > Chrome compiles locally for me with this CL. > > > > Change-Id: I611e464885fb984030eace43ead42cf39d0e7f72 > > Reviewed-on: https://skia-review.googlesource.com/9734 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Robert Phillips <robertphillips@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: Iae6e313c15b2352bd0d4fc7b5629de0a51ac398e > Reviewed-on: https://skia-review.googlesource.com/9788 > Reviewed-by: Yuqian Li <liyuqian@google.com> > Commit-Queue: Yuqian Li <liyuqian@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,liyuqian@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: If07d1b5db6e6c618d37445a0cf127780ed243a92 Reviewed-on: https://skia-review.googlesource.com/9843 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add nondeterministic seed option for ProcessorOptimization testGravatar Brian Osman2017-03-17
| | | | | | | | | | BUG=skia: Change-Id: Ie1dad1ab164eb36635095595e3200ae16e328832 Reviewed-on: https://skia-review.googlesource.com/9830 Reviewed-by: Eric Boren <borenet@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Remove GrPipeline from GrDrawOp."Gravatar Brian Salomon2017-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2bf4b3a97b770811d9e0558dbbfbdb57cfafbdb7. Reason for revert: nanobench assertion Original change's description: > Remove GrPipeline from GrDrawOp. > > GrDrawOp subclasses are now free to construct their pipelines at flush time and now in theory could use multiple GrPipelines for multipass rendering. > > GrProcessorSet may be used to retain the processors from a GrPaint with "pending execution" style refs. > > NVPR and Instanced rendering are updated to create their pipelines at flush time without a GrPipelineBuilder. > > The monolithic pipeline creation/management that was on GrDrawOp is moved to GrMeshDrawOp. However, this is temporary and will be removed in coming changes. > > Change-Id: I124282e3cea5d070970b5460c8a679fcaf7a8eff > Reviewed-on: https://skia-review.googlesource.com/7279 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I1bc64f6cbbd5f482417637a034342c2b5371dc5c Reviewed-on: https://skia-review.googlesource.com/9817 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@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>
* Remove GrPipeline from GrDrawOp.Gravatar Brian Salomon2017-03-16
| | | | | | | | | | | | | | | GrDrawOp subclasses are now free to construct their pipelines at flush time and now in theory could use multiple GrPipelines for multipass rendering. GrProcessorSet may be used to retain the processors from a GrPaint with "pending execution" style refs. NVPR and Instanced rendering are updated to create their pipelines at flush time without a GrPipelineBuilder. The monolithic pipeline creation/management that was on GrDrawOp is moved to GrMeshDrawOp. However, this is temporary and will be removed in coming changes. Change-Id: I124282e3cea5d070970b5460c8a679fcaf7a8eff Reviewed-on: https://skia-review.googlesource.com/7279 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@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 "Remove budgeted parameter from SkSurface::makeImageSnapshot"Gravatar Yuqian Li2017-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b64bcbdc3a5aa7b9e3ff216e4617ddc1db9260b5. Reason for revert: Android build failed as shown below. frameworks/base/libs/hwui/VkLayer.cpp:32:41: error: too many arguments to function call, expected 0, have 1 mImage = surface->makeImageSnapshot(SkBudgeted::kNo); Original change's description: > Remove budgeted parameter from SkSurface::makeImageSnapshot > > This unused feature complicates MDB. > > Chrome compiles locally for me with this CL. > > Change-Id: I611e464885fb984030eace43ead42cf39d0e7f72 > Reviewed-on: https://skia-review.googlesource.com/9734 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Iae6e313c15b2352bd0d4fc7b5629de0a51ac398e Reviewed-on: https://skia-review.googlesource.com/9788 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Remove budgeted parameter from SkSurface::makeImageSnapshotGravatar Robert Phillips2017-03-16
| | | | | | | | | | | This unused feature complicates MDB. Chrome compiles locally for me with this CL. Change-Id: I611e464885fb984030eace43ead42cf39d0e7f72 Reviewed-on: https://skia-review.googlesource.com/9734 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Rename GrAADistanceFieldPathRenderer to GrSmallPathRendererGravatar Jim Van Verth2017-03-16
| | | | | | | | | Also disables use of small distance fields in Android framework. Change-Id: I1ba40ce85aa34d067608587e1fbe1d42e8a42868 Reviewed-on: https://skia-review.googlesource.com/9731 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Make SkTArray not allocate unless reserve or initial count > 0Gravatar Brian Salomon2017-03-16
| | | | | | | | | This also makes it so that it doesn't shrink back into preallocated storage and therefore doesn't need to store the reserve count. Change-Id: Ia320fed04c329641a5494947db39cefd2fb6d80f Reviewed-on: https://skia-review.googlesource.com/9531 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* SkDynamicMemoryWStream::detachAsStream() returns unique_ptrGravatar Hal Canary2017-03-15
| | | | | | | | https://crrev.com/2747183002 must land first. Change-Id: I65d1285a24d63c2c2f18662d511dea1c399511e1 Reviewed-on: https://skia-review.googlesource.com/9682 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Revert "Add pre-Flush callback to GrDrawingManager"Gravatar Robert Phillips2017-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d222ec492f5d0229986f529134d083e589bcc4a9. Reason for revert: TegraX1 Vulkan bot Original change's description: > Add pre-Flush callback to GrDrawingManager > > This will allow internal systems (e.g., fonts & path renderers) to create pre-flush atlases. > > Depends on: https://skia-review.googlesource.com/c/8988/ (Allow GrSurfaceProxy-derived classes to use flags when instantiating) > > Change-Id: I307796595d651cf376838bff1f9e4385c3753547 > Reviewed-on: https://skia-review.googlesource.com/8679 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I852648adc12d2aa58cd09c57d961c340d657776c Reviewed-on: https://skia-review.googlesource.com/9735 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@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>
* must check for zero-length in reader32::read() before calling memcpyGravatar Mike Reed2017-03-15
| | | | | | | | | | | | | memcpy's behavior is undefined if the dst-ptr is null, but reader32 supports null as long as the size is 0, so it needs to check explicitly before calling memcpy. This is implemented (now) by calling sk_careful_memcpy. BUG=skia: Change-Id: I7033cc5e6d724f50f0aafd9808e297b953848aa7 Reviewed-on: https://skia-review.googlesource.com/9729 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Fix formatting error in test outputGravatar Brian Osman2017-03-15
| | | | | | | | | BUG=skia: Change-Id: I36824a4a3fcae3a75157706b769047a82cb3c289 Reviewed-on: https://skia-review.googlesource.com/9728 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add pre-Flush callback to GrDrawingManagerGravatar Robert Phillips2017-03-15
| | | | | | | | | | | This will allow internal systems (e.g., fonts & path renderers) to create pre-flush atlases. Depends on: https://skia-review.googlesource.com/c/8988/ (Allow GrSurfaceProxy-derived classes to use flags when instantiating) Change-Id: I307796595d651cf376838bff1f9e4385c3753547 Reviewed-on: https://skia-review.googlesource.com/8679 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@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>
* Emit dumpInfo string when processor opt test failsGravatar Brian Osman2017-03-15
| | | | | | | | | | | | Add missing implementation for ComposeTwo, and provide more information in ComposeOne. BUG=skia: Change-Id: Id2406bcb51a6419a763ff9e6e572f5c6c70c4c76 Reviewed-on: https://skia-review.googlesource.com/9699 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Retract GrContext from src/gpu/effectsGravatar Robert Phillips2017-03-15
| | | | | | | Change-Id: Iceb7263098286bafb2605ef17d1fe6bb25d71e97 Reviewed-on: https://skia-review.googlesource.com/9693 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* SkDynamicMemoryWStream::detachAsData more memory efficentGravatar Hal Canary2017-03-15
| | | | | | | | | | I did some testing with very large datasets, and the difference in max RSS is measurable and significant. Change-Id: I6bb2f795d5b4f6ebdba42c3089dc85a278355d48 Reviewed-on: https://skia-review.googlesource.com/9686 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* add uniqueIDGravatar Mike Reed2017-03-15
| | | | | | | | | BUG=skia:6366 Change-Id: Ie3215a392040be645524a2294d824d953ba3a1b6 Reviewed-on: https://skia-review.googlesource.com/9703 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add GrRenderTargetContext::resourceProvider & GrResourceProvider::capsGravatar Robert Phillips2017-03-14
| | | | | | | | | and retract GrSurfaceContextPriv a bit Change-Id: Id47af1052f9bda4fe7c85b3ce46b3ebe37797524 Reviewed-on: https://skia-review.googlesource.com/9647 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Compute clipped draw bounds outside GrAppliedClip.Gravatar Brian Salomon2017-03-14
| | | | | | | | | | | | We will be storing GrAppliedClips alongside ops. The op already stores the clipped bounds. If GrAppliedClip has draw bounds then as ops combine the GrAppliedClip's bounds should be merged to be consistent. However, we won't actually ever use those bounds again so it would be wasteful to merge them. Change-Id: I4ef3010dc04761e256120a2e0e074bc3c6ff6ca1 Reviewed-on: https://skia-review.googlesource.com/9642 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* Begin implementation of SkImage_Base::makeColorSpaceGravatar Matt Sarett2017-03-14
| | | | | | | | | | | | | | Originally: https://skia-review.googlesource.com/9622 CQ_INCLUDE_TRYBOTS=skia.primary:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release,Test-Android-Clang-PixelC-CPU-TegraX1-arm64-Debug-Android BUG=skia: Change-Id: I7ef1daaab32892399e3333e4b2fc75d70a1900e4 Reviewed-on: https://skia-review.googlesource.com/9651 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* vertices to/from dataGravatar Mike Reed2017-03-14
| | | | | | | | | | | precursor to enabling serialization in pictures BUG=skia:6366 Change-Id: Iba89aa98f389b3281e7705d041e3337e89071f03 Reviewed-on: https://skia-review.googlesource.com/9680 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Begin implementation of SkImage_Base::makeColorSpace"Gravatar Mike Reed2017-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 98629efdde9236e444d7b3fa644eaab3a1301566. Reason for revert: unittest failures Failures: ../../../tests/ImageTest.cpp:1099 0x28 == SkGetPackedR32(*p3Bitmap.getAddr32(0, 0)) ../../../tests/ImageTest.cpp:1100 0x40 == SkGetPackedG32(*p3Bitmap.getAddr32(0, 0)) ../../../tests/ImageTest.cpp:1101 0x5E == SkGetPackedB32(*p3Bitmap.getAddr32(0, 0)) Original change's description: > Begin implementation of SkImage_Base::makeColorSpace > > BUG=skia: > > Change-Id: Idf946faa64dad32a28070a430926a8225dbf6e5a > Reviewed-on: https://skia-review.googlesource.com/9622 > Commit-Queue: Matt Sarett <msarett@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> > TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I6ce2a28ca581f7d01322588c2435133d8c6a2435 Reviewed-on: https://skia-review.googlesource.com/9649 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Begin implementation of SkImage_Base::makeColorSpaceGravatar Matt Sarett2017-03-14
| | | | | | | | | BUG=skia: Change-Id: Idf946faa64dad32a28070a430926a8225dbf6e5a Reviewed-on: https://skia-review.googlesource.com/9622 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Restore deferred GPU resources in ChromeGravatar Robert Phillips2017-03-13
| | | | | | | Change-Id: Ib52668b46e7d077175dcba12a3ccc8abc1f0c7a9 Reviewed-on: https://skia-review.googlesource.com/9552 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Changes to GrProcessorSet::FragmentProcessorAnalysis to prepare for deferred ↵Gravatar Brian Salomon2017-03-13
| | | | | | | | | | | | | | | pipeline creation. This compacts the object so that it is more efficient for ops to store it. It also adds a new constructor and query that will allow ops to use the analysis to also store the GrPaint's color. This has the side effect of limiting the number of color processors on a GrProcessorSet to 64K which is just under 64K more than should ever be needed. Change-Id: I4e6bc8e3f81bb2ff6a73af685beb6fb928a3de67 Reviewed-on: https://skia-review.googlesource.com/8972 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Treat cross context images as Ganesh-created resourcesGravatar Brian Osman2017-03-13
| | | | | | | | | | | | | | Always create them budgeted, and register them with the cache (not as wrapped resources). Re-land (with fixes) of: https://skia-review.googlesource.com/9497 BUG=skia: Change-Id: I2df7198adc99efa3eea99fc86b0b2930136f22c7 Reviewed-on: https://skia-review.googlesource.com/9544 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove run count field from SkTextBlob.Gravatar Florin Malita2017-03-13
| | | | | | | | | | | | | We can flag the last run record instead. Run iteration is always sequential, so no penalty. As a side effect, we can no longer allow instantiation of zero-run text blobs - but that seems like a good idea anyway. Change-Id: I7ca80c4780623d5a188f92dfe6d6fe152f20f666 Reviewed-on: https://skia-review.googlesource.com/9149 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Add SkSTArray move assignment operatorsGravatar Florin Malita2017-03-12
| | | | | | | Change-Id: Ib655a8a4d62c27dee4f92fcb644237f6fbbdb75b Reviewed-on: https://skia-review.googlesource.com/9510 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Ben Wagner <bungeman@google.com>
* Revert "Treat cross context images as Ganesh-created resources"Gravatar Brian Osman2017-03-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cccda60aca592d2320d79e2871e057778b2688ab. Reason for revert: Android and Windows bot failures. Original change's description: > Treat cross context images as Ganesh-created resources > > Always create them budgeted, and register them with the cache (not as > wrapped resources). > > BUG=skia: > > Change-Id: Id18ecf6e9e512db4be21b4f2bfd8e8c060bbe805 > Reviewed-on: https://skia-review.googlesource.com/9497 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Ib7bebcad33037dd206c9b06b5cb6c503b00accba Reviewed-on: https://skia-review.googlesource.com/9541 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fix SkFILEStream.Gravatar Ben Wagner2017-03-10
| | | | | | | Change-Id: I8c66e4e3e857227aed3d0bc497982f4c0d96d917 Reviewed-on: https://skia-review.googlesource.com/9498 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Check for bad bounds in picture cullboundsGravatar Mike Reed2017-03-10
| | | | | | | | | BUG=skia: Change-Id: Icaed150fa005ba7539bcca4646710b42dfcbf94a Reviewed-on: https://skia-review.googlesource.com/9536 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Treat cross context images as Ganesh-created resourcesGravatar Brian Osman2017-03-10
| | | | | | | | | | | | Always create them budgeted, and register them with the cache (not as wrapped resources). BUG=skia: Change-Id: Id18ecf6e9e512db4be21b4f2bfd8e8c060bbe805 Reviewed-on: https://skia-review.googlesource.com/9497 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix SkTHashTable dangling valuesGravatar Florin Malita2017-03-10
| | | | | | | | | | | | | | The element rearrange logic in SkTHashTable::remove() marks empty slots as such, but does not reset their value. When breaking out of the rearrange loop, we must also reset the last empty slot value to avoid retaining unwanted copies. Change-Id: I8ba2a25088c0aa5210277124e0917224cb295691 Reviewed-on: https://skia-review.googlesource.com/9533 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* re-guard against negative dimensions on no-draw canvasGravatar Mike Reed2017-03-10
| | | | | | | | | | | | We used to (incidentally) guard for this when we used bitmapdevice as our backnig. Now that we have a (faster) nodrawdevice, we need to explicitly guard for it. BUG=skia: Change-Id: I9cbbf064cbfced78f0004a2e5aff60aa3ded6215 Reviewed-on: https://skia-review.googlesource.com/9530 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove ownership aruments from render target wrap functionsGravatar Brian Osman2017-03-10
| | | | | | | | | | | We never adopt render targets (just borrow them). BUG=skia: Change-Id: Ie899b814a7a81339a8735bbd7ad9facc66e580d7 Reviewed-on: https://skia-review.googlesource.com/9525 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@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>
* Fix SkTArray copy constructionGravatar Florin Malita2017-03-09
| | | | | | | | | | We can't use memcpy for copy construction, even when MEM_COPY == true. Change-Id: I50eb369f0fbf77e8f0ad5a148c67d46df0d3ab0e Reviewed-on: https://skia-review.googlesource.com/9487 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Ben Wagner <bungeman@google.com>
* make GrPaint.h private -- IWYUGravatar Mike Reed2017-03-09
| | | | | | | | | | | prerequisit: https://codereview.chromium.org/2743533002/ BUG=skia: Change-Id: I8c2f34a6df165744ddeaeabb562cd6d6a9679b6a Reviewed-on: https://skia-review.googlesource.com/9461 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>