aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core
Commit message (Collapse)AuthorAge
* return data instead of boolGravatar Mike Reed2017-12-08
| | | | | | | | Bug: skia: Change-Id: Id7c3044a2fce087703544c624c75a7756b9c62b4 Reviewed-on: https://skia-review.googlesource.com/82602 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "use serialprocs for typefaces"Gravatar Mike Reed2017-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b681972e79993e37adb9de9666cc9064b528db8b. Reason for revert: need to handle null typeface in new procs Original change's description: > use serialprocs for typefaces > > Bug: skia: > Change-Id: Ibf59a0fdcf68e8555bd4241e9473e733f6a30993 > Reviewed-on: https://skia-review.googlesource.com/81840 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> TBR=mtklein@chromium.org,mtklein@google.com,fmalita@chromium.org,reed@google.com Change-Id: Id69500fbc291ecee753e7ee6b80abc2a7cd60d18 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/82341 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* use serialprocs for typefacesGravatar Mike Reed2017-12-07
| | | | | | | | | Bug: skia: Change-Id: Ibf59a0fdcf68e8555bd4241e9473e733f6a30993 Reviewed-on: https://skia-review.googlesource.com/81840 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Remove SkImage deferred texture image data APIs.Gravatar Brian Salomon2017-12-07
| | | | | | | | | | These APIs existed for Chrome. Chrome is no longer using them. Change-Id: I15a5e2f88c7e8d1356188748fc68d4658f6f1849 Reviewed-on: https://skia-review.googlesource.com/81021 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* upgrade SkReadBuffer to always validateGravatar Mike Reed2017-12-06
| | | | | | | | Bug: skia: Change-Id: I054560b66c6cde346d939015326d8547879d2c4b Reviewed-on: https://skia-review.googlesource.com/81160 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* add serial procs to picturesGravatar Mike Reed2017-12-05
| | | | | | | | | Bug: skia:7380 Change-Id: Ic1b7e437316c7913711cf5cb119e3fe904cd2c05 Reviewed-on: https://skia-review.googlesource.com/76980 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* helper api to force a raster imageGravatar Mike Reed2017-12-04
| | | | | | | | Bug: skia: Change-Id: I53f3d426e97f446b17dc965fa8dd6d6aae441ac9 Reviewed-on: https://skia-review.googlesource.com/79901 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* turn on extended Clang warnings on Windows tooGravatar Chris Dalton2017-12-04
| | | | | | | | | | Plus some small rearrangements of the various warning lists. Change-Id: Ied58f940341d69ddab971a529fd01b1e96b65641 Reviewed-on: https://skia-review.googlesource.com/67720 Commit-Queue: Chris Dalton <csmartdalton@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add unit test for SkDeferredDisplayLists (take 2)Gravatar Robert Phillips2017-12-04
| | | | | | | Change-Id: I76a4c77d5b9418cb7fe677bd55ba32a2e336924d Reviewed-on: https://skia-review.googlesource.com/79820 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Add unit test for SkDeferredDisplayLists"Gravatar Robert Phillips2017-12-04
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8458a2807b4a7220c9849f8032dc611438818641. Reason for revert: ?? Original change's description: > Add unit test for SkDeferredDisplayLists > > Change-Id: I015094145cb0af6cfe368c570a5d5280c11c8f28 > Reviewed-on: https://skia-review.googlesource.com/78660 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Iec3abb18d3ed41fcfbec72bc2de14603f659f8ce No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/79720 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add unit test for SkDeferredDisplayListsGravatar Robert Phillips2017-12-04
| | | | | | | Change-Id: I015094145cb0af6cfe368c570a5d5280c11c8f28 Reviewed-on: https://skia-review.googlesource.com/78660 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* remove read/write rawpixelsGravatar Mike Reed2017-11-30
| | | | | | | | Bug: skia: Change-Id: I000b70414119355fef0d45de4ae9ef996b8a5568 Reviewed-on: https://skia-review.googlesource.com/77903 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Flesh out SkSurfaceCharacterizationGravatar Robert Phillips2017-11-30
| | | | | | | | | This should be it for now except for maybe a GrMipMapped field. Change-Id: I8f20a1048eaa8cd2b5eab5f42ca58c61649f72e7 Reviewed-on: https://skia-review.googlesource.com/78440 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Update Skia milestone to 65Gravatar Heather Miller2017-11-30
| | | | | | | | | | | NOTRY=TRUE TBR=reed Bug: skia: Change-Id: I3dfe04202f48068bd04e7d64fa38913906af02ce Reviewed-on: https://skia-review.googlesource.com/78201 Reviewed-by: Heather Miller <hcm@google.com> Commit-Queue: Heather Miller <hcm@google.com>
* Add a GrContextThreadSafeProxy to SkSurfaceCharacterizationGravatar Robert Phillips2017-11-30
| | | | | | | | | Ganesh will require access to the GrCaps to make rendering decisions. Change-Id: I6dee42a3f0dc638f052706b8d1ea6e02b589e062 Reviewed-on: https://skia-review.googlesource.com/77681 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* devirtualize SkCanvas getClipBounds methodsGravatar Mike Klein2017-11-29
| | | | | | | | | | | | | | We no longer have any subclasses overriding the virtual hooks, and we've seen subtle bugs come up back when they did. In all modes, SkCanvas can answer these queries itself. BUG=chromium:781238 Change-Id: I37c7511c7bd00c638faacbe4bee89f785691453f Reviewed-on: https://skia-review.googlesource.com/77202 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Ignore deserialized path convexity and first direction.Gravatar Brian Salomon2017-11-29
| | | | | | | Change-Id: Ib7bfff6225774b83d9b6e9c5baae254aab17353b Reviewed-on: https://skia-review.googlesource.com/77680 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Update SkTLazy for move only types.Gravatar Ben Wagner2017-11-28
| | | | | | | Change-Id: Id812d4f6ac47ae41e5a938310aa8f30eaf33a42d Reviewed-on: https://skia-review.googlesource.com/76901 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* remove writeBitmap from SkWriteBuffer -- unusedGravatar Mike Reed2017-11-28
| | | | | | | | Bug: skia: Change-Id: I8809e7e138d64cc30389e8efc76265011b287611 Reviewed-on: https://skia-review.googlesource.com/77060 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Use SkSafeMath for text blob storage calculationsGravatar Florin Malita2017-11-22
| | | | | | | Change-Id: I028895dee81d99b1fa2a9acfa3db3f4bcb0f8f64 Reviewed-on: https://skia-review.googlesource.com/73823 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert "Revert "Add Atlas Text interface for rendering SDF glyphs.""Gravatar Brian Salomon2017-11-19
| | | | | | | | | | This reverts commit 9c2202ffc22b4293b48a4edeafa1b5d2bab8bb83. Bug: skia: Change-Id: I482ddf74f8e40d3d0908c840ba5c6ff981ccefbd Reviewed-on: https://skia-review.googlesource.com/73345 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Add Atlas Text interface for rendering SDF glyphs."Gravatar Greg Daniel2017-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 39631f3df172feb385527a5d125bc53b0bded7e6. Reason for revert: break google3 rool Original change's description: > Add Atlas Text interface for rendering SDF glyphs. > > This new API is built upon SDF text atlas code from the GPU backend. Unlike using the GPU > backend to draw text, this set of interfaces allows the client to render the SDF glyphs. The > client issues text draws to potentially multiple targets and then the client flushes. The > client then gets commands from Skia with data to put into a texture atlas and vertices to > draw that reference the texture. The client is responsible for creating the texture, uploading > the SDF data to the texture, and drawing the vertices provided by Skia. > > Change-Id: Ie9447e19b85f0ce1c2b942e5216c787a74f335d3 > Reviewed-on: https://skia-review.googlesource.com/59360 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I4aad0c99e645b476fd8ba25731f2a10e8802bb25 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/73420 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Add Atlas Text interface for rendering SDF glyphs.Gravatar Brian Salomon2017-11-17
| | | | | | | | | | | | | | This new API is built upon SDF text atlas code from the GPU backend. Unlike using the GPU backend to draw text, this set of interfaces allows the client to render the SDF glyphs. The client issues text draws to potentially multiple targets and then the client flushes. The client then gets commands from Skia with data to put into a texture atlas and vertices to draw that reference the texture. The client is responsible for creating the texture, uploading the SDF data to the texture, and drawing the vertices provided by Skia. Change-Id: Ie9447e19b85f0ce1c2b942e5216c787a74f335d3 Reviewed-on: https://skia-review.googlesource.com/59360 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* remove legacy Create from SkTextBlobGravatar Mike Reed2017-11-16
| | | | | | | | Bug: skia: Change-Id: I8814ac9fb6bf75b5113bd78e140adadde57d3898 Reviewed-on: https://skia-review.googlesource.com/72121 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert "Remove MakeForLocalSpace since picture image is sufficient""Gravatar Mike Reed2017-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fc45998242b6e95ff610fd2c4edcf72c10e536ab. Reason for revert: google3 updated (I think) Original change's description: > Revert "Remove MakeForLocalSpace since picture image is sufficient" > > This reverts commit 0d8766c84c80537f323947089cc196c3cca106f4. > > Reason for revert: broke google3 > > Original change's description: > > Remove MakeForLocalSpace since picture image is sufficient > > > > Bug: skia: > > Change-Id: If38e702c418e93141311490edf447d1f09ed4434 > > Reviewed-on: https://skia-review.googlesource.com/68640 > > Commit-Queue: Mike Reed <reed@google.com> > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com > > Change-Id: I3dec3d2c704e02b4db5977c27cc3e6d9f1c68ed5 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/69500 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: I5751fa637d280f361dea0f248a43c1f7e9bd8bdc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/69661 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* replace some points with vectors to clarify documentationGravatar Cary Clark2017-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | Some SkIPoint and SkPoint methods become clearer if their parameters or return value is typed as a vector. Since SkPoint is identical to SkVector (and SkIPoint is identical to newly added SkIVector) this has no impact on compiled code. Some routines arguably have multiple possible point and vector combinations which will be included in eventual documentation; the interface should have the most common and/or logical choice. Some of my choices could be argued with as well. Does SkPoint::Normalize take a SkPoint? Afternative points of view encouraged. R=reed@google.com,bsalomon@google.com Bug: skia:6898 Change-Id: I2429b9d43b20351188d7c6433620a2e221f75bd8 Reviewed-on: https://skia-review.googlesource.com/69680 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
* Revert "Remove MakeForLocalSpace since picture image is sufficient"Gravatar Mike Reed2017-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0d8766c84c80537f323947089cc196c3cca106f4. Reason for revert: broke google3 Original change's description: > Remove MakeForLocalSpace since picture image is sufficient > > Bug: skia: > Change-Id: If38e702c418e93141311490edf447d1f09ed4434 > Reviewed-on: https://skia-review.googlesource.com/68640 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> TBR=robertphillips@google.com,fmalita@chromium.org,reed@google.com Change-Id: I3dec3d2c704e02b4db5977c27cc3e6d9f1c68ed5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/69500 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Update doc and example for SkPaint::FontMetrics.Gravatar Ben Wagner2017-11-09
| | | | | | | | | | | | | | | | The underline position is actually the top of the underline. Also clarify that the strike through position is the bottom of the strike through. This adds documentation that the values are always y-down in a way that will end up in the SkPaint header file for those who look for information there. Change-Id: I40281c0e47557d23291b6a91474e2d3e3b37f09f Docs-Preview: https://skia.org/user/api/SkPaint_Reference?cl=69361#FontMetrics Reviewed-on: https://skia-review.googlesource.com/69361 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Remove MakeForLocalSpace since picture image is sufficientGravatar Mike Reed2017-11-09
| | | | | | | | Bug: skia: Change-Id: If38e702c418e93141311490edf447d1f09ed4434 Reviewed-on: https://skia-review.googlesource.com/68640 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* move parts of SkPoint to SkPointPrivGravatar Cary Clark2017-11-08
| | | | | | | | | | | | Move specialized SkPoint methods to SkPointPriv. Use constexpr and inline initialization where possible. R=reed@google.com,bsalomon@google.com Bug: skia: 6898 Change-Id: I01ec5186f010f2dc80c068c70d9cc352f3221338 Reviewed-on: https://skia-review.googlesource.com/68700 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* add surfaceprops param to SkCanvas::MakeRasterDirectGravatar Mike Reed2017-11-08
| | | | | | | | Bug: skia: Change-Id: I8b69280469cdf34c3c3cb126db9457a712143f88 Reviewed-on: https://skia-review.googlesource.com/68701 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Add MakeCrossContextFromPixmapGravatar Brian Osman2017-11-07
| | | | | | | | | | | | This operates just like MakeCrossContextFromEncoded, but starting from raster data. This version is defensive (always uses copies if a raster image needs to be made). Bug: skia: Change-Id: Ibc2b9a235c89a41fbbfd022d943f15ac212d0677 Reviewed-on: https://skia-review.googlesource.com/68205 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* make point array methods privateGravatar Cary Clark2017-11-07
| | | | | | | | | | | | | | | | | | | | | | | Moved method are not used by chromium, google3, or android. SkPoint::setRectIFan isn't used or tested at all. SkPoint::setRectFan and SkPoint::setRectTriStrip are only used internally. These routines pretend that a SkPoint is part of an array of points. Since that's kind of an odd contract to make public, and because they aren't used outside of Skia, relegate them to a priv file. R=bsalomon@google.com,reed@google.com Bug: skia: 6898 Change-Id: I5ec2eb47799f6fd4b2994da962b1fa69ce659931 Reviewed-on: https://skia-review.googlesource.com/68121 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* create imagepriv and name paramsGravatar Cary Clark2017-11-03
| | | | | | | | | | | | | | Named all parameters and made the names consistent for documentation. Moved SK_IMAGEFILTER_UNFLATTEN_COMMON to private file. TBR=reed@google.com Bug: skia:6898 Change-Id: I1343d2b16d4217088fa3bc9c40f1f4177fa32740 Reviewed-on: https://skia-review.googlesource.com/66521 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* add client-context to SkWriteBufferGravatar Mike Reed2017-11-02
| | | | | | | | Bug: skia: Change-Id: I56c36060442c4008b09f322fb1d19e81cd75f910 Reviewed-on: https://skia-review.googlesource.com/66860 Reviewed-by: Khusal Sagar <khushalsagar@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Plumb internal helper to enable more GPU GMs w/SkColorSpaceXformCanvasGravatar Brian Osman2017-11-01
| | | | | | | | | | | | API change isn't really public. TBR:bsalomon@google.com Bug: skia: Change-Id: I3a1ae5d7ddb562387e8b8e1248b347704f88037b Reviewed-on: https://skia-review.googlesource.com/66144 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Add a GM to test out odd matrix draws (take 2)Gravatar Robert Phillips2017-10-31
| | | | | | | | | TBR=bsalomon@google.com Bug: skia:7075 Change-Id: I87efa058916fe0305b57eb4dd14b479e8a8d2c6d Reviewed-on: https://skia-review.googlesource.com/65507 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Add a GM to test out odd matrix draws"Gravatar Robert Phillips2017-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 761f44853fcead7e7a105e1870cb970646814058. Reason for revert: preabandonContext failures Original change's description: > Add a GM to test out odd matrix draws > > Bug: skia:7075 > Change-Id: I90c15bf019161abc5dab78e0af20ef15ff1395d9 > Reviewed-on: https://skia-review.googlesource.com/64761 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I9ecb2e2dcd74685e2c707c04bb52279e1d5cc55c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7075 Reviewed-on: https://skia-review.googlesource.com/65740 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add support for transfer functions to GrColorSpaceXformGravatar Brian Osman2017-10-31
| | | | | | | | | | | | | | | | | | | With this change, untagged sources (eg N32) are treated as sRGB data, which causes a huge number of GMs to render more correctly in GPU sRGB/F16/etc... configs. Also, because the sources are treated as having a color space, we actually do gamut conversion for wide or narrow gamut outputs. This change also applies the transfer function math to individual colors in the case of gradient stops and color shaders. (The CPU backend doesn't do this yet, but I think we've decided there's no reason not to support it). Bug: skia: Change-Id: If76e9e4a268f9f74110ff4bbe4fe189ba5d19d9f Reviewed-on: https://skia-review.googlesource.com/64100 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add a GM to test out odd matrix drawsGravatar Robert Phillips2017-10-31
| | | | | | | | Bug: skia:7075 Change-Id: I90c15bf019161abc5dab78e0af20ef15ff1395d9 Reviewed-on: https://skia-review.googlesource.com/64761 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* generated include refreshGravatar Cary Clark2017-10-30
| | | | | | | | | | | | The latest, minor changes on includes already generated, plus four new ones. TBR=reed@google.com Bug: skia:6898 Change-Id: If06ae9b9aaa3a0a9fae570aa7a6698ff340c43b8 Reviewed-on: https://skia-review.googlesource.com/62862 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* add Type enum to SkColorSpaceGravatar Mike Reed2017-10-27
| | | | | | | | Bug: 727128 Change-Id: I116de4efd6e64504a4e1892f431f528533b1173a Reviewed-on: https://skia-review.googlesource.com/64261 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Pass GrRenderTargetContext's GrColorSpaceInfo to SkShader and SkColorFilter.Gravatar Brian Salomon2017-10-25
| | | | | | | | | | | | | | Also to SkColorTo(Premul|Unpremul)GrColor4f. This can avoid cache lookups to find GrColorSpaceXforms as the xform pointer is stored in GrColorSpaceInfo after the first lookup. Also uses GrColorSpaceInfo to construct GrTextUtils::Paint. Bug: skia: Change-Id: Idf19d512a60d2269e6921c7fb54d93aee499a70d Reviewed-on: https://skia-review.googlesource.com/63660 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Add hint to SkSurface::MakeRenderTarget that we will use mipsGravatar Greg Daniel2017-10-23
| | | | | | | | | | | Additionally this changed triggered a cascade of plumbing GrMipMapped down throughout Ganesh. Bug: skia: Change-Id: I4181f44d9046d66139bb491c7abf86703305aaeb Reviewed-on: https://skia-review.googlesource.com/63000 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* make matrix serialization privateGravatar Cary Clark2017-10-20
| | | | | | | | | | | | | | | | | | Moves readFromMemory, writeToMemory to private section. No sign that these are called from google3, android, chromium, but function names are common enough that it's hard to know for sure. These are used inside templates internally and for testing, so it is not quite as simple as adding alternate entry points in SkMatrixPriv. R=reed@google.com Bug: skia:6898 Change-Id: I1fac142f4bf0f38608ea93438c46f39147606c4d Reviewed-on: https://skia-review.googlesource.com/62361 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* make skmatrix getmapproc privateGravatar Cary Clark2017-10-20
| | | | | | | | | | | | | | Make SkMatrix MapXYProc MapPtsProc and friends private. Code search turned up no clients in chromium, google3, android. Fingers crossed. R:reed@google.com Bug: skia:6898 Change-Id: Iee20fe5150499215a09f67cc6f117b685f38f455 Reviewed-on: https://skia-review.googlesource.com/62140 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Avoid 2PtConical gradient flippingGravatar Florin Malita2017-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when startRadius > endRadius conical gradients are inverting their data (start/end points and radii, colors and positions) to guarantee r0 < r1 at raster time. But the radii ordering is only mildly interesting to the impl: it controls which of the two quadratic solutions we select for the inside case, but doesn't fundamentally change the algorithm. Furthermore, for the "outside" case, inverting the order is already inconvenient and needs to be taken into account (both CPU/GPU impls are already tracking this bit of info). Instead of transforming the gradient definition, we can detect the inverted case and adjust the quadratic solution selector. In practice this means: * |edge| case - no change, the equation is linear * |inside| case - select the smaller root instead of largest * |outside| case - [gpu-only] invert the clamp/limiting function Change-Id: Ie3106464e39a4dd3848dc43671d973f7e1958e63 Reviewed-on: https://skia-review.googlesource.com/61660 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* convert mapHomogeneousPoints to SkPoint3Gravatar Cary Clark2017-10-18
| | | | | | | | | | | | | | | SkMatrix::mapHomogeneousPoints takes an array of SkScalar, but expects essentially SkPoint3, so make it so. R: robertphillips@google.com, reed@google.com Bug: skia:6898 Change-Id: Ibaf8b05c08b7df16c67d6a77d914667ace9a70da Reviewed-on: https://skia-review.googlesource.com/58380 Commit-Queue: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Make GPU backend triangulate rects such that they are ↵Gravatar Brian Salomon2017-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rendered as tri strips rather than tri fans."" This reverts commit 62563deb6b4dbb0b1db7f29f35e07dcef043af31. Reason for revert: change that affected similar set of GMs reverted, relanding now that this is more easily triagable. Original change's description: > Revert "Make GPU backend triangulate rects such that they are rendered as tri strips rather than tri fans." > > This reverts commit fa2d604a7ded95a3ace905519b476129cd0fffcb. > > Reason for revert: <INSERT REASONING HERE> > > Original change's description: > > Make GPU backend triangulate rects such that they are rendered as tri strips rather than tri fans. > > > > Right now when we turn rects into quads we use a vertex order compatible with a tri fan rather than a tri strip. > > > > I wanted it to be the case that the same code could be used to generate a non-indexed mesh for a single rect or indexed using the quad index buffer when batching. Triangle fanning is not available in all APIS (e.g. is emulated in ANGLE and not supported in Metal) so it seems better to use a triangle strip over a fan in the single rect case. > > > > > > Change-Id: I31eebd794e7328f4b39e3ec3377bf2ec556360ca > > Reviewed-on: https://skia-review.googlesource.com/60081 > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > TBR=bsalomon@google.com,robertphillips@google.com > > Change-Id: I7c4c23aa418da09c9708b28cce64ab58e282dd3a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/60683 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Iefcd16676a7617d32e89fc84206cd4e88e9a06e1 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/61160 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make SkTFitsIn and SkTo constexpr.Gravatar Ben Wagner2017-10-17
| | | | | | | | | | Because what can be better than marking things that can be constexpr as constexpr. Also, I have a change where this would be nice to have. Change-Id: Ie313b19d1930b98ddcd60cc17a320971625f18e3 Reviewed-on: https://skia-review.googlesource.com/60862 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>