Commit Graph

9163 Commits

Author SHA1 Message Date
Mike Reed
88c6eb5c54 remove (dead) legacy measuretext
Bug: skia:
Change-Id: I3deed21a9e4a019f87557f751fafdcc36c95fa57
Reviewed-on: https://skia-review.googlesource.com/c/188312
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-31 22:18:12 +00:00
Mike Reed
5b257abb87 change measureText impl to first convert to glyphs
Bug: skia:
Change-Id: Icbc53688fb4e575695abf062dfe89e3b4b3bbb53
Reviewed-on: https://skia-review.googlesource.com/c/188021
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2019-01-31 18:11:52 +00:00
Brian Salomon
f55e8d5232 Add option to skip intermediate release/fulfill calls for promise images.
SkiaRenderer does not delete promise image textures when they are released
but not done. Refulfilling promise image textures takes a significant amount
of CPU time. This allows us to fulfill each promise image once.

Bug: skia:8736
Change-Id: I7ad7fa9678ed0ec4bb714b71fbf920ab4a845409
Reviewed-on: https://skia-review.googlesource.com/c/188039
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-31 16:24:52 +00:00
Robert Phillips
4217ea7ee5 Add outline of new GrContext hierarchy
This begins the process of splitting GrContext into:

GrContext_Base, GrImageContext, GrRecordingContext and GrDirectContext.

Change-Id: I3c43045f2a5549b049e95791d65f74d4e16de36f
Reviewed-on: https://skia-review.googlesource.com/c/186878
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-01-30 18:36:11 +00:00
Brian Salomon
59ef8c36c1 Remove legacy texture-backed promise image interface.
No longer used by Chrome.

Change-Id: I842482490f132bb3aa3e85f847d8d4167f5595df
Reviewed-on: https://skia-review.googlesource.com/c/188029
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-30 18:09:21 +00:00
Mike Reed
673a048b20 hide deprecated breaktext
Bug: skia:
Change-Id: I5a2f4d96f8e0ad299cf1b4f6e87f0e0d98afde5a
Reviewed-on: https://skia-review.googlesource.com/c/188020
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-01-30 13:58:41 +00:00
Robert Phillips
a0bc39dce3 Split GrContextThreadSafeProxy into its own files (take 2)
This just shuffles stuff around.

Change-Id: I90e24a73bf44dd3e88fc121a0528bf94e4fdead4
Reviewed-on: https://skia-review.googlesource.com/c/187786
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-01-29 19:26:47 +00:00
Mike Reed
d3bde0b798 remove legacy SkPaint getTextBlobIntercepts
Bug: skia:
Change-Id: I59407c5ae9cdbfa6e674ec92f35b0ca7d6a8425f
Reviewed-on: https://skia-review.googlesource.com/c/187787
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-01-29 19:24:48 +00:00
Robert Phillips
ea8b4fc950 Revert "Split GrContextThreadSafeProxy into its own files"
This reverts commit f8397f2b3f.

Reason for revert: Breaking Flutter build!

Original change's description:
> Split GrContextThreadSafeProxy into its own files
> 
> This just shuffles stuff around.
> 
> Change-Id: Ieab35f50945efe87512d7077cb994132f0e0b6ef
> Reviewed-on: https://skia-review.googlesource.com/c/186874
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: I236add95d8a0066037854b5532a7db131d93d603
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/187783
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-01-29 14:39:19 +00:00
Robert Phillips
f8397f2b3f Split GrContextThreadSafeProxy into its own files
This just shuffles stuff around.

Change-Id: Ieab35f50945efe87512d7077cb994132f0e0b6ef
Reviewed-on: https://skia-review.googlesource.com/c/186874
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-01-29 14:03:47 +00:00
Brian Osman
d8a90f9be1 Converting more debug code to SkJSONWriter
All of SkDrawCommand / SkDebugCanvas now uses SkJSONWriter.
Also removed the bespoke json generator and pretty-printer
in GrAuditTrail. This was the largest volume of code still
using JsonCPP. (There are other stragglers).

Bug: skia:
Change-Id: I3aee554764689ce50c8e707caf26c76093b9bb8f
Reviewed-on: https://skia-review.googlesource.com/c/187040
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-01-28 19:06:06 +00:00
Greg Daniel
41f0e28fd5 Add MaxAPIVersion to GrVkBackendContext.
This moves us to the correct way of handling the correct version of
Vulkan that the client wants us to use.

Bug: skia:
Change-Id: I6c7962b5d2d48ae142c6a701c30f5af3801ac99b
Reviewed-on: https://skia-review.googlesource.com/c/187382
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-01-28 19:01:46 +00:00
Mike Reed
5f528e5fd8 Revert "Reland "Revert "remove legacy code for text attributes on paint"""
This reverts commit 3c03c851ad.

Modification was to copy/assign fBitfieldsUInt rather than fBitfields,
since fBitfields might be smaller, and therefore ignore some bits that
we do use in hashing, etc.

Bug: skia:
Change-Id: I5965d5d64bd22bd60f0da797fdfeeffb730588ea
Reviewed-on: https://skia-review.googlesource.com/c/187307
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-01-28 18:27:26 +00:00
Mike Reed
3c03c851ad Reland "Revert "remove legacy code for text attributes on paint""
This reverts commit fd0bba81c0.

Reason for revert: PaintTest.cpp:150 failing

Original change's description:
> Revert "Revert "remove legacy code for text attributes on paint""
> 
> This reverts commit fb0e2aa8fd.
> 
> Bug: skia:
> Change-Id: I16bf3c999233f7498a4d76dfbcfb26be725e88f5
> Reviewed-on: https://skia-review.googlesource.com/c/187261
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: Ic52282f36841b7402a3a5466b93ef56ecdb6f51b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/187306
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-01-28 15:02:08 +00:00
Mike Reed
fd0bba81c0 Revert "Revert "remove legacy code for text attributes on paint""
This reverts commit fb0e2aa8fd.

Bug: skia:
Change-Id: I16bf3c999233f7498a4d76dfbcfb26be725e88f5
Reviewed-on: https://skia-review.googlesource.com/c/187261
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-28 13:56:24 +00:00
Mike Reed
fb0e2aa8fd Revert "remove legacy code for text attributes on paint"
This reverts commit 80f4adf98f.

Reason for revert: breaking PaintTest

Original change's description:
> remove legacy code for text attributes on paint
> 
> Bug: skia:2664
> Change-Id: I09f9d1401410d7ca338d7acde5a9660921c74da9
> Reviewed-on: https://skia-review.googlesource.com/c/185460
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>

TBR=bungeman@google.com,rmistry@google.com,herb@google.com,fmalita@chromium.org,reed@google.com

Change-Id: If9bbb92d6eb064aba30cfa9069051ff60585a269
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:2664
Reviewed-on: https://skia-review.googlesource.com/c/187260
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-01-28 00:18:09 +00:00
Mike Reed
80f4adf98f remove legacy code for text attributes on paint
Bug: skia:2664
Change-Id: I09f9d1401410d7ca338d7acde5a9660921c74da9
Reviewed-on: https://skia-review.googlesource.com/c/185460
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-01-27 23:54:45 +00:00
Brian Salomon
0d60676556 Actually reuse GrTexture if SkPromiseImageTexture used with multiple
images.

Change-Id: Id68d2f2a4c0012b2219a505f1259a9c9bd014c65
Reviewed-on: https://skia-review.googlesource.com/c/186700
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-01-25 16:04:49 +00:00
Brian Salomon
35ba614dc5 Remove GrGpuResource::abandon from the public API.
Bug: skia:7966
Change-Id: I222db4f4bc765fad3e5f1461f3a8f3c663bb9429
Reviewed-on: https://skia-review.googlesource.com/c/186545
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-01-25 15:37:20 +00:00
Brian Salomon
9bc76d96f9 Change the meaning of GrBudgetedType::kUnbudgetedUncacheable.
kUnbudgetedCacheable now means that the resource is never purged
until its unique key is removed.

This fixes an issue where a cached texture for a promise image
might get purged by cache pressure. This in turn could cause
Skia to call the promise image's Fulfill proc multiple times with
no intervening Release calls. The balancing Release calls would
occur, but the policy is that each Fulfill should be balanced by
Release *before* another Fulfill.

Update/add unit tests.

Bug: chromium:922851
Change-Id: I6411e413b3104721ca4bb6e7f07b3b73d14cbcf9
Reviewed-on: https://skia-review.googlesource.com/c/186361
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-25 14:13:00 +00:00
Brian Salomon
aa6ca0a8bf Require explicit GrWrapCacheable specification in more places.
Make all wrapped resources be kUnbudgetedUncacheable except those
created by AHardwareBuffer image generators and as backings for promise
images.

Make all non-wrapped unbudgeted resources be kUnbudgetedUncacheable.

Update unit tests to mostly use GrWrapCacheable::kNo except where they
are testing the distinction.

Update unit tests for new expectations.
Bug: chromium:922851
Change-Id: I4d3bdaa161ffc76390f26334bcb7e2b47dd9319d
Reviewed-on: https://skia-review.googlesource.com/c/185004
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-25 00:29:27 +00:00
Brian Salomon
fa2ebeaf33 Replace bool purgeImmediately with enum GrWrapCacheable.
Store budgeted status as a tri-state enum on GrGpuResource:
kBudgeted
kUnbudgetedCacheable
kUnbudgetedUncacheable

Uncacheable vs. Cacheable captures the current distinction between
wrapped resources created with purgeImmediately or !purgeImmediately.

Non-wrapped and unbudgeted resources are all kUnbudgetedCacheable to
match current behavior.

This change just introduces the new types. No behavior is changed.

Bug: chromium:922851

Change-Id: Ic2387bf321cf9b56b4c9ffd9dbef8ade60f9cb98
Reviewed-on: https://skia-review.googlesource.com/c/185003
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-24 21:26:24 +00:00
Heather Miller
c7601bf508 Update Skia milestone to 74
Bug: skia:
Change-Id: Ief231cc48fd8a40bc10f21445884d599b27db799
Reviewed-on: https://skia-review.googlesource.com/c/186701
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
2019-01-24 20:47:42 +00:00
Brian Osman
42e4dc0de1 Remove SkColorSpace::Gamut enum
Android's use of this has been removed

Bug: skia:
Change-Id: I32399f7c07efa5dea868837bd0f7fcddecdbb035
Reviewed-on: https://skia-review.googlesource.com/c/186544
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-01-24 19:15:31 +00:00
Brian Osman
5deadca8fe Remove nearly all use of SkColorSpaceTransferFn
Most interfaces had migrated to skcms_TransferFunction. Having both was
awkward in several places, so this (almost) finishes the migration. Some
clients are calling SkICC::WriteToICC, so that's left intact. After this
CL, those clients can switch to using SkWriteICCProfile directly, and
WriteToICC can be deleted.

Bug: skia:
Change-Id: I46ebaeb1f5b20bf0c620e8a620e73ee323a1de31
Reviewed-on: https://skia-review.googlesource.com/c/186541
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-01-24 17:45:19 +00:00
Derek Sollenberger
08c06297bf Revert "Implement XP factory dumping"
This reverts commit 8d8224fcc1.

Reason for revert: Adds public API without documentation breaking bookmaker bot

Original change's description:
> Implement XP factory dumping
> 
> Bug: skia:
> Change-Id: If2e6a20b072d895ca9770268db5006a9400f2e70
> Reviewed-on: https://skia-review.googlesource.com/c/186180
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

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

Change-Id: I66e8508d8760b5a95e7f98597b4907d134122013
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/186542
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2019-01-24 16:30:44 +00:00
Chris Dalton
8d8224fcc1 Implement XP factory dumping
Bug: skia:
Change-Id: If2e6a20b072d895ca9770268db5006a9400f2e70
Reviewed-on: https://skia-review.googlesource.com/c/186180
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-01-23 22:19:11 +00:00
Herb Derby
087fad7900 Add getTypefaceOrDefault and refTypefaceOrDefault
* Remove GetTypefaceOrDefault from SkPaint and SkFont
* Remove RefTypefaceOrDefault from SkPaint and SkFont

Change-Id: I04ae777142c2bdec849508b611b844418bbaedff
Reviewed-on: https://skia-review.googlesource.com/c/185781
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-01-23 18:52:09 +00:00
Michael Ludwig
7545190e32 Add new experimental API for rectangles with per-edge AA control
Also updates GM_draw_quad_set to use this API instead of the
bulk API on GrRenderTargetContext.

Bug: skia:8506
Change-Id: Ia342d83c509f9db69f06f01599c7041c98aabdb6
Reviewed-on: https://skia-review.googlesource.com/c/184488
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-01-23 16:45:01 +00:00
Mike Klein
84e0064bc5 remove SK_API from private calls
It's usually better to use __fp16.

Change-Id: I9db8983cb47cbd5bfe99ae76bf8e4b42bb7240a2
Reviewed-on: https://skia-review.googlesource.com/c/185980
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-01-23 16:43:11 +00:00
Mike Reed
4f81bb7331 remove all support for drawText
Bug: skia:2664
Change-Id: Iee5fee505b5be50b22ddcbdb17abf7e66b7b4d6f
Reviewed-on: https://skia-review.googlesource.com/c/185001
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-01-23 14:50:35 +00:00
Mike Reed
77f94ea72b Move more utils into SkFontPriv, IWYU
Fissioned from https://skia-review.googlesource.com/c/skia/+/185460

Bug: skia:
Change-Id: Iaf980e931c17196f917602fc58fc39ab51e3d248
Reviewed-on: https://skia-review.googlesource.com/c/185840
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-22 22:24:03 +00:00
Brian Osman
02518801df Remove SkGammaNamed / gammaNamed() from SkColorSpace
Note: This removes from the public API. The two most commonly
checked values from gammaNamed can still be tested with
gammaCloseToSRGB and gammaIsLinear.

Others can be tested for (exact or approximate) equality by
calling isNumericalTransferFn, and testing the resulting
skcms_TransferFunction in any method the client wants.

Bug: skia:
Change-Id: I9b63ffea81bba461795cad946050c7083b02eec8
Reviewed-on: https://skia-review.googlesource.com/c/185684
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-01-22 20:52:35 +00:00
Hal Canary
02738a86e5 Revert "hide hinting and flag enums with PAINT_FLAGS"
This reverts commit 5d052dac3a.

Reason for revert: BREAKS CHROMIUM ROLL.

https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/fonts/win/font_platform_data_win.cc?l=49
|   FAILED: obj/third_party/blink/renderer/platform/platform/font_platform_data_win.obj
|   ../../third_party/blink/renderer/platform/fonts/win/font_platform_data_win.cc(49,29):
|     error: no member named 'kLCDRenderText_Flag' in 'SkPaint'
|     if (text_flags & SkPaint::kLCDRenderText_Flag) {
|                      ~~~~~~~~~^
|   ../../third_party/blink/renderer/platform/fonts/win/font_platform_data_win.cc(51,36):
|     error: no member named 'kAntiAlias_Flag' in 'SkPaint'
|     } else if (text_flags & SkPaint::kAntiAlias_Flag) {
|                             ~~~~~~~~~^
|   ../../third_party/blink/renderer/platform/fonts/win/font_platform_data_win.cc(56,52):
|     error: no member named 'kSubpixelText_Flag' in 'SkPaint'
|     font->setSubpixel(SkToBool(text_flags & SkPaint::kSubpixelText_Flag));
|                                             ~~~~~~~~~^
|   ../../third_party/blink/renderer/platform/fonts/win/font_platform_data_win.cc(64,29):
|     error: no member named 'kAntiAlias_Flag' in 'SkPaint'
|     if (text_flags & SkPaint::kAntiAlias_Flag)
|                      ~~~~~~~~~^
|   ../../third_party/blink/renderer/platform/fonts/win/font_platform_data_win.cc(85,27):
|     error: no member named 'kAntiAlias_Flag' in 'SkPaint'
|                  ? SkPaint::kAntiAlias_Flag
|                    ~~~~~~~~~^
|   ../../third_party/blink/renderer/platform/fonts/win/font_platform_data_win.cc(91,35):
|     error: no member named 'kLCDRenderText_Flag' in 'SkPaint'
|                          ? SkPaint::kLCDRenderText_Flag
|                            ~~~~~~~~~^
|   ../../third_party/blink/renderer/platform/fonts/win/font_platform_data_win.cc(93,27):
|     error: no member named 'kAntiAlias_Flag' in 'SkPaint'
|       text_flags = SkPaint::kAntiAlias_Flag | lcd_flag;
|                    ~~~~~~~~~^
|   ../../third_party/blink/renderer/platform/fonts/win/font_platform_data_win.cc(101,28):
|     error: no member named 'kAntiAlias_Flag' in 'SkPaint'
|       text_flags |= SkPaint::kAntiAlias_Flag;
|                     ~~~~~~~~~^
|   8 errors generated.

Original change's description:
> hide hinting and flag enums with PAINT_FLAGS
> 
> A preflight for https://skia-review.googlesource.com/c/skia/+/185460
> 
> Bug: skia:2664
> Change-Id: I83f7f9cd500e8507b559462835477ba8ae7c11ab
> Reviewed-on: https://skia-review.googlesource.com/c/185540
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I4d1581a7e29267ad459ed31d4885b823fa00066f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:2664
Reviewed-on: https://skia-review.googlesource.com/c/185680
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-01-21 18:51:39 +00:00
Brian Osman
9c6ee015c3 SkColorSpace API cleanup
Previously:
- Gamut could be a 4x4 matrix (overspecified), or an enum.
- Transfer function could be a struct with 7 floats, or one of two
  different enums.
- We had 5 of the 6 possible factories covering those [3 x 2] options.

Recently we added a single new factory that takes the skcms 7-float
struct, and the skcms 3x3 matrix. This is the exact, minimal set of
information needed to specify an SkColorSpace.

Major clients have been moved to that factory, so the other five are
being removed. The enums are also being removed, as they are no longer
part of the API. All transfer functions and gamuts covered by the old
enums are available as constexpr values (of the skcms types) in the
header (SkNamedTransferFn and SkNamedGamut).

Bug: skia:
Change-Id: I1fbbacec6997b966dd92000ab67513e7f1a9d023
Reviewed-on: https://skia-review.googlesource.com/c/184067
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-01-21 18:12:28 +00:00
Mike Reed
5d052dac3a hide hinting and flag enums with PAINT_FLAGS
A preflight for https://skia-review.googlesource.com/c/skia/+/185460

Bug: skia:2664
Change-Id: I83f7f9cd500e8507b559462835477ba8ae7c11ab
Reviewed-on: https://skia-review.googlesource.com/c/185540
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-21 15:45:37 +00:00
Jim Van Verth
ee06b33570 Reland "Add compressed data support for SkImage."
This is a reland of 57263c2e0c

Original change's description:
> Add compressed data support for SkImage.
> 
> Adds a new SkImage::MakeFromCompressed method which takes raw data,
> a size, and a compression method, and returns a GPU-backed
> image.
> 
> Bug: skia:8684
> Change-Id: I570c9dafce283bcd64dfbef4fbe1c4bfeac6ce2a
> Reviewed-on: https://skia-review.googlesource.com/c/184484
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

Bug: skia:8684
Change-Id: I25fb320e8cc05e1c5afa6faa81e1a55ffd83a7a3
Reviewed-on: https://skia-review.googlesource.com/c/185200
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-01-18 16:32:08 +00:00
Leon Scroggins III
3a33fa5371 Add SK_API to SkHalfToFloat
Bug: b/120904891
Bug: b/122844033
Bug: b/122514935

This allows converting @ColorLongs into floats.

Change-Id: If9e85b19ee8f001434556f4640f022e3fdc605e1
Reviewed-on: https://skia-review.googlesource.com/c/185140
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2019-01-18 15:43:01 +00:00
Hal Canary
14235d1ec0 Revert "Add compressed data support for SkImage."
This reverts commit 57263c2e0c.

Reason for revert: assert failures in test bots.

Original change's description:
> Add compressed data support for SkImage.
> 
> Adds a new SkImage::MakeFromCompressed method which takes raw data,
> a size, and a compression method, and returns a GPU-backed
> image.
> 
> Bug: skia:8684
> Change-Id: I570c9dafce283bcd64dfbef4fbe1c4bfeac6ce2a
> Reviewed-on: https://skia-review.googlesource.com/c/184484
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: If5705507f4aa34c6495fa72ff1a927cb18eca6ba
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8684
Reviewed-on: https://skia-review.googlesource.com/c/185002
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-01-17 22:13:23 +00:00
Jim Van Verth
57263c2e0c Add compressed data support for SkImage.
Adds a new SkImage::MakeFromCompressed method which takes raw data,
a size, and a compression method, and returns a GPU-backed
image.

Bug: skia:8684
Change-Id: I570c9dafce283bcd64dfbef4fbe1c4bfeac6ce2a
Reviewed-on: https://skia-review.googlesource.com/c/184484
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-01-17 21:18:52 +00:00
Mike Reed
172fff869b Reland "remove SK_SUPPORT_LEGACY_CANVAS_DRAW_TEXT flag"
This reverts commit 3b415a8910.

Reason for revert: guards should be in place...

Original change's description:
> Revert "remove SK_SUPPORT_LEGACY_CANVAS_DRAW_TEXT flag"
> 
> This reverts commit 1b87c6bc19.
> 
> Reason for revert: need guards in google3 (and possibly android)
> 
> Original change's description:
> > remove SK_SUPPORT_LEGACY_CANVAS_DRAW_TEXT flag
> > 
> > Bug: skia:
> > Change-Id: I89451ee399a59907a195237adc1b5dc59691150e
> > Reviewed-on: https://skia-review.googlesource.com/c/184381
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> > Auto-Submit: Mike Reed <reed@google.com>
> 
> TBR=reed@google.com
> 
> Change-Id: I0e404f435079cc5a679d357ff28f215fef543718
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/184483
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I3df434eb7286bb9439640644d455509e58a120ba
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/184661
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-01-17 00:37:49 +00:00
Mike Reed
f738d4211c hide SkPaint::getFlags/setFlags, use bool acessors instead
Bug: skia:
Change-Id: Ib44859bf69a9dfaae7fbbd220b41af0c198797c6
Reviewed-on: https://skia-review.googlesource.com/c/184388
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-01-16 22:45:29 +00:00
Brian Salomon
1bf0ed8584 Make GrTexture caching for SkPromiseImageTexture work when same texture
fulfills a different SkImage.

Bug: skia:8613
Change-Id: I7ee14112c69f8aaef223a37dda455259b501a2bf
Reviewed-on: https://skia-review.googlesource.com/c/184440
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-01-16 22:06:53 +00:00
Herb Derby
081e6f3754 Rename GrGlyphCache -> GrStrikeCache
Change-Id: Ie6fdcc6ce1f2265783ebb4dcd1b1ce087a296ddf
Reviewed-on: https://skia-review.googlesource.com/c/184500
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-01-16 20:15:04 +00:00
Mike Reed
3b415a8910 Revert "remove SK_SUPPORT_LEGACY_CANVAS_DRAW_TEXT flag"
This reverts commit 1b87c6bc19.

Reason for revert: need guards in google3 (and possibly android)

Original change's description:
> remove SK_SUPPORT_LEGACY_CANVAS_DRAW_TEXT flag
> 
> Bug: skia:
> Change-Id: I89451ee399a59907a195237adc1b5dc59691150e
> Reviewed-on: https://skia-review.googlesource.com/c/184381
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I0e404f435079cc5a679d357ff28f215fef543718
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/184483
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-01-16 19:20:50 +00:00
Herb Derby
5fd955e36d Rename SkGlyphCache -> SkStrike
Change-Id: I51ca9f61feb0d4f7352ed634b7070327f31ccf05
Reviewed-on: https://skia-review.googlesource.com/c/184400
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-01-16 18:28:28 +00:00
Michael Ludwig
c39d0c850f Implement generic draw-as-clear fallback for color and stencil
This will likely have a perf hit for GL devices that trigger the clear-as-draw fallback since
the fillrectop cannot be as optimized as the direct GLSL shader. However, since the Metal
backend now needs to perform something very similar for scissored clears, I think this
improves code maintainability and is worth it.

Bug: skia:
Change-Id: Id87513784e5892c7ff3dc988115da1d39a46d8e0
Reviewed-on: https://skia-review.googlesource.com/c/182971
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-01-16 17:27:44 +00:00
Hal Canary
6dfb111c02 Documentation: SkFont::textToGlyphs()
+ When encoding is SkTextEncoding::kUTF8, SkTextEncoding::kUTF16, or
  + SkTextEncoding::kUTF32; then each Unicode codepoint is mapped to a
  + single glyph.  This function uses the default character-to-glyph
  + mapping from the SkTypeface.  It does not perform typeface fallback for
  + characters not found in the SkTypeface.

Change-Id: I3e84f996cccaf6b31c551ad027a62600d2510bc0
Reviewed-on: https://skia-review.googlesource.com/c/184385
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-01-16 16:04:08 +00:00
Mike Reed
1b87c6bc19 remove SK_SUPPORT_LEGACY_CANVAS_DRAW_TEXT flag
Bug: skia:
Change-Id: I89451ee399a59907a195237adc1b5dc59691150e
Reviewed-on: https://skia-review.googlesource.com/c/184381
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-16 14:52:48 +00:00
Mike Reed
47b7cd9a6b remove paint::glyphsToUnichars
Bug: skia:
Change-Id: I3f97a74f6d0a9da2711a50740d83d2181858bda8
Reviewed-on: https://skia-review.googlesource.com/c/184301
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-01-16 02:56:55 +00:00