aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add private save-behind and draw-behind methods to canvas.HEADp9.0Derek Sollenberger2019-08-0727-5/+349
| | | | | | | | | | | | | | | | | | | | | | | | | The draw-behind is a variant of drawPaint but is automatically clipped to the bounds of the most recent saveBehind buffer (axis-aligned bounds). No public exposure outside of the Android framework. Impl is pretty simple (its a variant of drawPaint) - find the most recent saveBehind device bounds - if there is none, draw nothing, else - temporarily intersect the device's clip with that bounds - drawPaint - restore the clip This patches did not apply cleanly and have been updated to compile with a previous version of Skia. It was cherry-picked from the following 3 Skia commits: 148b7fd3ad9c29dec0052de624c26ff291ef8f0a d567408362bf7847d6000f6786f9a7b2c9d0b88b 9adc82c73df0ef25b708cae8aa48ef9c39ed4c67 Bug: 129117085 Test: None Change-Id: I291f57885de6e95f749bf5cdb70ac16a5781ffb1
* Cherry-pick of external/skia d85db6096..5bf2575a5 (2 commits)Derek Sollenberger2019-08-071-20/+35
| | | | | | | | | | | | | https://skia.googlesource.com/skia.git/+log/d85db6096..5bf2575a5 2018-09-14 brianosman@google.com Add fallback path for drawing unsupported bitmap configs 2018-09-14 brianosman@google.com Cleanup mip-mapped proxy creation slightly Bug: 111575889 Test: Presubmit checks will test this change. Change-Id: Id4b50af1951dc642d2afbdc2222d212f2a2259b0 Merged-In: I9a3a615deabb7d0a8b731ce5c9bcae8bb506ae3b (cherry picked from commit 13bdaa517b8320f9a7f272e82063ae3f92f3835c)
* RESTRICT AUTOMERGE: Make listener lists threadsafe with a mutex.Mike Klein2019-04-162-0/+4
| | | | | | | | | | | | | | | | | | Bug: 124232283 Test: Infeasible Cherry-pick of https://skia-review.googlesource.com/155060 in Skia There were conflicts due the fact that pi-dev does not have commit afa11586d782c7cb3e83b8af48023ff227349516 ("Make the SkPathRef GenIDChangeListener ref counted") or 6c8d242b14355bf66c9137e9e4d6c7861d22168f ("Make atomic lists list for bitmaps and paths" - an alternate fix for this issue) and some smaller header file changes. Change-Id: I7c2c5cd6603007d099169071a1b7d1a230c621bc Merged-In: I91a8fbdd1b8fb4cf8b124ebdf17212c643058ef3 (cherry picked from commit bf999383abd128f8db32fc2f24606679280a5b7d)
* Make sure we mark Plots in use for all regenerate casesJim Van Verth2019-02-074-8/+15
| | | | | | | Change-Id: I49b2cd7f634faa4a233038f3c1eaa507c630d95d Test: Added fontregen GM to verify fix. Bug: b/118850208 Merged-In: I986cd20ff387aa34e2750c10b53aa8a73ba85ed3
* RESTRICT AUTOMERGE: Fix heap buffer overflowLeon Scroggins III2018-11-261-0/+16
| | | | | | | | | | | | | | | Bug: b/118143775 Bug: oss-fuzz:11040 Test: I5fe66d06078f3bc674ceab4fbc8aae2ab67bfe1a Because we're sampling, the offset ends up the same as the width. Back up to the left enough to fit the bytes we will write. Include SafetyNet logging from https://skia-review.googlesource.com/c/skia/+/171227 Change-Id: Ie476a0191b66c2322446b9c0922f630d6e971645 Reviewed-on: https://skia-review.googlesource.com/c/164262
* RESTRICT AUTOMERGE: Fix bug decoding JCS_RGB jpeg filesLeon Scroggins III2018-11-2611-407/+429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 118372692 Test: I6364b836db6bee98572ed0864e3dde6d2ca2d1b2 Remove conflicting changes in infra. Resolved conflicts in: - src/codec/SkHeifCodec.cpp - src/codec/SkJpegCodec.cpp - src/codec/SkSwizzler.cpp Use old version of SkEncodedInfo::Make Remove references to SkEncodedInfo::kXAlpha_Color and ::k565_Color which are unused by Android. Also include SafetyNet logging from https://skia-review.googlesource.com/c/skia/+/171222. Original message follows: Bug: chromium:897031 Bug: chromium:896776 Prior to this fix, we would treat the output from such a JPEG as if it were a 16 bit per component RGB PNG. We hit an assert in debug, but in release mode we do the wrong thing. Split up SkSwizzler::CreateSwizzler into two public factories (and a private one) based on whether format conversion is desired. Without format conversion, we may have already converted (as is the case with this JPEG), so the SkEncodedInfo::Color is not relevant. That flavor of the factory just needs to know the bytes per pixel, so provide that info instead. Add a test file to Google Storage: apron.jpg, from Chromium's benchmark files. Change-Id: Idd8a11a8da5c0a77a4348a6ee37a984137b39f19
* RESTRICT AUTOMERGE: Fix uninitialized errors in SkPngCodecLeon Scroggins III2018-11-263-46/+53
| | | | | | | | | | | | | | | | | | | | | | | | | Bug: 117838472 Test: Iae4d7f393c892111b12282c5eae31d79912721f9 - Initialize rowsDecoded in SkSampledCodec. Otherwise, fillIncompleteImage may be called with an uninitialized value. This change was originally uploaded to AOSP as https://android-review.googlesource.com/c/platform/external/skia/+/785816 - If SkPngCodec hits an error, still transform from the interlace buffer (if needed) and set rowsDecoded properly. - Do not copy uninitialized memory from the interlace buffer. - Make BRD treat kErrorInInput like kIncompleteInput. The two errors are different for the purposes of incremental decode. For a direct decode, they're essentially the same - part was decoded, but then the decode was interrupted. This allows testing images with errors on the bots without reporting a failure. Originally uploaded as https://skia-review.googlesource.com/c/skia/+/161822 - Also includes SkPngCodec SafetyNet logging from https://skia-review.googlesource.com/c/skia/+/170354 Change-Id: Ie170abf65393feb4edba60aa941f2783fe18cd8b
* RESTRICT AUTOMERGE: Add SkAndroidFrameworkUtils::SafetyNetLogLeon Scroggins III2018-11-261-2/+8
| | | | | | | | | | | | Cherry-picked from upstream (minus SkPngCodec-specific code): https://skia-review.googlesource.com/c/skia/+/170354 Bug: 117838472 Bug: 118372692 Bug: 118143775 Test: Iae4d7f393c892111b12282c5eae31d79912721f9 Change-Id: I463f8b2c11c07098e9ec24448f66fcafcf6cd76b
* switched from NUM_SHADER_BINARY_FORMATS to NUM_PROGRAM_BINARY_FORMATSEthan Nicholas2018-07-102-2/+4
| | | | | | | | Bug: b/110175245 Change-Id: I6b843bc1e3c36bc32531705fc661788d4eef6d35 Reviewed-on: https://skia-review.googlesource.com/140003 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Merge "Alternate between two SkBitmaps in SkAnimatedImage" into pi-devTreeHugger Robot2018-05-171-47/+73
|\
| * Alternate between two SkBitmaps in SkAnimatedImageLeon Scroggins III2018-05-151-47/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 78866720 Test: Manual + test in Skia The client in Android calls newPictureSnapshot, which results in copying the mutable SkBitmap into a newly allocated one in each frame. Avoid this by calling SkMakeImageFromRasterBitmap with kNever_SkCopyPixelsMode. Make SkAnimatedImage copy on write, by copying before decoding if the bitmap's pixel ref is not unique. Android's AnimatedImageDrawable's current architecture only decodes one frame in advance, so it will never need to perform the copy on write. This will save one bitmap allocation per GIF frame. Add a test to verify that copy on write works as expected. Change-Id: I87eb6e84089096cd2d618b91fb627fc58677e66a
* | Merge "Make DNG decodes single threaded on Android" into pi-devLeon Scroggins2018-05-111-8/+6
|\ \ | |/ |/|
| * Make DNG decodes single threaded on AndroidLeon Scroggins III2018-05-111-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 78878033 Test: testWarpedDng in CtsGraphicsTestCases Previously this was set to 4 threads. For some images, this requires allocating close to 2 GB of memory. This is not something we can support on all devices. Unfortunately, we cannot tell the difference between images that will allocate so much memory, so just use one thread all the time. Change-Id: I9fb9a65af97efd63fac8f6b282525ff3b650968d
* | Merge "DO NOT MERGE Fix extra texture creation in ↵Leon Scroggins2018-05-091-32/+24
|\ \ | | | | | | | | | GrResourceProvider::createTexture() with SRGB data." into pi-dev
| * | DO NOT MERGE Fix extra texture creation in ↵Brian Salomon2018-05-091-32/+24
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrResourceProvider::createTexture() with SRGB data. We would make a temporary surface context around a scratch texture with a SRGB color space and then attempt writePixels with a src SkImageInfo with no color space. Then we'd fall back to creating a texture with initial data. Now we will make the src SkImageInfo have a SRGB color space and then assume success. Bug: 78866720 Test: Manual with adb shell dumpsys gfxinfo PACKAGE_NAME Conflicts: - src/gpu/GrResourceProvider.cpp Change-Id: I541a3b73c72f610533cfbc6892b2782c90e5121d
* | Merge "Treat SkFILEStream's fOriginalOffset as the start" into pi-devLeon Scroggins2018-05-091-8/+26
|\ \
| * | Treat SkFILEStream's fOriginalOffset as the startLeon Scroggins III2018-05-091-8/+26
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: b/78866720 Test: Manual ::rewind() rewinds to fOriginalOffset ::seek(position) seeks to position + fOriginalOffset ::move(offset) will not move < fOriginalOffset ::getPosition() returns position relative to fOriginalOffset ::getLength() returns full size minus fOriginalOffset ::duplicate() and ::fork() pass on fOriginalOffset Android may create an SkFILEStream using a file descriptor whose offset is at the beginning of the data that Android cares about. Treat all positions in SkFILEStream as relative to that original offset. This allows AnimatedImageDrawable to read directly from the SkFILEStream, rather than using an SkFrontBufferedStream and forcing SkGifCodec to cache data for later use. This fixes a TODO that was introduced in https://skia-review.googlesource.com/c/skia/+/9498 and takes it a step further. In that CL, bungeman@ and I discussed the change and decided to "leave this alone for now to avoid changing behavior". Doing a code search today, the only two callers want the new behavior. Change-Id: I9211394d5b730adf528fac0df0af7a664b1295be Reviewed-on: https://skia-review.googlesource.com/126511 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* | Cherry-pick of "Make GPU lattice/nine patch not bleed across cells."Leon Scroggins III2018-05-0816-184/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consolidate code for handling various image/bitmap and lattice/ninepatch flavors. Makes refTextureForParams virtual on GrTextureProducer. Previously both subclasses had non-virtual flavors of this. Bug: b/77917978 Reviewed-on: https://skia-review.googlesource.com/125520 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> No-Tree-Checks: true No-Try: true No-Presubmit: true Conflicts: src/gpu/GrTextureAdjuster.cpp: - https://skia-review.googlesource.com/114985 switched from gpu->isACopyNeededForTextureParams to a static version. Continue using the old version, as the static version does not yet exist. Restore check for !gpu - https://skia-review.googlesource.com/121104 added an assert. Comment it out. src/gpu/GrTextureMaker.cpp: - https://skia-review.googlesource.com/121104 added a check for max texture size. Comment it out. src/gpu/ops/GrLatticeOp.cpp: - Did not come up in the cherry-pick, but a logical conflict appeared when building DM. https://skia-review.googlesource.com/111806 moved GrSurfaceOrigin from GrSurfaceDesc to the proxy. In this branch, we need to set it on GrSurfaceDesc. Change-Id: I9dcb9ebf7432549ac35000b683094e3dc0fa1ede Reviewed-on: https://skia-review.googlesource.com/126824 Reviewed-by: Leon Scroggins <scroggo@google.com>
* | Make the src rects of truths in SkLatticeIter be integral.Leon Scroggins III2018-05-082-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will make the non-bleed gpu implementation more sane as we will know that the input src rects are at integers and if offset by +/-0.5 we will be at pixel centers. No change in behavior, since src rects really were integral all along. Bug: b/77917978 No-Tree-Checks: true No-Try: true No-Presubmit: true Change-Id: I7193ff0b38de5d10debc24a0121e643573c47cda Reviewed-On: https://skia-review.googlesource.com/125740 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-By: Leon Scroggins <scroggo@google.com> Reviewed-on: https://skia-review.googlesource.com/126823
* | Reland "(Mostly) respect FilterQuality in draw[stretchy]"Leon Scroggins III2018-05-082-6/+42
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 149bd00d874139a78c4dd6ff35d9b2095b7e6900. It was only temporarily reverted while the other CLs needed along with it were landed. Original message: Bug: b/77917978 For drawImageLattice drawBitmapLattice drawImageNine drawBitmapNine , respect the SkFilterQuality on the SkPaint. Previously the GPU used the lowest quality to avoid a bleeding effect, leading to ugly nine- patches on Android. For all backends, cap the filter quality at kLow_SkFilterQuality. Update SkCanvas' documentation to specify this. No-Tree-Checks: true No-Try: true No-Presubmit: true Change-Id: I07becc335bb136e6bca9e181bd68b9a3681dd8ab Reviewed-on: https://skia-review.googlesource.com/126822 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Revert "(Mostly) respect FilterQuality in draw[stretchy]"Leon Scroggins2018-04-302-42/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e81058c6811a40828636486670ba1e9c1ecf4ce6. Reason for revert: Still need another CL in order to avoid the bleeding. That CL is not ready yet, and Stan wants to land other changes in pi-dev, without this one. Original change's description: > (Mostly) respect FilterQuality in draw[stretchy] > > Bug: b/77917978 > > For > drawImageLattice > drawBitmapLattice > drawImageNine > drawBitmapNine > , respect the SkFilterQuality on the SkPaint. Previously the GPU used > the lowest quality to avoid a bleeding effect, leading to ugly nine- > patches on Android. > > For all backends, cap the filter quality at kLow_SkFilterQuality. > Update SkCanvas' documentation to specify this. > > Change-Id: Id28c7753834975f039170f14bc51be4f2bd44d41 > Reviewed-on: https://skia-review.googlesource.com/121891 > Reviewed-by: Cary Clark <caryclark@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Leon Scroggins <scroggo@google.com> > Auto-Submit: Leon Scroggins <scroggo@google.com> > (cherry picked from commit 57e1f020116e9023b9dfd92478d46749b7248d6e) > Reviewed-on: https://skia-review.googlesource.com/123540 > Reviewed-by: Leon Scroggins <scroggo@google.com> TBR=scroggo@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: b/77917978 Change-Id: I0a83c3c20f2cdf862741963913c9cb5a55bf8aaa Reviewed-on: https://skia-review.googlesource.com/124620 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Revert "Reland "Revert "Add arcs as a specialized geometry to GrShape."""Brian Salomon2018-04-305-19/+188
| | | | | | | | | | | | | | This reverts commit 580aee2fa4a57bf8208498fbc23acea04e16e092. Bug: skia:7794 Change-Id: I9c2b923859c826dff58c22c529dc4e2ab4d0f186 Reviewed-on: https://skia-review.googlesource.com/124042 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> (cherry picked from commit e4949406ebcc5d5d8f83c1cd96209763d278b1e2) Reviewed-on: https://skia-review.googlesource.com/124560 Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Stan Iliev <stani@google.com>
* (Mostly) respect FilterQuality in draw[stretchy]Leon Scroggins III2018-04-242-6/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | Bug: b/77917978 For drawImageLattice drawBitmapLattice drawImageNine drawBitmapNine , respect the SkFilterQuality on the SkPaint. Previously the GPU used the lowest quality to avoid a bleeding effect, leading to ugly nine- patches on Android. For all backends, cap the filter quality at kLow_SkFilterQuality. Update SkCanvas' documentation to specify this. Change-Id: Id28c7753834975f039170f14bc51be4f2bd44d41 Reviewed-on: https://skia-review.googlesource.com/121891 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com> Auto-Submit: Leon Scroggins <scroggo@google.com> (cherry picked from commit 57e1f020116e9023b9dfd92478d46749b7248d6e) Reviewed-on: https://skia-review.googlesource.com/123540 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Fix starting location in GrRTC::drawOval when converting to GrShapeBrian Salomon2018-04-231-2/+3
| | | | | | | | | | | Change-Id: I3b86d15add9d463e64c97f53bdb5042f1e2a2f27 Reviewed-on: https://skia-review.googlesource.com/122880 Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> (cherry picked from commit 5209d7fce35f4426be86de56aa4a1966c992e6f5) Reviewed-on: https://skia-review.googlesource.com/123240 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Analytic dashing of circles with single on/off intervals and butt caps.Brian Salomon2018-04-235-24/+595
| | | | | | | | | | | Change-Id: If19ac52cb78af57572a102cec0084f5b6c037680 Reviewed-on: https://skia-review.googlesource.com/121882 Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> (cherry picked from commit 62e4f3daf7262463774ca0434a9232a8e2292350) Reviewed-on: https://skia-review.googlesource.com/123160 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Fix double counting of coverage in analytic round capped stroked circles.Brian Salomon2018-04-231-1/+4
| | | | | | | | | | Change-Id: I28d39f8620d786180b0bf0204b18ca4d1fec597b Reviewed-on: https://skia-review.googlesource.com/122086 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> (cherry picked from commit 33c442206af737d60b120e7acc0e2c0f4b786e2c) Reviewed-on: https://skia-review.googlesource.com/123140 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Draw stroked circles with round caps analytically.Brian Salomon2018-04-231-21/+115
| | | | | | | | | | | | | These draw as the butt cap version where the stroked circle is clipped by half planes. But then we add in coverage from circles at the caps. Bug: skia:7793 Change-Id: I7c27a2a5f1f9c1645cc9042e68e787dd81ea28b8 Reviewed-on: https://skia-review.googlesource.com/120140 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> (cherry picked from commit 45c92203ef43d09ca6444430bd4081ac97b71237) Reviewed-on: https://skia-review.googlesource.com/121601 Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Reduce threads used for DNG decodes on AndroidLeon Scroggins III2018-04-201-8/+14
| | | | | | | | | | | | | | | | | | | Bug: b/78120086 DNG files require lots of memory to decode. We recently removed the limit on how much SkRawCodec can allocate, allowing it to decode large warped DNG files, so long as the device has enough memory. But in practice, running too many threads at once with each thread allocating a lot of memory results in crashing on Android. Reduce the number of threads so we save memory and do not crash. Change-Id: I464b5a21c019463d2ec31e333f25ebb0b81605bd Reviewed-on: https://skia-review.googlesource.com/122786 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com> (cherry picked from commit 37819d03fe1a270a0713b016254d66efaae29af7) Reviewed-on: https://skia-review.googlesource.com/122821 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Remove the limit on dng allocationsLeon Scroggins III2018-04-191-16/+1
| | | | | | | | | | | | | | | | | Bug: b/78120086 Test: TODO The limit was artificial, and did not allow for certain transformations. SkRawCodec will already fail gracefully on failures to allocate, so just rely on that. Change-Id: Id9f92b6935d77dc6ff8a06b13bd157f476a3f84c Reviewed-on: https://skia-review.googlesource.com/121946 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com> (cherry picked from commit e7fd7ff0eca868c35eccb7a870fbc7bc05aa9176) Reviewed-on: https://skia-review.googlesource.com/122320 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Remove workaround for Adreno FB fetchBrian Salomon2018-04-051-6/+0
| | | | | | | | | | | | This was actually working around a bug in Skia where we weren't marking sk_FragColor inout as required by GL_EXT_shader_framebuffer_fetch. This is also now tested by SkQP which should ensure that the workaround is no longer needed in future versions of Android. Bug: b/74436619 Change-Id: I13e82eb1b3693539defe8bf7088b002b85ccf2aa Reviewed-on: https://skia-review.googlesource.com/118840 Reviewed-by: Brian Salomon <bsalomon@google.com>
* Make SkSL GLSL generator declare sk_FragColor inout when EXT fb fetch is used.Brian Salomon2018-04-049-1/+21
| | | | | | | | | | | Bug: b/74436619 Change-Id: I236505da047d5ad29e4952d8955eb7aa1bfb870b Reviewed-on: https://skia-review.googlesource.com/118621 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> (cherry picked from commit dc09213b17cfd100e1c1859387b47e3045a36010) Reviewed-on: https://skia-review.googlesource.com/118640 Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Tag the unique keys of lazy images.Derek Sollenberger2018-04-041-1/+1
| | | | | | | | | | Bug: b/74436619 Change-Id: I54175db2aae43d28fd7aff224d57bf6ed9093b1e Reviewed-on: https://skia-review.googlesource.com/118588 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com> (cherry picked from commit e1c60d660e2c2d45d18ec8141317b9ea3d8bf1bf) Reviewed-on: https://skia-review.googlesource.com/118642
* Increase precision in GrSRGBEffectBrian Salomon2018-04-041-1/+3
| | | | | | | | | | | | | Allows ApplyGammaTest to pass on Bifrost, which uses fp16 for mediump. Change-Id: Icd04001939a2cb7e1789132ab035ca498c92112a Reviewed-on: https://skia-review.googlesource.com/118162 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> (cherry picked from commit 08c39fcbcb68f5b0081ec69b4f5bd3c8dff23f9f) Reviewed-on: https://skia-review.googlesource.com/118641 Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix up .fp filesDerek Sollenberger2018-04-023-3/+3
| | | | | | | | | | | | | | | Patch for: https://skia-review.googlesource.com/c/skia/+/115989 (Dump additional details about the gpu resources.) Change-Id: I8e47c1c5e9f0180cb611fe6e1d45625a0cd75a8d Reviewed-on: https://skia-review.googlesource.com/117082 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com> (cherry picked from commit c46e9b7cfd4fb82e93e1be4ea4edb509d6c41e0d) Change-Id: I413860a1bff11e0f3d1d26c6948cc198a89cdfd8 Reviewed-on: https://skia-review.googlesource.com/117360 Reviewed-by: Greg Daniel <egdaniel@google.com>
* Dump additional details about the gpu resources.Derek Sollenberger2018-03-3015-36/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | GpuResources now dump optional string values that describe the type and category of the resource. The type provides a description of the kind of resource it is (e.g. texture, buffer object, stencil, etc.) and the category describes what the resource is currently tasked to do (e.g. path masks, images, scratch, etc.) This CL also refactors the dump logic in an attempt to consolidate duplicated code into GrGpuResources.cpp. Bug: b/74435803 Change-Id: I83cae825f41e6450a21398ab3ecea349c7c61c15 Reviewed-on: https://skia-review.googlesource.com/115989 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> (cherry picked from commit cf6da8c0f29877249a55949efd8b952b5b9bc01d) No-Tree-Checks: true No-Try: true No-Presubmit: true Change-Id: I3ec7ae7e36fe7224b8b052f1eabc31383b29b43a Reviewed-on: https://skia-review.googlesource.com/117260 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Allow SkTraceMemoryDump to exclude wrapped objectsEric Karl2018-03-295-39/+55
| | | | | | | | | | | | | | | Allow SkTraceMemoryDump to exclude wrapped objects from dumps. This helps avoid duplicate dumping when Skia is wrapping an external object which is already dumped externally. Bug: 795358 Change-Id: Icbda96b564c81b958d40f74693280ac7d5ba7332 Reviewed-on: https://skia-review.googlesource.com/114681 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Eric Karl <ericrk@chromium.org> (cherry picked from commit af7700265b74123d8ad3de6dde0c21545453140b) Reviewed-on: https://skia-review.googlesource.com/117020 Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add new GrResourceCache::purgeUnlockedResources variantRobert Phillips2018-03-293-8/+41
| | | | | | | | | | | TBR=bsalomon@google.com Change-Id: I05bef1f8a271474db878a046cc1f6ac7b60a15f1 Reviewed-on: https://skia-review.googlesource.com/116801 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com> (cherry picked from commit 6eba063b63efbf824aff8ec6b32af05e4d54c38b) Reviewed-on: https://skia-review.googlesource.com/116981
* drawTextRSXform should not apply matrix to shaderMike Reed2018-03-221-1/+14
| | | | | | | | | | | | | | drawTextRSXform should draw the same as drawTextOnPath (as regards shaders) Bug: b/69904791 Change-Id: I393dd8fd7a5bdc6a018b1ca33592b208c7141868 Reviewed-on: https://skia-review.googlesource.com/114468 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> (cherry picked from commit 9c2916e0c7e0a61c0f85384c736247d4fa6d3a7b) Reviewed-on: https://skia-review.googlesource.com/115720 Reviewed-by: Derek Sollenberger <djsollen@google.com>
* fix nextContour bugMike Reed2018-03-191-2/+3
| | | | | | | | | | | | | Calling nextContour() needs to ensure that we've already measured the "current" one. Bug: skia: Change-Id: I501c26d0b068028d67103888f06ec89125a5407a Reviewed-on: https://skia-review.googlesource.com/114692 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com> (cherry picked from commit 473f69276f1854db80e094cc4af091f7f8a5b00b) Reviewed-on: https://skia-review.googlesource.com/114800 Reviewed-by: Mike Reed <reed@google.com>
* Remove calls to computeOutputColor- Type and SpaceLeon Scroggins III2018-03-141-5/+2
| | | | | | | | | | | | | | | | | Bug: b/70846442 Test: I5110881203c000474116a94a48f2afc9a9b62001 These methods were already called by the client. The client may have further overridden the SkColorType (and therefore the SkColorSpace), so respect their final decision on both. Change-Id: Iddcf618e474784b0a000fd516250c44285dacc6b Reviewed-on: https://skia-review.googlesource.com/114062 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> (cherry picked from commit 0118e9756d92d3c56b9e05842d7c828f37f68159) Reviewed-on: https://skia-review.googlesource.com/114200 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Fixed some shader cache issuesEthan Nicholas2018-03-143-7/+22
| | | | | | | | | | | | | | | We now check GL_NUM_SHADER_BINARY_FORMATS to ensure that it is greater than zero, and handle errors that occur when we try to install a cached shader by falling back to using GLSL. Bug: skia: Change-Id: I1ac46243e9c561d15e1b4190b68afbf514fc8079 Reviewed-on: https://skia-review.googlesource.com/113820 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com> (cherry picked from commit 98ad5b7a4bcab3cb9a9bcd2e1a63976133515806) Reviewed-on: https://skia-review.googlesource.com/114201 Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Fix drawing SkAnimatedImages with transparencyLeon Scroggins III2018-03-091-1/+0
| | | | | | | | | | | | | | | Bug: b/74195953 Do not use SkBlendMode::kSrc, which overwrites the pixels that were already present. Instead, blend normally. Change-Id: Ie6843c6278212fddddd0ba0ae292fdb5eaf2342e Reviewed-on: https://skia-review.googlesource.com/112200 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com> (cherry picked from commit 2f8622029d265e79eb11df8eb06a29ff3faa7ac0) Reviewed-on: https://skia-review.googlesource.com/113271 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Remove blacklist of dual source blending on AMD vulkanGreg Daniel2018-03-021-7/+0
| | | | | | | | Bug: skia:6405 Change-Id: I3a7145fb7f337c11e0674c6c2b364040925005bb Reviewed-on: https://skia-review.googlesource.com/111400 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Add 1010102 support to Ganesh""Brian Osman2018-03-0215-18/+79
| | | | | | | | | | This reverts commit ded47a50143470d1acdafa03e878cc7da5608038. Bug: skia: Change-Id: I7d7552e6ccc8591cae91426407ab13b628b93b68 Reviewed-on: https://skia-review.googlesource.com/111760 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Fix creation of extra GrContextThreadSafeProxies in DDL worldRobert Phillips2018-03-023-26/+34
| | | | | | | | | | For the DDLContexts we simply want to reuse the threadSafeProxy from the main thread but we, obviously, still need to create one for the main DirectContext. TBR=bsalomon@google.com Change-Id: I99449bc375172c9004e2e80c21d95ab2d7708309 Reviewed-on: https://skia-review.googlesource.com/110781 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Update Flush and Invalidate Memory calls in vulkan to take offset and sizeGreg Daniel2018-03-024-17/+47
| | | | | | | | Bug: skia: Change-Id: I4faf9f431422f27096fce4605be281c28935df08 Reviewed-on: https://skia-review.googlesource.com/111782 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Various fixes for scaled emojisJim Van Verth2018-03-022-16/+15
| | | | | | | | Bug: skia:7562 Change-Id: I66cf290ca4541ceae7ee1009a1524046a2c5893e Reviewed-on: https://skia-review.googlesource.com/111481 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make use of the buffer data null hint a GrContextOptionRobert Phillips2018-03-024-21/+33
| | | | | | | | TBR=bsalomon@google.com Change-Id: I5a3fd18479ca8c95e1bc8c087c28346264049eb0 Reviewed-on: https://skia-review.googlesource.com/111604 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* SkString: remove externally unused ::setUTF16() from APIHal Canary2018-03-016-46/+40
| | | | | | | | | Moved to SkStringUtils in src/ Change-Id: I026e3a325570bbf34e90797d921cb2f05b9a29f6 Reviewed-on: https://skia-review.googlesource.com/111602 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Fix fuschia rollLeon Scroggins III2018-03-011-1/+2
| | | | | | | | | Only call png_set_option ifdef PNG_SET_OPTION_SUPPORTED. Change-Id: Ib3d03e15b12b6229f98544b195a6bc32b5aa2f0f Reviewed-on: https://skia-review.googlesource.com/111601 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>