aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm
Commit message (Collapse)AuthorAge
* SkDocument: remove use of SkTArray (part 1/3).Gravatar halcanary2016-02-11
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1689683002 Review URL: https://codereview.chromium.org/1689683002
* Revert of Make SkPicture/SkImageGenerator default to SkCodec (patchset #7 ↵Gravatar kjlubick2016-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/1671193002/ ) Reason for revert: Breaks Ubuntu and Mac CMAKE Original issue's description: > Make SkPicture/SkImageGenerator default to SkCodec > > Remove reference to SkImageDecoder from SkPicture. Make the default > InstallPixelRefProc passed to CreateFromStream use > SkImageGenerator::NewFromEncoded instead. > > Make SkImageGenerator::NewFromEncoded create an SkCodecImageGenerator. > Remove the old version that used SkImageDecoder. > > Remove all versions of lazy_decode_bitmap/LazyDecodeBitmap. The default > now behaves lazily. > > Update all clients to use the default. > > Move SkImageDecoderGenerator into KtxTest.cpp, and use it directly. > > BUG=skia:4691 > BUG=skia:4290 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1671193002 > > Committed: https://skia.googlesource.com/skia/+/026388a01864c74208ad57d1ba4f711602d101c6 TBR=msarett@google.com,reed@google.com,scroggo@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4691 Review URL: https://codereview.chromium.org/1685963004
* Make SkPicture/SkImageGenerator default to SkCodecGravatar scroggo2016-02-10
| | | | | | | | | | | | | | | | | | | | | | Remove reference to SkImageDecoder from SkPicture. Make the default InstallPixelRefProc passed to CreateFromStream use SkImageGenerator::NewFromEncoded instead. Make SkImageGenerator::NewFromEncoded create an SkCodecImageGenerator. Remove the old version that used SkImageDecoder. Remove all versions of lazy_decode_bitmap/LazyDecodeBitmap. The default now behaves lazily. Update all clients to use the default. Move SkImageDecoderGenerator into KtxTest.cpp, and use it directly. BUG=skia:4691 BUG=skia:4290 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1671193002 Review URL: https://codereview.chromium.org/1671193002
* Enable ImageGenerator tests on direct raster and direct gpu backendsGravatar msarett2016-02-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1682973004 Review URL: https://codereview.chromium.org/1682973004
* Disable indirect backends for image decode testsGravatar msarett2016-02-09
| | | | | | | BUG=skia:4924 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684713002 Review URL: https://codereview.chromium.org/1684713002
* Optionally run RAW images seriallyGravatar scroggo2016-02-08
| | | | | | | | | | | | | | | | | RAW images use a lot of memory. Add a new FLAG to run one at a time so we have less risk of running out of memory. Isolate RAW images to their own thread on particular devices where our images cause OOM errors. Locally, this drops the max memory use from 3945 MB to 1664 MB (running only --image --images <RAW images we test>) BUG=skia:4912 BUG=skia:4878 BUG=b/27035849 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1681553003 Review URL: https://codereview.chromium.org/1681553003
* DM: this must have been missing from the previous CLGravatar mtklein2016-02-08
| | | | | | | | | It'd be neat to have an Android trybot. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1678293002 Review URL: https://codereview.chromium.org/1678293002
* dm: simplify parallel/serial decisionsGravatar mtklein2016-02-08
| | | | | | | | | | | | | - instead of complicated enclaves, just allow parallel or main thread serial - either the Src or the Sink can force the task to go serial ALSO, - simpler file extension parsing BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1675423002 Review URL: https://codereview.chromium.org/1675423002
* Test CodecImageGenerator on GPU botsGravatar msarett2016-02-08
| | | | | | | | | | | | | | | | | | In crrev.com/1549473003, CodecImageGenerator implemented getYUV8Planes, so that we can test on a GPU bot. Update the arguments to DM so that we run CodecImageGenerator on GPU bots. This is adapted from: https://codereview.chromium.org/1663453002/ This will cause many untriaged images on Gold. The GPU converts YUV->RGBA differently than we do in software. BUG=skia:4888 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1676663002 Review URL: https://codereview.chromium.org/1676663002
* Fix Unpremul Index8 testsGravatar msarett2016-02-03
| | | | | | | | | TBR=scroggo@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663323002 Review URL: https://codereview.chromium.org/1663323002
* Test unpremul decodesGravatar msarett2016-02-03
| | | | | | | | | This is a workaround until SkCanvas supports drawing kUnpremul sources. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661913005 Review URL: https://codereview.chromium.org/1661913005
* Treat bad values passed to --images as a fatal errorGravatar scroggo2016-02-03
| | | | | | | | | | | | | | | If an option is passed to --images that is either a non-existent path or a folder with no images matching the supported types, assume this is an error and exit, so they can supply a valid path instead. Share code between DM and nanobench in SkCommonFlags. nanobench now behaves more like DM - it will check a directory for images that match the supported extensions. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611323004 Review URL: https://codereview.chromium.org/1611323004
* SkMojo: test linking Skia against the Mojo SDKGravatar halcanary2016-02-03
| | | | | | | | | | | | | TODO: build on systems other than Linux. Add mojo_skd to the DEPS. Add a DM::Via called `mojo-`. everything is hidden behind the gyp variable `skia_mojo`. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644043003 Review URL: https://codereview.chromium.org/1644043003
* DM: add uninteresting hashes FYIGravatar mtklein2016-02-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663223002 Review URL: https://codereview.chromium.org/1663223002
* Support decoding opaque to *premulGravatar scroggo2016-02-03
| | | | | | | | | | | | | | | | | | | | | | If a client requests unpremul or premul from an opaque SkCodec, support it. The opaque image can be treated as any of them, though it will be less efficient to draw than if the client had used opaque. Change the filling code (i.e. for incomplete images) to base its color on the source alpha type. Prior to adding the support to decode opaque to any, it was fine to use either source or dest (which would have yielded the same result). If the client requests non-opaque, we do not want this to switch the fill value from black to transparent. This also allows simplifying the signatures for getFillValue and onGetFillValue. In CodexTest, expect the same result when decoding opaque to *premul, and compare to the opaque version. BUG=skia:4616 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641273003 Review URL: https://codereview.chromium.org/1641273003
* Update SK_IMAGE_VERSION to test RAWGravatar scroggo2016-02-02
| | | | | | | | | | | | | | | | | | | | | Bump SK_IMAGE_VERSION to test the images in v2 in GoogleStorage, which includes the images from v1 plus test images for SkRawCodec. Only define skia_decodes_raw on platforms that support it, rather than defining it always and checking additional conditions to determine whether to support raw. Further, define it and SK_CODEC_DECODES_RAW for all targets, so we can use the compile flag in other targets. In DM, exclude the raw extensions if SK_CODEC_DECODES_RAW is not defined. Blacklist raw extensions on NexusPlayer, which was running out of memory when running them. BUG=skia:4829 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612113002 Review URL: https://codereview.chromium.org/1612113002
* Revert of Treat bad values passed to --images as a fatal error (patchset #17 ↵Gravatar scroggo2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:320001 of https://codereview.chromium.org/1611323004/ ) Reason for revert: Speculative to fix windows bots Original issue's description: > Treat bad values passed to --images as a fatal error > > If an option is passed to --images that is either a non-existent path or > a folder with no images matching the supported types, assume this is > an error and exit, so they can supply a valid path instead. > > Share code between DM and nanobench in SkCommonFlags. > > nanobench now behaves more like DM - it will check a directory for > images that match the supported extensions. > > Only consider image paths ending in RAW suffixes as images if > SK_CODE_DECODES_RAW is defined. This prevents us from seeing failure > to decode errors on platforms that cannot decode it. > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611323004 > > Committed: https://skia.googlesource.com/skia/+/7579786f3bd5a8fda84a1abc45b16213c3371f93 TBR=mtklein@google.com,borenet@google.com,msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true # Not skipping CQ checks because original CL landed more than 1 days ago. Review URL: https://codereview.chromium.org/1653543002
* Print a message when DM finishesGravatar scroggo2016-01-29
| | | | | | | | | | When running from the command line, it is obvious when DM finishes, since it brings the prompt back up. But in XCode, it just sits there, so my glance doesn't let me know that it's finished. Make it more obvious that DM is done. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1650113002 Review URL: https://codereview.chromium.org/1650113002
* Treat bad values passed to --images as a fatal errorGravatar scroggo2016-01-28
| | | | | | | | | | | | | | | | | | | If an option is passed to --images that is either a non-existent path or a folder with no images matching the supported types, assume this is an error and exit, so they can supply a valid path instead. Share code between DM and nanobench in SkCommonFlags. nanobench now behaves more like DM - it will check a directory for images that match the supported extensions. Only consider image paths ending in RAW suffixes as images if SK_CODE_DECODES_RAW is defined. This prevents us from seeing failure to decode errors on platforms that cannot decode it. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611323004 Review URL: https://codereview.chromium.org/1611323004
* Stop testing SkImageDecoder in DM/nanobenchGravatar scroggo2016-01-27
| | | | | | | | | We have already used it for comparison, and are switching forward to using SkCodec. This also allows us to simplify the code for checking the extensions we support for images. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641663002 Review URL: https://codereview.chromium.org/1641663002
* Add pre_log option to nanobench; make this option default true in ↵Gravatar benjaminwagner2016-01-25
| | | | | | | | | | nanobench_flags.py and dm_flags.py. BUG=skia:4826 BUG=skia:4827 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612483002 Review URL: https://codereview.chromium.org/1612483002
* Fix leak of SkImageGeneratorGravatar msarett2016-01-25
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1638463002 Review URL: https://codereview.chromium.org/1638463002
* Add RAW decoding into Skia.Gravatar yujieqin2016-01-25
| | | | | | | | | | | | | | TBR=reed@google.com BUG=skia: (Based on the work from ebrauer in https://codereview.chromium.org/1459473007) (Based on the work from adaubert in https://codereview.chromium.org/1494003003) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1520403003 Committed: https://skia.googlesource.com/skia/+/6bd8639f8c142eedf543f4e5f3b02d2bf11df308 Review URL: https://codereview.chromium.org/1520403003
* Do not test images with alpha to 565Gravatar msarett2016-01-25
| | | | | | | | | This should handle the untriaged images in Gold. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1635453002 Review URL: https://codereview.chromium.org/1635453002
* Revert of Prototype of RAW decoding in Skia. (patchset #32 id:610001 of ↵Gravatar msarett2016-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1520403003/ ) Reason for revert: A few build failures on Chrome OS/Android. Original issue's description: > Add RAW decoding into Skia. > > TBR=reed@google.com > > BUG=skia: > > (Based on the work from ebrauer in https://codereview.chromium.org/1459473007) > (Based on the work from adaubert in https://codereview.chromium.org/1494003003) > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1520403003 > > Committed: https://skia.googlesource.com/skia/+/6bd8639f8c142eedf543f4e5f3b02d2bf11df308 TBR=scroggo@google.com,adaubert@google.com,yujieqin@google.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/1635443002
* Add RAW decoding into Skia.Gravatar yujieqin2016-01-25
| | | | | | | | | | | | TBR=reed@google.com BUG=skia: (Based on the work from ebrauer in https://codereview.chromium.org/1459473007) (Based on the work from adaubert in https://codereview.chromium.org/1494003003) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1520403003 Review URL: https://codereview.chromium.org/1520403003
* Add getYUV8Planes() API to SkCodecGravatar msarett2016-01-22
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1549473003 Review URL: https://codereview.chromium.org/1549473003
* DM: dump a zero-results .json file right at startup.Gravatar mtklein2016-01-22
| | | | | | | | | | | This way, if DM runs, the file will be there, even if it crashes before the first time we'd ordinarily write out the file (currently, any time the number of tasks remaining to do becomes evenly divisible by 500). BUG=skia:4839 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626493002 Review URL: https://codereview.chromium.org/1626493002
* DM: dump images for task failures too (but not skipped tasks)Gravatar mtklein2016-01-21
| | | | | | | | | This will get us back to uploading things like serialize-8888 mismatches. BUG=skia:4806 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1614443002 Review URL: https://codereview.chromium.org/1614443002
* Add CodecZeroInit test to DMSrcSinkGravatar msarett2016-01-13
| | | | | | | | | This should not cause any diffs on Gold. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1577853004 Review URL: https://codereview.chromium.org/1577853004
* DM: more invariantsGravatar mtklein2016-01-08
| | | | | | | | | | | | | | | | | | | | - add ViaPicture - run ViaPicture on most bots - run ViaSecondPicture (tests SkPictureRecorder reuse) and ViaTwice (tests caching) on some bots - extend ViaSerialization reference checking to ViaPicture, ViaSecondPicture, ViaSingletonPictures, and ViaTwice - suppress current reference check failures with --blacklist I'm open to following up on changing how those suppressions work. Passing --nocheck turns off these invariant checks, letting us debug failures with normal image diff tools. CQ_EXTRA_TRYBOTS=client.skia:Test-Win8-MSVC-ShuttleB-CPU-AVX2-x86_64-Release-Trybot BUG=skia:4769 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1569823006 Review URL: https://codereview.chromium.org/1569823006
* remove SkGPipeGravatar reed2016-01-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1568883003 Review URL: https://codereview.chromium.org/1568883003
* DM: add a pixel check to serializeGravatar mtklein2016-01-07
| | | | | | | | | | | | | | | If we're running through serialize and then drawing into some raster target (e.g. serialize-8888 like we run on the bots), make sure the serialized version is identical to what we'd get if we just drew into the rest of the pipeline (i.e. 8888). Start by blacklisting all current failures. This at least prevents further regression. BUG=skia:4095 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1561993003 Committed: https://skia.googlesource.com/skia/+/6eb4e36a93ea695e7adb771ea9ac3326680a8e98 CQ_EXTRA_TRYBOTS=client.skia:Test-Win8-MSVC-ShuttleB-CPU-AVX2-x86_64-Release-Trybot Review URL: https://codereview.chromium.org/1561993003
* Revert of DM: add a pixel check to serialize (patchset #4 id:60001 of ↵Gravatar caryclark2016-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1561993003/ ) Reason for revert: breaks windows bots; additional windows specific failures need to be blacklisted Original issue's description: > DM: add a pixel check to serialize > > If we're running through serialize and then drawing into some raster target (e.g. serialize-8888 like we run on the bots), make sure the serialized version is identical to what we'd get if we just drew into the rest of the pipeline (i.e. 8888). > > Start by blacklisting all current failures. This at least prevents further regression. > > BUG=skia:4095 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1561993003 > > Committed: https://skia.googlesource.com/skia/+/6eb4e36a93ea695e7adb771ea9ac3326680a8e98 TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4095 Review URL: https://codereview.chromium.org/1563923003
* Make SkGLContext lifetime more well-definedGravatar kkinnunen2016-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove refcounting from SkGLContext. SkGLContext is expected to behave like GrContextFactory would own it, as implied by the GrContextFactory function. If it is refcounted, this does not hold. Also other use sites, such as in SkOSWindow_win (command buffer gl object), confirm the behavior. The object is explicitly owned and destroyed, not shared. Also fixes potential crashes from using GL context of an abandoned context. Also fixes potential crashes in DM/nanobench, if the GrContext lives longer than GLContext through internal refing of GrContext. Moves the non-trivial implementations from GrContextFactory.h to .cpp, just for consistency sake. Changes pathops_unittest.gyp. The pathops_unittest uses GrContextFactory, but did not link to its implementation. The reason they worked was that the implementation used (constructors, destructors) happened to be in the .h file. This works towards being able to use command buffer and NVPR from the SampleApp. BUG=skia:2992 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1511773005 Committed: https://skia.googlesource.com/skia/+/830e012187f951d49d7e46e196ac8d1e653a25da Review URL: https://codereview.chromium.org/1511773005
* DM: add a pixel check to serializeGravatar mtklein2016-01-06
| | | | | | | | | | | If we're running through serialize and then drawing into some raster target (e.g. serialize-8888 like we run on the bots), make sure the serialized version is identical to what we'd get if we just drew into the rest of the pipeline (i.e. 8888). Start by blacklisting all current failures. This at least prevents further regression. BUG=skia:4095 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1561993003 Review URL: https://codereview.chromium.org/1561993003
* Spin off more thread-safe work in DM.Gravatar mtklein2016-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | Even in GPU configs, encoding a .png and writing to disk is thread safe. This CL moves that work to an SkTaskGroup, offloading it from the GPU thread to a threadpool. In my brief local testing, this makes DM run in about half the time for GPU-bound work, e.g. $ out/Release/dm --src gm --config gpudft -w output Before: 43.79 real 37.01 user 4.28 sys After : 23.64 real 39.31 user 4.46 sys This won't affect the bots much, as they already skip .png generation when gold.skia.org already has a .png of an image with a given hash. (Most of the time saved here is under WriteToDisk() after the gUninterestingHashes check.) CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Release-Trybot BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1561553002 Review URL: https://codereview.chromium.org/1561553002
* Revert of Make SkGLContext lifetime more well-defined (patchset #7 id:120001 ↵Gravatar jcgregorio2016-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1511773005/ ) Reason for revert: Broke tests on Android, iOS, Mac and Windows. Original issue's description: > Make SkGLContext lifetime more well-defined > > Remove refcounting from SkGLContext. > > SkGLContext is expected to behave like GrContextFactory would own > it, as implied by the GrContextFactory function. > > If it is refcounted, this does not hold. > > Also other use sites, such as in SkOSWindow_win (command buffer gl > object), confirm the behavior. The object is explicitly owned and > destroyed, not shared. > > Also fixes potential crashes from using GL context of an abandoned > context. > > Also fixes potential crashes in DM/nanobench, if the GrContext lives > longer than GLContext through internal refing of GrContext. > > Moves the non-trivial implementations from GrContextFactory.h to > .cpp, just for consistency sake. > > Changes pathops_unittest.gyp. The pathops_unittest uses > GrContextFactory, but did not link to its implementation. The reason > they worked was that the implementation used (constructors, destructors) > happened to be in the .h file. > > This works towards being able to use command buffer and NVPR from > the SampleApp. > > BUG=skia:2992 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1511773005 > > Committed: https://skia.googlesource.com/skia/+/830e012187f951d49d7e46e196ac8d1e653a25da TBR=bsalomon@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1555053003
* Make SkGLContext lifetime more well-definedGravatar kkinnunen2016-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove refcounting from SkGLContext. SkGLContext is expected to behave like GrContextFactory would own it, as implied by the GrContextFactory function. If it is refcounted, this does not hold. Also other use sites, such as in SkOSWindow_win (command buffer gl object), confirm the behavior. The object is explicitly owned and destroyed, not shared. Also fixes potential crashes from using GL context of an abandoned context. Also fixes potential crashes in DM/nanobench, if the GrContext lives longer than GLContext through internal refing of GrContext. Moves the non-trivial implementations from GrContextFactory.h to .cpp, just for consistency sake. Changes pathops_unittest.gyp. The pathops_unittest uses GrContextFactory, but did not link to its implementation. The reason they worked was that the implementation used (constructors, destructors) happened to be in the .h file. This works towards being able to use command buffer and NVPR from the SampleApp. BUG=skia:2992 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1511773005 Review URL: https://codereview.chromium.org/1511773005
* If we swap its arguments, SkTaskGroup::batch() _is_ sk_parallel_for.Gravatar mtklein2016-01-04
| | | | | | | | | | | Why have two names if we can get away with one? This kills off sk_parallel_for_thread_count(), which was only used to avoid forcing a deadlock in OncePtrTest on multicore machines in singlethreaded mode... a really niche use case. Instead just don't explicitly force a race. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1552093002 Review URL: https://codereview.chromium.org/1552093002
* Two malloc+bzero -> calloc.Gravatar mtklein2016-01-04
| | | | | | | | | | | | | | I was profiling DM and noticed a couple spots where we malloc then bzero. These might as well call calloc instead: - any time DM itself allocates bitmaps for raster drawing; - any time Skia allocates memory for a raster SkSurface. We could use malloc for opaque surfaces, but it seems simpler to always calloc. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1557713003 Review URL: https://codereview.chromium.org/1557713003
* Add config options to run different GPU APIs to dm and nanobenchGravatar kkinnunen2015-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add extended config specification form that can be used to run different gpu backend with different APIs. The configs can be specified with the form: gpu(api=string,dit=bool,nvpr=bool,samples=int) This replaces and removes the --gpuAPI flag. All existing configs should still work. Adds following documentation: out/Debug/dm --help config Flags: --config: type: string default: 565 8888 gpu nonrendering Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg xps or use extended form 'backend(option=value,...)'. Extended form: 'backend(option=value,...)' Possible backends and options: gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend api type: string default: native. Select graphics API to use with gpu backend. Options: native Use platform default OpenGL or OpenGL ES backend. gl Use OpenGL. gles Use OpenGL ES. debug Use debug OpenGL. null Use null OpenGL. dit type: bool default: false. Use device independent text. nvpr type: bool default: false. Use NV_path_rendering OpenGL and OpenGL ES extension. samples type: int default: 0. Use multisampling with N samples. Predefined configs: gpu = gpu() msaa4 = gpu(samples=4) msaa16 = gpu(samples=16) nvprmsaa4 = gpu(nvpr=true,samples=4) nvprmsaa16 = gpu(nvpr=true,samples=16) gpudft = gpu(dit=true) gpudebug = gpu(api=debug) gpunull = gpu(api=null) debug = gpu(api=debug) nullgpu = gpu(api=null) BUG=skia:2992 Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1490113005 Committed: https://skia.googlesource.com/skia/+/c8b4336444e7b90382e04e33665fb3b8490b825b Committed: https://skia.googlesource.com/skia/+/9ebc3f0ee6db215dde461dc4777d85988cf272dd Review URL: https://codereview.chromium.org/1490113005
* Revert of Add config options to run different GPU APIs to dm and nanobench ↵Gravatar rmistry2015-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #21 id:400001 of https://codereview.chromium.org/1490113005/ ) Reason for revert: The Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug builder fails after this CL. Links to specific builds: http://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug/builds/1689 http://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug/builds/1690 http://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug/builds/1691 Original issue's description: > Add config options to run different GPU APIs to dm and nanobench > > Add extended config specification form that can be used to run different > gpu backend with different APIs. > > The configs can be specified with the form: > gpu(api=string,dit=bool,nvpr=bool,samples=int) > > This replaces and removes the --gpuAPI flag. > > All existing configs should still work. > > Adds following documentation: > > out/Debug/dm --help config > > Flags: > --config: type: string default: 565 8888 gpu nonrendering > Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 > nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg > xps or use extended form 'backend(option=value,...)'. > > Extended form: 'backend(option=value,...)' > > Possible backends and options: > > gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend > api type: string default: native. > Select graphics API to use with gpu backend. > Options: > native Use platform default OpenGL or OpenGL ES backend. > gl Use OpenGL. > gles Use OpenGL ES. > debug Use debug OpenGL. > null Use null OpenGL. > dit type: bool default: false. > Use device independent text. > nvpr type: bool default: false. > Use NV_path_rendering OpenGL and OpenGL ES extension. > samples type: int default: 0. > Use multisampling with N samples. > > Predefined configs: > > gpu = gpu() > msaa4 = gpu(samples=4) > msaa16 = gpu(samples=16) > nvprmsaa4 = gpu(nvpr=true,samples=4) > nvprmsaa16 = gpu(nvpr=true,samples=16) > gpudft = gpu(dit=true) > gpudebug = gpu(api=debug) > gpunull = gpu(api=null) > debug = gpu(api=debug) > nullgpu = gpu(api=null) > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1490113005 > > Committed: https://skia.googlesource.com/skia/+/c8b4336444e7b90382e04e33665fb3b8490b825b > > Committed: https://skia.googlesource.com/skia/+/9ebc3f0ee6db215dde461dc4777d85988cf272dd TBR=mtklein@google.com,bsalomon@google.com,joshualitt@google.com,scroggo@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1548683002
* Add config options to run different GPU APIs to dm and nanobenchGravatar kkinnunen2015-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add extended config specification form that can be used to run different gpu backend with different APIs. The configs can be specified with the form: gpu(api=string,dit=bool,nvpr=bool,samples=int) This replaces and removes the --gpuAPI flag. All existing configs should still work. Adds following documentation: out/Debug/dm --help config Flags: --config: type: string default: 565 8888 gpu nonrendering Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg xps or use extended form 'backend(option=value,...)'. Extended form: 'backend(option=value,...)' Possible backends and options: gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend api type: string default: native. Select graphics API to use with gpu backend. Options: native Use platform default OpenGL or OpenGL ES backend. gl Use OpenGL. gles Use OpenGL ES. debug Use debug OpenGL. null Use null OpenGL. dit type: bool default: false. Use device independent text. nvpr type: bool default: false. Use NV_path_rendering OpenGL and OpenGL ES extension. samples type: int default: 0. Use multisampling with N samples. Predefined configs: gpu = gpu() msaa4 = gpu(samples=4) msaa16 = gpu(samples=16) nvprmsaa4 = gpu(nvpr=true,samples=4) nvprmsaa16 = gpu(nvpr=true,samples=16) gpudft = gpu(dit=true) gpudebug = gpu(api=debug) gpunull = gpu(api=null) debug = gpu(api=debug) nullgpu = gpu(api=null) BUG=skia:2992 Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1490113005 Committed: https://skia.googlesource.com/skia/+/c8b4336444e7b90382e04e33665fb3b8490b825b Review URL: https://codereview.chromium.org/1490113005
* Revert of Add config options to run different GPU APIs to dm and nanobench ↵Gravatar joshualitt2015-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #18 id:340001 of https://codereview.chromium.org/1490113005/ ) Reason for revert: This CL changed 1200 images on gold, when I wouldn't expect any diffs from the description. Original issue's description: > Add config options to run different GPU APIs to dm and nanobench > > Add extended config specification form that can be used to run different > gpu backend with different APIs. > > The configs can be specified with the form: > gpu(api=string,dit=bool,nvpr=bool,samples=int) > > This replaces and removes the --gpuAPI flag. > > All existing configs should still work. > > Adds following documentation: > > out/Debug/dm --help config > > Flags: > --config: type: string default: 565 8888 gpu nonrendering > Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 > nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg > xps or use extended form 'backend(option=value,...)'. > > Extended form: 'backend(option=value,...)' > > Possible backends and options: > > gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend > api type: string default: native. > Select graphics API to use with gpu backend. > Options: > native Use platform default OpenGL or OpenGL ES backend. > gl Use OpenGL. > gles Use OpenGL ES. > debug Use debug OpenGL. > null Use null OpenGL. > dit type: bool default: false. > Use device independent text. > nvpr type: bool default: false. > Use NV_path_rendering OpenGL and OpenGL ES extension. > samples type: int default: 0. > Use multisampling with N samples. > > Predefined configs: > > gpu = gpu() > msaa4 = gpu(samples=4) > msaa16 = gpu(samples=16) > nvprmsaa4 = gpu(nvpr=true,samples=4) > nvprmsaa16 = gpu(nvpr=true,samples=16) > gpudft = gpu(dit=true) > gpudebug = gpu(api=debug) > gpunull = gpu(api=null) > debug = gpu(api=debug) > nullgpu = gpu(api=null) > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1490113005 > > Committed: https://skia.googlesource.com/skia/+/c8b4336444e7b90382e04e33665fb3b8490b825b TBR=mtklein@google.com,bsalomon@google.com,scroggo@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1536963002
* Add config options to run different GPU APIs to dm and nanobenchGravatar kkinnunen2015-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add extended config specification form that can be used to run different gpu backend with different APIs. The configs can be specified with the form: gpu(api=string,dit=bool,nvpr=bool,samples=int) This replaces and removes the --gpuAPI flag. All existing configs should still work. Adds following documentation: out/Debug/dm --help config Flags: --config: type: string default: 565 8888 gpu nonrendering Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg xps or use extended form 'backend(option=value,...)'. Extended form: 'backend(option=value,...)' Possible backends and options: gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend api type: string default: native. Select graphics API to use with gpu backend. Options: native Use platform default OpenGL or OpenGL ES backend. gl Use OpenGL. gles Use OpenGL ES. debug Use debug OpenGL. null Use null OpenGL. dit type: bool default: false. Use device independent text. nvpr type: bool default: false. Use NV_path_rendering OpenGL and OpenGL ES extension. samples type: int default: 0. Use multisampling with N samples. Predefined configs: gpu = gpu() msaa4 = gpu(samples=4) msaa16 = gpu(samples=16) nvprmsaa4 = gpu(nvpr=true,samples=4) nvprmsaa16 = gpu(nvpr=true,samples=16) gpudft = gpu(dit=true) gpudebug = gpu(api=debug) gpunull = gpu(api=null) debug = gpu(api=debug) nullgpu = gpu(api=null) BUG=skia:2992 Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1490113005 Review URL: https://codereview.chromium.org/1490113005
* Add option to control maximum GrBatch lookbackGravatar bsalomon2015-12-14
| | | | Review URL: https://codereview.chromium.org/1498653002
* Revert of Add config options to run different GPU APIs to dm and nanobench ↵Gravatar reed2015-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #12 id:220001 of https://codereview.chromium.org/1490113005/ ) Reason for revert: speculative revert to see if it unblocks the DEPS roll https://codereview.chromium.org/1529443002 Original issue's description: > Add config options to run different GPU APIs to dm and nanobench > > Add extended config specification form that can be used to run different > gpu backend with different APIs. > > The configs can be specified with the form: > gpu(api=string,dit=bool,nvpr=bool,samples=int) > > This replaces and removes the --gpuAPI flag. > > All existing configs should still work. > > Adds following documentation: > > out/Debug/dm --help config > > Flags: > --config: type: string default: 565 8888 gpu nonrendering > Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 > nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg > xps or use extended form 'backend(option=value,...)'. > > Extended form: 'backend(option=value,...)' > > Possible backends and options: > > gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend > api type: string default: native. > Select graphics API to use with gpu backend. > Options: > native Use platform default OpenGL or OpenGL ES backend. > gl Use OpenGL. > gles Use OpenGL ES. > debug Use debug OpenGL. > null Use null OpenGL. > dit type: bool default: false. > Use device independent text. > nvpr type: bool default: false. > Use NV_path_rendering OpenGL and OpenGL ES extension. > samples type: int default: 0. > Use multisampling with N samples. > > Predefined configs: > > gpu = gpu() > msaa4 = gpu(samples=4) > msaa16 = gpu(samples=16) > nvprmsaa4 = gpu(nvpr=true,samples=4) > nvprmsaa16 = gpu(nvpr=true,samples=16) > gpudft = gpu(dit=true) > gpudebug = gpu(api=debug) > gpunull = gpu(api=null) > debug = gpu(api=debug) > nullgpu = gpu(api=null) > > BUG=skia:2992 > > Committed: https://skia.googlesource.com/skia/+/e13ca329fca4c28cf4e078561f591ab27b743d23 TBR=bsalomon@google.com,scroggo@google.com,joshualitt@google.com,kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:2992 Review URL: https://codereview.chromium.org/1528473002
* Add config options to run different GPU APIs to dm and nanobenchGravatar kkinnunen2015-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add extended config specification form that can be used to run different gpu backend with different APIs. The configs can be specified with the form: gpu(api=string,dit=bool,nvpr=bool,samples=int) This replaces and removes the --gpuAPI flag. All existing configs should still work. Adds following documentation: out/Debug/dm --help config Flags: --config: type: string default: 565 8888 gpu nonrendering Options: 565 8888 debug gpu gpudebug gpudft gpunull msaa16 msaa4 nonrendering null nullgpu nvprmsaa16 nvprmsaa4 pdf pdf_poppler skp svg xps or use extended form 'backend(option=value,...)'. Extended form: 'backend(option=value,...)' Possible backends and options: gpu(api=string,dit=bool,nvpr=bool,samples=int) GPU backend api type: string default: native. Select graphics API to use with gpu backend. Options: native Use platform default OpenGL or OpenGL ES backend. gl Use OpenGL. gles Use OpenGL ES. debug Use debug OpenGL. null Use null OpenGL. dit type: bool default: false. Use device independent text. nvpr type: bool default: false. Use NV_path_rendering OpenGL and OpenGL ES extension. samples type: int default: 0. Use multisampling with N samples. Predefined configs: gpu = gpu() msaa4 = gpu(samples=4) msaa16 = gpu(samples=16) nvprmsaa4 = gpu(nvpr=true,samples=4) nvprmsaa16 = gpu(nvpr=true,samples=16) gpudft = gpu(dit=true) gpudebug = gpu(api=debug) gpunull = gpu(api=null) debug = gpu(api=debug) nullgpu = gpu(api=null) BUG=skia:2992 Review URL: https://codereview.chromium.org/1490113005
* Run debug gl context for DEF_GPU_TEST_FOR_ALL_CONTEXTSGravatar kkinnunen2015-12-10
| | | | | | | Run debug gl context for tests defined with DEF_GPU_TEST_FOR_ALL_CONTEXTS. Review URL: https://codereview.chromium.org/1514023002