Commit Graph

9019 Commits

Author SHA1 Message Date
Mike Reed
8dfb3431bd undef fontmetrics flag -- rely on clients to opt in
Bug: skia:
Change-Id: Icc43da90659c47e3499a67babc5696651dcf004d
Reviewed-on: https://skia-review.googlesource.com/c/177346
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-13 16:35:53 +00:00
Mike Reed
2d707bdfdb remove dead code around SkPaint::breakText
-- need to update google3 before landing this

Bug: skia:
Change-Id: Ibb8a5c1a622e77cd4064740b700a983036061ba6
Reviewed-on: https://skia-review.googlesource.com/c/177341
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-12-13 15:40:15 +00:00
Mike Reed
1c949d5877 make new ctor explicit
Bug: skia:
Change-Id: I533b4cd2bacee716d29f827bf69adced125c2d04
Reviewed-on: https://skia-review.googlesource.com/c/177342
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-13 15:37:51 +00:00
Brian Salomon
7da2fc7857 Move textureType() method from GrSurfaceProxy to GrTextureProxy.
Change-Id: I5cf84210132838bdbf95209dc94210483762a450
Reviewed-on: https://skia-review.googlesource.com/c/175998
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-12-13 14:59:50 +00:00
Cary Clark
3d6b438b99 remove legacy pathref validation
Chrome added a public method to validate SkPathRef,
but always called it when validating SkPath. We did too.

Remove the SkPathRef entry point, validate SkPathRef
when validating SkPath, and remove Skia's callers.
(Chrome has already been fixed.)

TBR=reed@google.com
R=fmalita@chromium.org

Bug:913930
Change-Id: I0828b00b42cc1f031b4216ddeace50f80aa21e62
Reviewed-on: https://skia-review.googlesource.com/c/177065
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-12-13 14:29:09 +00:00
Mike Reed
ea908a1fbe add simpler constructor for SkFont
Bug: skia:
Change-Id: I344574cfbba05f013c8844d1a33d680094506ad2
Reviewed-on: https://skia-review.googlesource.com/c/177079
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-13 14:06:05 +00:00
Herb Derby
58fc5d19ad Use SkFont in GPU drawing step 1
Use SkFont in most places, but save setupCache for
its own CL.

Change-Id: I2c603c03e23e132edd3e164d256a1fb753523d36
Reviewed-on: https://skia-review.googlesource.com/c/175841
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-12-13 03:09:52 +00:00
Mike Reed
340aeda6b3 make SK_SUPPORT_LEGACY_FONTMETRICS_IN_PAINT conditional
Bug: skia:
Change-Id: I467f177bfef74f3727127a251057f310ec3f3428
Reviewed-on: https://skia-review.googlesource.com/c/177063
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-12 19:54:51 +00:00
Herb Derby
e9da1d6b19 Funtion to say if an SkFont has anti aliasing.
This will be used in a couple of places in the glyph painter,
best they all agree.

Change-Id: I67079b000bdede437de8fdc0a09538593775ab41
Reviewed-on: https://skia-review.googlesource.com/c/177000
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2018-12-12 18:19:07 +00:00
Mike Klein
c33d614357 add google-build-namespaces to clang-tidy checks
Android's using this check in their clang-tidy builds.

The check itself is well intentioned but doesn't seem to take into
account the particular reason we do this... being able to use these
types and functions from files compiled with different optimization
settings without causing ODR violations or runtime crashes.

Each of the places that's marked is using an anonymous namespace
from a header for good reason, but I don't mind making clang-tidy
ask us to explicitly exempt any others that may come up in the
future.  It's definitely unusual, and rarely the best idea.

Adding -header-filters='.*' actually checks headers...
until now they've been ignored.

Change-Id: Ie421d2b47076bd384b10c7339cfb7a1c3ea90906
Reviewed-on: https://skia-review.googlesource.com/c/176963
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-12-12 16:33:59 +00:00
Herbert Derby
e855b9decd Use SkFont for bitmap device rendering
Change-Id: Id392a1534e1b04baa3295e79af785e40dfd7cfb6
Reviewed-on: https://skia-review.googlesource.com/c/176227
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-12-12 14:44:14 +00:00
Greg Daniel
54200e4025 Move vulkan headers from third_party to include/third_party.
Bug: skia:
Change-Id: I7174c6da075c0fd3d6238a5556439f42d6b97659
Reviewed-on: https://skia-review.googlesource.com/c/176680
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-12-12 14:16:43 +00:00
Mike Reed
cfb012032b move intercepts impl into textblob
Bug: skia:
Change-Id: I1d2070546e08c050b7f340f1b447fec922cfb153
Reviewed-on: https://skia-review.googlesource.com/c/176589
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2018-12-11 20:39:51 +00:00
Brian Salomon
9f7d9a2776 Revert "Move some Gr headers from include/gpu to include/private and src/gpu."
This reverts commit 3bdc3f5f9c.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Move some Gr headers from include/gpu to include/private and src/gpu.
> 
> Bug: skia:
> Change-Id: I341dd3bff63cc99d3be830e21673073645a9cfec
> Reviewed-on: https://skia-review.googlesource.com/c/176220
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=bsalomon@google.com,robertphillips@google.com

Change-Id: Ia7082f66abb969b20dd5d1f12c3c8d09cd84c241
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/176587
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-12-11 19:01:41 +00:00
Mike Reed
22170b3178 Revert "Treat kWEBP encode with quality=100 as lossless"
This reverts commit e7f165be2e.

Reason for revert: doesn't compile in google3

Original change's description:
> Treat kWEBP encode with quality=100 as lossless
> 
> In SkEncodeImage and friends, treat quality of 100 as a lossless encode
> when using kWEBP. This seems a good fit for the intent - which is
> presumably to save the highest quality image. This also matches
> Chromium's blink::ImageEncoder::ComputeWebpOptions, which treats a
> quality of 1 (on a float scale from 0 to 1) as a lossless encode.
> 
> FWIW, Chromium has had this behavior since
> https://codereview.chromium.org/1937433002, in response to
> crbug.com/523098. The goal is to "maintain sharpness to
> match the JPEG encoder behavior (use WEBP lossless encoding)".
> 
> Add a test to verify the new behavior. This requires making tests
> depend on libwebp to use WebPGetFeatures, since the Skia API does not
> provide a way to determine whether an encoded webp file was encoded
> lossless-ly or lossily.
> 
> Bug: skia:8586
> Change-Id: Ie9e09c2f7414ab701d696c4ad9edf405868a716f
> Reviewed-on: https://skia-review.googlesource.com/c/175823
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

TBR=djsollen@google.com,scroggo@google.com,reed@google.com

Change-Id: I91680f65a2a5e6f0a13b84e97c9541ebe0606b33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8586
Reviewed-on: https://skia-review.googlesource.com/c/176584
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-11 17:12:49 +00:00
Mike Reed
dfa432cb06 impl intercepts with fonts
Bug: skia:
Change-Id: Ib3958c61822716846e12647afdfef4ecd979b474
Reviewed-on: https://skia-review.googlesource.com/c/176581
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-11 16:59:19 +00:00
Brian Salomon
3bdc3f5f9c Move some Gr headers from include/gpu to include/private and src/gpu.
Bug: skia:
Change-Id: I341dd3bff63cc99d3be830e21673073645a9cfec
Reviewed-on: https://skia-review.googlesource.com/c/176220
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-12-11 15:23:48 +00:00
Leon Scroggins III
e7f165be2e Treat kWEBP encode with quality=100 as lossless
In SkEncodeImage and friends, treat quality of 100 as a lossless encode
when using kWEBP. This seems a good fit for the intent - which is
presumably to save the highest quality image. This also matches
Chromium's blink::ImageEncoder::ComputeWebpOptions, which treats a
quality of 1 (on a float scale from 0 to 1) as a lossless encode.

FWIW, Chromium has had this behavior since
https://codereview.chromium.org/1937433002, in response to
crbug.com/523098. The goal is to "maintain sharpness to
match the JPEG encoder behavior (use WEBP lossless encoding)".

Add a test to verify the new behavior. This requires making tests
depend on libwebp to use WebPGetFeatures, since the Skia API does not
provide a way to determine whether an encoded webp file was encoded
lossless-ly or lossily.

Bug: skia:8586
Change-Id: Ie9e09c2f7414ab701d696c4ad9edf405868a716f
Reviewed-on: https://skia-review.googlesource.com/c/175823
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-12-11 15:07:48 +00:00
Cary Clark
4f738832a9 fix bookmaker
Add an entry in SkTextBlob_Reference.bmh for getIntercepts().
Fix spelling for patheffect -> SkPathEffect and
maskfilter -> SkMaskFilter.

TBR=reed@google.com
NOTRY=true

Bug: skia:
Change-Id: I8f03ea24eb1208ac6f4015b03b98470a4169d880
Reviewed-on: https://skia-review.googlesource.com/c/176480
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-12-11 13:47:44 +00:00
Mike Reed
ae0d860ba3 move intercepts call to textblob
Bug: skia:
Change-Id: Ic7cd8ec1b33bd278ed489cbc1ccca35bd4776e27
Reviewed-on: https://skia-review.googlesource.com/c/175833
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-11 03:52:52 +00:00
Mike Reed
a0b54cd589 add test (and fix) for glyphsToUnichars
Bug: skia:
Change-Id: I2defcea7e9a37bdd203acc4ca97fc47a7f57cd43
Reviewed-on: https://skia-review.googlesource.com/c/176221
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-10 21:11:49 +00:00
Brian Salomon
3ccaa88c50 Add SK_API to GrTexture.
Sadly, we still expose this Chrome.

Bug: chromium:911856
Change-Id: Ib266eb1a338db621385cd75dbba6e709dd01587c
Reviewed-on: https://skia-review.googlesource.com/c/175999
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2018-12-10 19:32:08 +00:00
Michael Ludwig
f23a152715 Reland "Add clamp to border wrap mode to gpu"
This reverts commit 8137f3c862.

Reason for revert: update GrCaps clampToBorder for iOS and Mac 10.11

Original change's description:
> Revert "Add clamp to border wrap mode to gpu"
>
> This reverts commit f49a5785f3.
>
> Reason for revert: clamp-to-border in metal not available on iOS
>
> Original change's description:
> > Add clamp to border wrap mode to gpu
> >
> > Bug: skia:
> > Change-Id: I286163cdea4fa8f7e6a876baaa11aa3dacd4f2ff
> > Reviewed-on: https://skia-review.googlesource.com/c/175244
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,ethannicholas@google.com,michaelludwig@google.com
>
> Change-Id: I01ef28d9c2fbf6c6dcd82d9aac193ff102d60151
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/175988
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,ethannicholas@google.com,michaelludwig@google.com

Change-Id: I37467eb096fec28131587aefe340f0485fca59d4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/175989
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-12-10 16:59:37 +00:00
Michael Ludwig
8137f3c862 Revert "Add clamp to border wrap mode to gpu"
This reverts commit f49a5785f3.

Reason for revert: clamp-to-border in metal not available on iOS

Original change's description:
> Add clamp to border wrap mode to gpu
> 
> Bug: skia:
> Change-Id: I286163cdea4fa8f7e6a876baaa11aa3dacd4f2ff
> Reviewed-on: https://skia-review.googlesource.com/c/175244
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,ethannicholas@google.com,michaelludwig@google.com

Change-Id: I01ef28d9c2fbf6c6dcd82d9aac193ff102d60151
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/175988
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-12-10 15:14:48 +00:00
Brian Salomon
0a7e58f4c9 Add glTexParameterf[v] to GrGLInterface
Change-Id: Icd1f2a84f76cedfdb9dfd358e57e0fbc6cae49cb
Reviewed-on: https://skia-review.googlesource.com/c/175828
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2018-12-10 14:50:23 +00:00
Michael Ludwig
f49a5785f3 Add clamp to border wrap mode to gpu
Bug: skia:
Change-Id: I286163cdea4fa8f7e6a876baaa11aa3dacd4f2ff
Reviewed-on: https://skia-review.googlesource.com/c/175244
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-12-10 14:45:48 +00:00
Brian Osman
f5bbf66eb4 Finish removing sample shading support
Chrome's initialization of the function pointer is gone:
https://chromium-review.googlesource.com/c/chromium/src/+/1366758

Bug: skia:
Change-Id: I025db12fbf8cfbcaee580b3494bd56e41b8fd325
Reviewed-on: https://skia-review.googlesource.com/c/175982
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-12-10 14:28:19 +00:00
Mike Reed
4037a18e5d Revert "Convert bitmap device drawing to SkFont removing all LEGACY calls"
This reverts commit 85a216ce89.

Reason for revert: broke some svg layout tests?

https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_chromium_rel_ng/203829

Original change's description:
> Convert bitmap device drawing to SkFont removing all LEGACY calls
> 
> Change-Id: I096042a63395f361f758306993cdbb2621937aef
> Reviewed-on: https://skia-review.googlesource.com/c/175840
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=herb@google.com,reed@google.com

Change-Id: Ia88e22d4dcbdfcba01febd7378a2f6bbda235644
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/175831
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-08 14:01:54 +00:00
Mike Reed
4a6a4acab2 remove uncalled onDrawText virtuals from base class
... waiting on android cl to remove overrides

Bug: skia:
Change-Id: I3375ad251fa6844cdd0511eafc6133a758a3cef6
Reviewed-on: https://skia-review.googlesource.com/c/175582
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-07 22:14:20 +00:00
Herb Derby
85a216ce89 Convert bitmap device drawing to SkFont removing all LEGACY calls
Change-Id: I096042a63395f361f758306993cdbb2621937aef
Reviewed-on: https://skia-review.googlesource.com/c/175840
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-12-07 22:01:49 +00:00
Herb Derby
95e1760a78 Make SkGlyphRun use SkFont instead of SkPaint
Change-Id: I5f34857a21deac418eaaeb19c776b2148b7f0737
Reviewed-on: https://skia-review.googlesource.com/c/175460
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-12-07 20:13:38 +00:00
Jim Van Verth
386e6ce287 Remove deprecated YUVA interface
Bug: skia:7903
Change-Id: I142bcd8bfaf1d9fbdc515cc610b6c778d317a798
Reviewed-on: https://skia-review.googlesource.com/c/175720
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-12-07 18:30:42 +00:00
Greg Daniel
d207345456 Add cap to number of oplists we execute before flushing to the gpu.
This fixes a crash we saw when we switch vulkan copies as draws to creating
their own secondary command buffer. The crash came from the perf blendmode
tests when using an advanced blend mode. They would do 1000 draws which forced
us into creating 2000 command buffers (since the dst copies and the normal draws
each used them). I tested without the copies as draws change and just increasing
the total number of draws we do and was able to repro the crash.

Besides fixing the above OOM crash, I am also seeing a 5-10% perf gain on the
blendmode micro benches which is nice

Bug: skia:
Change-Id: I9266ea0ba02a755f54dabd4ee804963ab0c9b684
Reviewed-on: https://skia-review.googlesource.com/c/175436
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-12-07 17:57:07 +00:00
Brian Salomon
967df200bd Deuninstantiate
Uninstantiated: a state of not being instantiated.

Deinstantiate: transition from instantiated to uninstantiated state.

Change-Id: Id7b6b295267674a9915f95105d73fabfcc3555de
Reviewed-on: https://skia-review.googlesource.com/c/175586
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-12-07 16:54:52 +00:00
Brian Osman
a63593a10c Remove sample shading and dest color override
Both of these features are unused (though Chrome still installs a GL
function in the interface, so the function pointer needs to stick around
until that's removed).

Bug: skia:
Change-Id: Id061e83042b0dd5f583a850de182c29cd27fab1f
Reviewed-on: https://skia-review.googlesource.com/c/175423
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-12-07 15:46:12 +00:00
Mike Reed
bb786b46cf guard paint's breaktext -- trying to remove it
... adding guard to google3

Bug: skia:
Change-Id: I23a4b0a60545aff1a16d40ed02ad34c1a9262839
Reviewed-on: https://skia-review.googlesource.com/c/175433
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-12-07 13:15:12 +00:00
Mike Reed
158df43c2d hide non-blob versions of getTextIntercepts
likely will move this to SkFont soon

Bug: skia:
Change-Id: I53a6d9114c9e8768a50951e96284d10bda83285b
Reviewed-on: https://skia-review.googlesource.com/c/175434
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-07 12:59:12 +00:00
Sergey Ulanov
f3babcd0af Reland "Add SkFontMgr implementation for Fuchsia"
This is a reland of 309f1deddf

PS2 excludes the new file from Google3 build.

Original change's description:
> Add SkFontMgr implementation for Fuchsia
>
> The new SkFontMgr implementation will be used by Flutter and Chromium on
> Fuchsia.
>
> Change-Id: Ibd60a622282556e8557058e92fe865857f7024f9
> Reviewed-on: https://skia-review.googlesource.com/c/173800
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: I1ea948b644dee4414b7a12a4b354f0a61a5e47ea
Reviewed-on: https://skia-review.googlesource.com/c/175431
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-12-07 01:47:05 +00:00
Mike Reed
e6b5b710fc Revert "Add SkFontMgr implementation for Fuchsia"
This reverts commit 309f1deddf.

Reason for revert: breaks compile in google3

In file included from third_party/skia/HEAD/src/ports/SkFontMgr_fuchsia.cpp:8:
third_party/skia/HEAD/include/ports/SkFontMgr_fuchsia.h:11:10: fatal error: 'fuchsia/fonts/cpp/fidl.h' file not found
#include <fuchsia/fonts/cpp/fidl.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~

Original change's description:
> Add SkFontMgr implementation for Fuchsia
> 
> The new SkFontMgr implementation will be used by Flutter and Chromium on
> Fuchsia.
> 
> Change-Id: Ibd60a622282556e8557058e92fe865857f7024f9
> Reviewed-on: https://skia-review.googlesource.com/c/173800
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,bungeman@google.com,reed@google.com,sergeyu@chromium.org

Change-Id: Ieae0ba4b07677bee0481c3183c3835091831c477
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/175430
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-07 00:29:22 +00:00
Sergey Ulanov
309f1deddf Add SkFontMgr implementation for Fuchsia
The new SkFontMgr implementation will be used by Flutter and Chromium on
Fuchsia.

Change-Id: Ibd60a622282556e8557058e92fe865857f7024f9
Reviewed-on: https://skia-review.googlesource.com/c/173800
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-12-06 23:32:42 +00:00
Mike Reed
2bf4339592 Revert "remove SkPaint breakText, use SkFont instead (or don't call it)"
This reverts commit b17f5fd618.

Reason for revert: googe3 still uses this :(

Original change's description:
> remove SkPaint breakText, use SkFont instead (or don't call it)
> 
> Bug: skia:
> Change-Id: I906b8ea70be1f70043b77ca32cc214d15c256967
> Reviewed-on: https://skia-review.googlesource.com/c/175254
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=caryclark@google.com,reed@google.com,caryclark@skia.org

Change-Id: Ifcb1bcecd92fef76b0dc92ee8d8d3644f763136f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/175429
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-06 23:06:03 +00:00
Mike Reed
4e336e33d7 Move all glyphsToUnichars to a single impl (rely on typeface)
- make it private in SkFont ('cause we hate this idea)
- remove from SkPaint as soon as we update callers

Bug: skia:8600
Change-Id: I8382b34b50b549d76ae4e849287994c4a8e1be87
Reviewed-on: https://skia-review.googlesource.com/c/175427
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-06 22:48:52 +00:00
Mike Reed
704a3429e6 Abandon onDrawText and its variants, turn everything into textblobs
Follow-ups assuming this sticks:
- remove client overrides, so we can remove the (empty) base class virtuals
- mark as obsolete the .skp enums for these entrypoints, and note date
- remove glyphrunlist helpers that now may not have any callers
- remove DrawCommands related to these entrypoints

Bug: skia:
Change-Id: I44b4e6ef3bee61911e77b9b2ab73f82c0817536a
Reviewed-on: https://skia-review.googlesource.com/c/175240
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-12-06 21:54:20 +00:00
Brian Salomon
246bc3d6cb Revert "Revert "Use unnormalized coords all the way through with GL_TEXTURE_RECTANGLE textures.""
This reverts commit 47be94abd1.

Change-Id: I37d3c727ded6501b143381d46d3b00faad3afd75
Reviewed-on: https://skia-review.googlesource.com/c/175421
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-12-06 21:12:09 +00:00
Mike Reed
efb518d7e8 more simple makers for textblobs
To aid in the transition away from drawText, drawPosText, etc.
... see https://skia-review.googlesource.com/c/skia/+/175240

Definitely need to have a follow-on discussion about tradeoffs for the
various positioning backends.

Bug: skia:
Change-Id: I236e151f6604d868dc18f98503c371f41593ec6e
Reviewed-on: https://skia-review.googlesource.com/c/175248
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-12-06 19:01:23 +00:00
Mike Reed
b17f5fd618 remove SkPaint breakText, use SkFont instead (or don't call it)
Bug: skia:
Change-Id: I906b8ea70be1f70043b77ca32cc214d15c256967
Reviewed-on: https://skia-review.googlesource.com/c/175254
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-12-06 18:25:07 +00:00
Brian Osman
d3e7130dc9 Add a hash of all vertex attributes to the GrProgramDesc key
Recent work to dynamically switch the CPU type of the color attribute
exposed this problem - we were ignoring the attribute types, and getting
cache hits on incorrect GrProgram objects with stale layout information.

This fixes GMs in configs that may use F16 colors (eg glenarrow).

Bug: skia:
Change-Id: Ic87c47601c26e53c2173713a6cf14d209af8e246
Reviewed-on: https://skia-review.googlesource.com/c/175243
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-12-06 17:28:37 +00:00
Brian Salomon
9cadc314b6 Reland "Bypass interval tracking and assignment of read-only texures in GrResourceAllocator."
This is a reland of 1b04794234

Original change's description:
> Bypass interval tracking and assignment of read-only texures in GrResourceAllocator.
> 
> Bug: skia:8509
> 
> Change-Id: Idecf3a5335945c9ff21f27cd3f7887125214d02d
> Reviewed-on: https://skia-review.googlesource.com/c/174592
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

Bug: skia:8509
Change-Id: I26eaf9606e2b9c238e40a230a8eda15e97400515
Reviewed-on: https://skia-review.googlesource.com/c/175251
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-12-06 16:33:02 +00:00
Brian Salomon
47be94abd1 Revert "Use unnormalized coords all the way through with GL_TEXTURE_RECTANGLE textures."
This reverts commit 10273c1d5f.

Reason for revert: bad gms

Original change's description:
> Use unnormalized coords all the way through with GL_TEXTURE_RECTANGLE textures.
> 
> We used to unnormalize them in the shader via SkSL.
> 
> This allows us to support GL_TEXTURE_RECTANGLE without having textureSize()
> available in GLSL.
> 
> Change-Id: Ibe63a302228811933ef000251db4cad9aaf4f2ea
> Reviewed-on: https://skia-review.googlesource.com/c/174068
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,brianosman@google.com

Change-Id: I9bf38e1040578becba28ac8cccd81e2af2844278
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/175252
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-12-06 15:50:36 +00:00
Jim Van Verth
69e5785d9f Add RG_88 texture format
Bug: skia:7903
Change-Id: I69b65fc1cfcc2cc5045bb3b75395f9a256ade278
Reviewed-on: https://skia-review.googlesource.com/c/172979
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-12-06 15:36:31 +00:00