aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Revert of Add unit repeat tiler (patchset #4 id:60001 of ↵Gravatar robertphillips2016-03-31
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1837893004/ ) Reason for revert: ASAN bot failures Original issue's description: > Add unit repeat tiler. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1837893004 > > Committed: https://skia.googlesource.com/skia/+/865a289bfec169cb19970c734e9aa855c267f060 TBR=mtklein@google.com,fmalita@chromium.org,herb@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/1844713005
* Expose GrGLAssembleInterfaceGravatar bsalomon2016-03-31
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842363003 Review URL: https://codereview.chromium.org/1842363003
* Update SkOffsetImageFilter to sk_spGravatar robertphillips2016-03-31
| | | | | | | | TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842193002 Review URL: https://codereview.chromium.org/1842193002
* Add unit repeat tiler.Gravatar herb2016-03-31
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1837893004 Review URL: https://codereview.chromium.org/1837893004
* Remode dead code from SkReadBufferGravatar msarett2016-03-31
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1845283002 Review URL: https://codereview.chromium.org/1845283002
* Image filters: fix crop rect application in SkXfermodeImageFilter.Gravatar senorblanco2016-03-31
| | | | | | | | | | | | | | | | | | The crop rect was being incorrectly applied in SkXfermodeImageFilter: the background and foreground bounds were having the crop rect applied individually to them, and then unioned. The correct approach is to take the union of their bounds, and apply the crop rect to that. (A similar bug in SkMergeImageFilter was fixed a while back.) This is important when applying a compositing mode which affects pixels outside the foreground bounds (e.g., SrcIn, SrcOut). NOTE: this will change the results of the xfermodeimagefilter GM (new test case). GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842033005 Review URL: https://codereview.chromium.org/1842033005
* SkPDF: Use Pathops clippingGravatar halcanary2016-03-31
| | | | | | | | | | | | | | | | | Turn this on all the time. Remove the SK_PDF_USE_PATHOPS_CLIPPING define that used to hide this functionality. All rendering tests are the same or improved by this. Also, remove non-functional SK_ALLOW_LARGE_PDF_SCALARS. TBR=reed@google.com removing dead #defines from SkUserConfig.h BUG=591805 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1845623002 Review URL: https://codereview.chromium.org/1845623002
* SkPDF: Make magic make senseGravatar halcanary2016-03-31
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1849453004 Review URL: https://codereview.chromium.org/1849453004
* Make SkRandom::next[US]Fixed1 private; update documentation for ↵Gravatar benjaminwagner2016-03-31
| | | | | | | | | | | | | SkRandom::nextSScalar1. SkRandom is unused in Chromium, Android, Mozilla, and Google3. SkRandom::nextSScalar1 and LCGRandom::nextSScalar1 appear to me by inspection to potentially return -1, so I updated the documentation to match. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1846773002 Review URL: https://codereview.chromium.org/1846773002
* Fix C4334 warning about 32-bit shift assigned to 64-bitsGravatar brucedawson2016-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | VS 2015 has a new or louder warning about 32-bit shifts that are then assigned to a 64-bit target. This type of code triggers it: int64_t size = 1 << shift_amount; Because the '1' being shifted is a 32-bit int the result of the shift will be a 32-bit result, so assigning it to a 64-bit variable is just misleading. In this case the code that triggers it is this: size_t alloc = 1<<fLgSize++; The destination is a size_t so the warning only shows up on 64-bit builds and doesn't indicate a real bug. But, casting the '1' constant to size_t makes the behavior/intent more obvious and consistent and allows enabling C4334 in Chromium. BUG=593448 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1845123002 Review URL: https://codereview.chromium.org/1845123002
* Move SkGLContext and some GrGLInterface implementations to skgputest moduleGravatar bsalomon2016-03-30
| | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Committed: https://skia.googlesource.com/skia/+/fe3456cb006110d045b26ff3f8681b893a757b58 Review URL: https://codereview.chromium.org/1815823002
* Update SkMergeImageFilter to sk_spGravatar robertphillips2016-03-30
| | | | | | | | TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1847583002 Review URL: https://codereview.chromium.org/1847583002
* SkPDF: SkTypeface::openStream could return nullptrGravatar halcanary2016-03-30
| | | | | | | | | Speculative fix for hard-to-reproduce bug. BUG=163892 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842163002 Review URL: https://codereview.chromium.org/1842163002
* Update SkComposeImageFilter to sk_spGravatar robertphillips2016-03-30
| | | | | | | | TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1841233002 Review URL: https://codereview.chromium.org/1841233002
* Enable dual source blending for VulkanGravatar egdaniel2016-03-30
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1837213003 Review URL: https://codereview.chromium.org/1837213003
* Correct png inverse gAMA when parsing color spaceGravatar msarett2016-03-30
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1829433002 Review URL: https://codereview.chromium.org/1829433002
* Enable gpusrgb config on bots.Gravatar brianosman2016-03-30
| | | | | | | | | | Don't run the config if we can't get a context with srgb support. Includes a unit test for that logic. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1846603002 Review URL: https://codereview.chromium.org/1846603002
* Revert of Move SkGLContext and some GrGLInterface implementations to ↵Gravatar robertphillips2016-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | skgputest module (patchset #13 id:240001 of https://codereview.chromium.org/1815823002/ ) Reason for revert: red bots Original issue's description: > Move SkGLContext and some GrGLInterface implementations to skgputest module > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002 > CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot > > Committed: https://skia.googlesource.com/skia/+/fe3456cb006110d045b26ff3f8681b893a757b58 TBR=jvanverth@google.com,bsalomon@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/1845473004
* Move SkGLContext and some GrGLInterface implementations to skgputest moduleGravatar bsalomon2016-03-30
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1815823002
* Update Morphology image filter to store its typeGravatar robertphillips2016-03-30
| | | | | | | | TBR=bsalomon@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834953002 Review URL: https://codereview.chromium.org/1834953002
* Switch SkLocalMatrixImageFilter and SkPaintImageFilter over to sk_spGravatar robertphillips2016-03-30
| | | | | | | | | | TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842793002 Committed: https://skia.googlesource.com/skia/+/a33cf07a2273315363c0b6fb5d3ce811742f5a85 Review URL: https://codereview.chromium.org/1842793002
* Revert of Switch SkLocalMatrixImageFilter and SkPaintImageFilter over to ↵Gravatar djsollen2016-03-29
| | | | | | | | | | | | | | | | | | | | | | | | sk_sp (patchset #6 id:100001 of https://codereview.chromium.org/1842793002/ ) Reason for revert: This CL is causing the autoroll into Chromium & google3 to fail. Original issue's description: > Switch SkLocalMatrixImageFilter and SkPaintImageFilter over to sk_sp > > TBR=reed@google.com > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842793002 > > Committed: https://skia.googlesource.com/skia/+/a33cf07a2273315363c0b6fb5d3ce811742f5a85 TBR=fmalita@chromium.org,reed@google.com,robertphillips@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/1837293003
* Add repeatSpan and change interface name.Gravatar herb2016-03-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1841793002 Review URL: https://codereview.chromium.org/1841793002
* Switch SkLocalMatrixImageFilter and SkPaintImageFilter over to sk_spGravatar robertphillips2016-03-29
| | | | | | | | TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842793002 Review URL: https://codereview.chromium.org/1842793002
* switch xfermodes over to sk_spGravatar reed2016-03-29
| | | | | | | | | waiting on https://codereview.chromium.org/1835163002/ BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1832223002 Review URL: https://codereview.chromium.org/1832223002
* Dirty mipmaps whenever we upload new contents for a texture.Gravatar brianosman2016-03-29
| | | | | | | | | | | | Found a bug where we rendered with two identically sized textures. On the first frame, everything worked. On subsequent frames, we would get the other texture from the cache, causing us to inherit the mips from the wrong texture. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1836143003 Review URL: https://codereview.chromium.org/1836143003
* SkPDF: skia_pdf_less_compression - for debugging onlyGravatar halcanary2016-03-29
| | | | | | | | | | | | | Motivation: as we implement more features in PDF, it would be nice to more easily see what is happening in the output. This change serializes page content as plain text rather than compressed text, but it has to be explicitly enabled with a GYP_DEFINE change: export GYP_DEFINES='skia_pdf_less_compression=1' bin/sync-and-gyp ninja -C out/Debug dm out/Debug/dm --config pdf --src gm -w /tmp GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1840103002 Review URL: https://codereview.chromium.org/1840103002
* SkPDF: milestone in metadata, also SkMilestone.hGravatar halcanary2016-03-29
| | | | | | | | TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1823753002 Review URL: https://codereview.chromium.org/1823753002
* Style bikeshed - remove extraneous whitespaceGravatar halcanary2016-03-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002 Review URL: https://codereview.chromium.org/1842753002
* Fix GrConvexPolyEffect to deal with line paths.Gravatar bsalomon2016-03-28
| | | | | | | BUG=skia:4727 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1839743002 Review URL: https://codereview.chromium.org/1839743002
* Delete SkImageDecoder_emptyGravatar msarett2016-03-28
| | | | | | | | | | | | We no longer need this now that the Chrome build files have been updated to use SkImageEncoder_none (which is an identical file). TBR=djsollen@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1832363002 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1832363002
* Swap SkPictureImageFilter's factories over to smart pointersGravatar robertphillips2016-03-28
| | | | | | | | | A trial balloon before converting the rest This requires https://codereview.chromium.org/1836443003/ (add SK_SUPPORT_LEGACY_IMAGEFILTER_PTR flag for future skia CL) to land in Chromium first GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1831323003 Review URL: https://codereview.chromium.org/1831323003
* Change VkPipelineStateCahce to use Hash and LRU LList.Gravatar egdaniel2016-03-28
| | | | | | | | | | This simplifies the caching code and forms the base for a caching template that will be easier to use for other objects within Vulkan. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1836863002 Review URL: https://codereview.chromium.org/1836863002
* Remove the GrGLInterface callback mechanism.Gravatar bsalomon2016-03-28
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1836013002 Review URL: https://codereview.chromium.org/1836013002
* Remove advance[XY]Fixed getters.Gravatar benjaminwagner2016-03-28
| | | | | | | | | Reverts https://codereview.chromium.org/1772863002 after updating Android. BUG=skia:4632 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842453002 Review URL: https://codereview.chromium.org/1842453002
* Use NV glsl shader compiler for VulkanGravatar egdaniel2016-03-28
| | | | | | | | | | | | | | The nvidia direct glsl shader compiler seems to perform much better than using shaderc to compile to spir-v first. This change also includes a change to prefer host cached memory for buffers. Having cached buffers signifcantly improves performance whenever we need to do buffer reads and writes. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1835813003 Review URL: https://codereview.chromium.org/1835813003
* SkPDF: PDFDevice::ContentEntry now implemented with SinglyLinkedListGravatar halcanary2016-03-28
| | | | | | | | | | add SkSinglyLinkedList<T> class no change in SkPDF output. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1839633003 Review URL: https://codereview.chromium.org/1839633003
* Add GLFW support for GrGLCreateNativeInterfaceGravatar abarth2016-03-28
| | | | | | | | This file lets us use Skia's GPU backend with GLFW. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1827153003 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1827153003
* Remove SK_IGNORE_MAC_FONT_WEIGHT_FIX.Gravatar bungeman2016-03-28
| | | | | | | | | | This is now a dead define, and the changes have been rebased in both Skia gold and Blink layout tests. BUG=5095 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1837783002 Review URL: https://codereview.chromium.org/1837783002
* Temporary fix for --preAbandonGpuContext bugGravatar robertphillips2016-03-28
| | | | | | | | | | | | | | | | | In this instance what is going wrong is: the context gets abandoned SkCanvas tries to create a new SkGpuDevice (which fails) if then creates a bitmap device it then attempts to draw the abandoned GrTexture (behind the old SkGpuDevice into the new bitmap device with an image filter b.c. some image filters still switch their behavior based on the presence of a texture bad stuff happens This used to be resolved by the new bitmap device getting forced down the bitmap path and then failing when it attempted to readback the GrTexture. BUG=skia:5138 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1840663002 Review URL: https://codereview.chromium.org/1840663002
* rm src/ports/SkTime_*.cppGravatar halcanary2016-03-28
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1833283002 Review URL: https://codereview.chromium.org/1833283002
* SkPDF s/SkAutoTDelete/std::unique_ptr/Gravatar halcanary2016-03-28
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1837553002 Review URL: https://codereview.chromium.org/1837553002
* Add WSI functions to GrVkInterfaceGravatar jvanverth2016-03-28
| | | | | | | BUG=skia:5043 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834903003 Review URL: https://codereview.chromium.org/1834903003
* rm src/animator/SkTime.cppGravatar halcanary2016-03-25
| | | | | | It was empty anyway. Review URL: https://codereview.chromium.org/1835073002
* SkPDF: remove margin foolishnessGravatar halcanary2016-03-25
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1837453003 Review URL: https://codereview.chromium.org/1837453003
* Re-enable CPU mipmap generation for Ganesh. Aniso mips were landed a while ↵Gravatar brianosman2016-03-25
| | | | | | | | | | | ago. However, the CPU builder fails when it sees Index8 (among other things), so change the code to fallback to GPU in that case. Additionally, if we're going to be mipping an sRGB image, don't use the CPU code (which is not yet gamma correct). Unfortunately, this means that we will often be using the GPU path, still - with recent codec changes, most images are coming in tagged as sRGB. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1835003002 Committed: https://skia.googlesource.com/skia/+/b0ac1af7fab467aacbc27d20d14a09bcb960472f Review URL: https://codereview.chromium.org/1835003002
* Change SkTime::GetMSecs to double; ensure values stored in SkMSec do not ↵Gravatar benjaminwagner2016-03-25
| | | | | | | | | | | | | | | | | | | | | | | overflow. The following are currently unused in Android, Google3, Chromium, and Mozilla: - SkEvent - SkTime::GetMSecs - SK_TIME_FACTOR (also unused in Skia) - SkAutoTime I left uses of SkMSec more-or-less intact for SkEvent, SkAnimator, and SkInterpolator. SkInterpolator is used in Chromium, so I did not want to change the API. The views/ and animator/ code is crufty, so it didn't seem worthwhile to refactor it. Instead, I added SkEvent::GetMSecsSinceStartup, which is likely to be adequate for use in SampleApp. I also left SkMSec where it is used to measure a duration rather than a timestamp. With the exception of SkMovie, which is used in Android, all of the uses appear to measure the execution time of a piece of code, which I would hope does not exceed 2^31 milliseconds. Added skiatest::Timer to support a common idiom in tests where we want to measure the wallclock time in integer milliseconds. (Not used in tests/PathOpsSkpClipTest.cpp because it redefines things in Test.h.) Removed tabs in tests/StrokerTest.cpp. BUG=skia:4632 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1811613004 Review URL: https://codereview.chromium.org/1811613004
* Consolidate GPU buffer implementationsGravatar cdalton2016-03-25
| | | | | | | | | | | | | | | | Consolidates all the different buffer implementations into a single GrBuffer class. This will allow us to add new buffer types, use DSA in OpenGL, track buffer bindings by unique ID, cache buffers without respect to the type of data they have been used for previously, etc. This change is strictly a refactor; it introduces no change in functionality. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002 Committed: https://skia.googlesource.com/skia/+/8b1bff29675afd25843439eade634a57f68fe16f Review URL: https://codereview.chromium.org/1825393002
* Move SkRWBuffer.h to include/ and add SK_APIGravatar scroggo2016-03-25
| | | | | | | Needed for use in Blink in crrev.com/1812273003 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1838463003 Review URL: https://codereview.chromium.org/1838463003
* SkPDF: draw{Image,Bitmap} always serializes earlyGravatar halcanary2016-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, the PDFCanon held a map from BitmapKeys to SkImages for de-duping bitmaps. Even if the PDFDocument serialized images early, the Canon still held a ref to that image inside the map. With this change, the Canon holds a single map from BitmapKeys to PDFObjects. Now, Images are only held by the PDFObject, which the document serializes and drops early. This change also: - Moves SkBitmapKey into its own header (for possible reuse); it now can operate with images as well as bitmaps. - Creates SkImageBitmap, which wraps a pointer to a bitmap or an image and abstracts out some common tasks so that drawBitmap and drawImage behave the same. - Modifies SkPDFCreateBitmapObject to take and return a sk_sp<T>, not a T*. - Refactors SkPDFDevice::internalDrawImage to use bitmaps or images (via a SkImageBitmap). - Turns on pre-serialization of all images. BUG=skia:5087 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1829693002 Review URL: https://codereview.chromium.org/1829693002