Commit Graph

22520 Commits

Author SHA1 Message Date
Robert Phillips
56181ba452 Make DDL contexts/drawing managers always sort opLists
We want:
  DDLs to always be sorted
  Live rendering to still be sorted w/in Skia
  Live rendering to still not be sorted in Chrome and Android

Additionally, we want reduced-opList-splitting to only be enabled on some of Skia's bots.

Change-Id: I15e7d69c7e109749665a86a0169ad918c993dc77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/199244
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-03-08 18:40:17 +00:00
Mike Reed
5e398c2b5e change load/store_rgba to have src and dst variants
somewhat motivated by future mixer stages

Bug: skia:
Change-Id: Icd41ec9311f0da966164451324d28e7b3dfb3213
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/199280
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-03-08 17:24:33 +00:00
Ethan Nicholas
03896ae9ce Fixed a couple of Vulkan bugs
There was a bad test in GrVkImage, and the test in SkSLVariable was
allowing interface variables to be declared dead, which was probably
not a serious problem but was causing the debug layers to whine.

Bug: skia:8837
Change-Id: I233372ae45b575949b7c8f92b119b86e649f3142
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/199060
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-03-08 14:18:03 +00:00
Brian Osman
dbfcd92d5f Fix two SkPathRef bugs
- Transforming a path in place wasn't updating the gen ID of the path
- Transforming a path into another (uniquely held) path wasn't calling
  gen ID change listeners.

Bug: skia:
Change-Id: I9e244725d9bd5776d203ce6b12698cee09d0b714
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/199003
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-03-07 22:59:28 +00:00
Chris Dalton
d7291ba7a1 Restore support for multisample locations
Bug: skia:
Change-Id: I971455867e54d431cc1094fca041f773f78748ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/196218
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-07 22:00:48 +00:00
Jim Van Verth
61610bebdf Add Autorelease pools to clear out no longer needed Metal objects.
Bug: skia:8822
Change-Id: I2bb3528100a54a169ec9c5b26ef7d4d1cacc19db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198244
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-03-07 21:05:08 +00:00
Ethan Nicholas
5476f2e9b8 added constant swizzle support for Metal
Bug: skia:
Change-Id: Ia7d81920ddc341aa40da6af534d846f3e805a109
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/192031
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-03-07 20:47:04 +00:00
Ethan Nicholas
858feccb58 Got RelaxedPrecision decorations working again in SPIR-V, and removed
no-longer-needed old-style precision handling code.

Bug: skia:8829
Change-Id: I72fc2ee2a305c9c72a3efa92dd44d18239eabaf2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198169
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-03-07 19:56:59 +00:00
Brian Osman
1132f74e11 Add F16Norm support to a few more pixmap helpers
Bug: skia:
Change-Id: I86fd67a792ddfc456e8dd553d9012ed9bc9101f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198822
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-07 19:33:19 +00:00
Brian Osman
dfddf340c1 Fix bit-depth selection for picture shader playback with F16Norm
Bug: skia:
Change-Id: Ic85817901ffd30faf6ba40f1b14a507ed1dd2e8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198821
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-07 18:59:09 +00:00
Mike Klein
47750765d2 treat F16Norm like F16 as far as SW tranfer functions go
Change-Id: I5dd9ad47fc43d4ba859c6b8f1253e1788258c48e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198761
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-03-07 18:28:59 +00:00
Mike Klein
22504dea79 add pause to SkSpinlock::contendedAcquire on Intel
Popping off work to run in the thread pool is my bottleneck running DM
on a P920.  The long-term fix there is probably to restructure the
thread pool to work-steal, but adding this little pause to the contended
spin does make a noticeable improvement on its own.  It's what
_mm_pause() is designed for, after all.

Change-Id: I09ab3a940547e5c4b4b2fa1f3f945f08aed47b99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198620
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-03-07 17:06:29 +00:00
Mike Reed
2539429036 undo old colorspace hacks related to savelayers
... there appears also to be a bug in the 'global' imagefiltercache,
where it doesn't respect the outputProps colorspace..?

Bug: skia:8793, skia:8830
Change-Id: Ib8a113fa21eae5f581b44b051a790be9133aa411
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198247
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-03-07 16:26:49 +00:00
Brian Salomon
88b8d1124b Revert "Distinguish between "flushed" and "finished" idle state callbacks on GrTexture."
This reverts commit 9ac0407006.

Reason for revert: Breaking DDL Win10 skpbench bot

Original change's description:
> Distinguish between "flushed" and "finished" idle state callbacks on GrTexture.
> 
> This is necessary to convert the promise image API to call Release when all
> work is flushed and Done when all work is complete (future work).
> 
> Change-Id: I9745952bb0978ca2aaa79aeed460730b2fea856e
> Bug: skia:8800
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197163
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:8800
Change-Id: I5e6c4ea072beb4fb67a53d2ea2b007a7d201799d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198603
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-07 15:47:59 +00:00
Brian Salomon
d716d4402a Revert "Change promise image contract to for when Release and Done are called."
This reverts commit c5e8e150c8.

Reason for revert: Reverting to revert 9ac0407006 https://skia-review.googlesource.com/c/skia/+/197163


Original change's description:
> Change promise image contract to for when Release and Done are called.
> 
> Now Release is called when all work related to the SkImage is flushed
> and Done is called when it is finished on the GPU in Vulkan. In GL they
> are still both called back-to-back after flushing.
> 
> Bug: skia:8800
> Change-Id: I990be7b9ebef8411590afd860ef40511fb5fee32
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198165
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: I13e8211d89ed1b7694c2d7734eeaaf4ba9ad410a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8800
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198602
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-07 15:23:41 +00:00
Herb Derby
a677af71b2 Removed unused fallback code
Change-Id: I2dc9cde4bd7b7b54e7de677455b38fb3c9b86edb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198242
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-07 15:21:09 +00:00
Mike Klein
be27245416 fix f16norm mips
Change-Id: Ibfcf5e3aba33800e6f63de633cbde197a3b17057
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198222
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-03-07 15:03:59 +00:00
Brian Salomon
c5e8e150c8 Change promise image contract to for when Release and Done are called.
Now Release is called when all work related to the SkImage is flushed
and Done is called when it is finished on the GPU in Vulkan. In GL they
are still both called back-to-back after flushing.

Bug: skia:8800
Change-Id: I990be7b9ebef8411590afd860ef40511fb5fee32
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198165
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-03-07 13:43:59 +00:00
Mike Reed
b8b05e6be0 remove dead SK_SUPPORT_LEGACY_CHOOSERASTERPIPELINE code
Bug: skia:8793
Change-Id: I6f7f794f3734b709383ad73402cf1042cc2d68f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198251
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-03-07 12:26:29 +00:00
Herb Derby
692122e3ef Don't apply the view matrix twice for complicated fallback
In complicated fallback the matrix was being applied to create
the glyph cache and then rendering to the screen. Create the
glyphs with the identity matrix.

Change-Id: Ib399726ef73257f2890784c1f4ad598fef074ab3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198248
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-03-07 02:39:08 +00:00
Florin Malita
34336e3633 Make SkCubicMap immutable
Drop setter, only keep the parameterized constructor.

Change-Id: I31517df23688b8bd7485bf70c9c055cd1c87edcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198245
Auto-Submit: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-03-06 22:55:08 +00:00
Florin Malita
93092ff457 Make SkCubicMap public
Bug: skia:8803
Change-Id: I3aa0814d538d95dc3a5a1034993b823d2151ab85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/193961
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-03-06 19:58:28 +00:00
Jim Van Verth
ae336bda8f Another stab at MTLRenderCommandEncoder memory leak.
Allocating the MTLRenderCommandEncoder within a separate method seems
to add an unwanted retain, which leaves the refCnt stuck at 1 even
when we set the pointer to nil (the __strong keyword was a red herring).
Allocating and setting to nil within the same method seems to give the
right number of retain/release pairs.

Bug: skia:8243
Change-Id: Ic9a7180915e2753565d706b42d4d07eedb42519e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198175
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-03-06 19:35:53 +00:00
Herb Derby
cc6cd85b6f Fix: set SDFT if there is only fallback
If in the SDFT case, and emoji only the SDFT flag must be set
to make the mustRegenerate work correctly.

Change-Id: I48cbea699e44cf5721e841c81eb57d4b9fa026a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/198171
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-03-06 19:18:08 +00:00
Herb Derby
c72594a1cf Move process* closures into the GrTextBlob
Change-Id: I8614a7d267940ec5f000ffdb50833ce50c0df774
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197850
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-03-06 16:40:17 +00:00
Hal Canary
2a3093c154 SkPDF: Add experimental Harfbuzz font subsetter
Currently hidden behind gn flag:  skia_pdf_subset_harfbuzz

Replaces Sfntly subsetter.

TODO:
  1) Test on all clients.
  2) Enable on each client.
  3) Set skia_pdf_subset_harfbuzz default to true,
  4) Delete sfntly dependency.

Bug: chromium:931719
Change-Id: I5c763ce3e6b21d6bc65284d4105b9974e0907cdc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/171223
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-03-06 16:30:56 +00:00
Jim Van Verth
2e4287f543 Fix stencil setup in Metal
We could have a case where stencil is disabled but the framebuffer
has a stencil buffer, and the framebuffer and pipeline must match.

Bug: skia:8243
Change-Id: I460543392ffaf7198d693fd067fbdc96cda71fd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197764
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-03-06 15:20:57 +00:00
Greg Daniel
b085fa9c8c Add ddl support to drawing to wrapped vulkan secondary command buffers.
Bug: skia:
Change-Id: I3ddb6b1e923b8c1733b6a0e219efffa36e665fa2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/189282
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-03-06 14:47:26 +00:00
Nigel Tao
e39c88495c SkWuffsCodec: replace memset+check_wuffs_version
check_wuffs_version is deprecated.

Bug: skia:8235
Change-Id: Ie4e99976318e0b831ecb2c04699fa2e5648c9813
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/195780
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-03-06 14:16:16 +00:00
Robert Phillips
8defcc15b1 Update YUVA mipmap generation path to take a GrRecordingContext
Again, SkImage-derived objects will only have native access to an image context. Passing in a recording context captures when the mipmaps will be generated.

Change-Id: I025845ee4ea6bd97aa6001c1de316e394e7c5817
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197768
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-03-06 13:14:16 +00:00
Khushal
624cec68e4 remote fonts: Ensure consistent gamma usage with remote and gpu fonts.
R=herb@google.com, mtklein@google.com

Change-Id: Id5e259e78fdf1c2b609ec6717b754665d48a9c43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197280
Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
Auto-Submit: Khushal Sagar <khushalsagar@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-05 22:54:45 +00:00
Michael Ludwig
7ae2ab59f6 Support per-entry transforms in image-set API
Bug: skia:
Change-Id: I508ec8cb1df1c407853b401c73c66a575fb9c661
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/196642
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-05 21:32:05 +00:00
Chris Dalton
b8fff0dfce Make mixed samples detection automatic
Previously, we relied on ops to deduce whether a draw would have
hardware coverage modulation as a result mixed samples. This is
problematic because *any* draw can have mixed samples coverage if
there is a multisampled stencil clip. No ops were checking for stencil
clip, and most just said they never used mixed samples.

Now that the only usecase for mixed samples is the stencil buffer,
this CL makes the processorSet automatically deduce mixed samples
coverage from the stencil settings and fsaaType.

Bug: skia:
Change-Id: Ib69b84bc03b12f6efb8e7d6ed721ae1612785315
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197281
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-03-05 21:27:15 +00:00
Herb Derby
a00da61c5d Pointer to GrStrikeCache on GrTextBlob
This will allow all the glyph drawing closures to live on the
GrTextBlob.

Other cleanup
* Rename glyphCache things to grStrikeCache.

Change-Id: I03e0353a1434230086a08184221272f1e5751ae6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197244
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-05 21:13:56 +00:00
Robert Phillips
6603a1743e Make SkImage_Base::asTextureProxyRef take a GrRecordingContext parameter
In future Ganesh the SkImage's will only have GrImageContexts. asTextureProxyRef, however, may need to perform some rendering thus requires an external GrRecordingContext.

Change-Id: I893573e9f3462b4c4cf5e29a7f8ee74027a2ce6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197134
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-03-05 19:49:40 +00:00
Brian Salomon
9ac0407006 Distinguish between "flushed" and "finished" idle state callbacks on GrTexture.
This is necessary to convert the promise image API to call Release when all
work is flushed and Done when all work is complete (future work).

Change-Id: I9745952bb0978ca2aaa79aeed460730b2fea856e
Bug: skia:8800
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197163
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-03-05 19:49:00 +00:00
Brian Salomon
2ca31f8de2 Use GrSurface::setRelease helper that creates ref-counted wrapper
Change-Id: Ic748ee18d6cdf7d7b83a89ad6ec580be96bc305b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197769
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-03-05 19:43:55 +00:00
Chris Dalton
ff8065c2d2 Make sure to apply the stencil settings for GrDashOp
Bug: skia:8807
Change-Id: I0389d4836382aac289732effb41221e84978cc66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197789
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-03-05 18:23:03 +00:00
Herb Derby
d3898b987d Have SkGlyphRunListPainter close over SkStrikeCacheInterface
Change-Id: I7b07cc7f7fc4335fd614b45c7d19bdefe55fe8e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197165
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-05 16:47:45 +00:00
Ben Wagner
68efb2122d Clarify ownership of typefaces in implementation.
This converts a number of ownership semantics by using sk_sp and
unique_ptr instead of comments.

Change-Id: I4c584a5a8ea54fd22a4d23deddb5ce844f883117
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197206
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-03-05 16:20:45 +00:00
Ethan Nicholas
a70693b234 Add support for runtime color filters written in SkSL.
Bug: skia:
Change-Id: I9b930e81cff1c656908125dcf900279f73570204
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/195581
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-05 16:03:25 +00:00
Florin Malita
6041d315c7 Reland "SkMixerColorFilter GPU impl"
This reverts commit c2949ec67b.

Reason for revert: not related to crossfade

Original change's description:
> Revert "SkMixerColorFilter GPU impl"
> 
> This reverts commit e80f7eb9d6.
> 
> Reason for revert: break crossfade in chrome roll?
> 
> Original change's description:
> > SkMixerColorFilter GPU impl
> > 
> > Bug: skia:
> > Change-Id: Ia1e25e0c99737d9720c17f92f0d76a1cb7897ea8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/193163
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,ethannicholas@google.com,fmalita@chromium.org,reed@google.com
> 
> Change-Id: Ib9464fcabc649b95ba131146690d6208af728436
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197760
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=bsalomon@google.com,ethannicholas@google.com,fmalita@chromium.org,reed@google.com

Change-Id: Ie96e80e153aeab16c4ea35d5f1350372060228aa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197763
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-03-05 15:03:34 +00:00
Mike Reed
c2949ec67b Revert "SkMixerColorFilter GPU impl"
This reverts commit e80f7eb9d6.

Reason for revert: break crossfade in chrome roll?

Original change's description:
> SkMixerColorFilter GPU impl
> 
> Bug: skia:
> Change-Id: Ia1e25e0c99737d9720c17f92f0d76a1cb7897ea8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/193163
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,ethannicholas@google.com,fmalita@chromium.org,reed@google.com

Change-Id: Ib9464fcabc649b95ba131146690d6208af728436
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197760
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-03-05 14:45:08 +00:00
Mike Reed
c9273997fd Reland "check if we can use legacy blits"
This reverts commit 2b28b1c12d.

Reason for revert: hmmm, maybe not

Original change's description:
> Revert "check if we can use legacy blits"
> 
> This reverts commit 5539390c53.
> 
> Reason for revert: broke chrome roll?
> 
> Original change's description:
> > check if we can use legacy blits
> > 
> > depends on https://skia-review.googlesource.com/c/skia/+/196647
> > 
> > Bug: skia:
> > Change-Id: I85ea7aac34558838d120c2c02abaaeebd77d8b8a
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/196651
> > Reviewed-by: Mike Klein <mtklein@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> 
> TBR=mtklein@google.com,brianosman@google.com,reed@google.com
> 
> Change-Id: Ib05f310e428145ffb79c27a077c8c31ef937487e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197658
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=mtklein@google.com,brianosman@google.com,reed@google.com

Change-Id: I14180cd0025a33a3c9c3cd8a1652e4a6cf8be141
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197659
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-03-05 14:42:56 +00:00
Mike Reed
2b28b1c12d Revert "check if we can use legacy blits"
This reverts commit 5539390c53.

Reason for revert: broke chrome roll?

Original change's description:
> check if we can use legacy blits
> 
> depends on https://skia-review.googlesource.com/c/skia/+/196647
> 
> Bug: skia:
> Change-Id: I85ea7aac34558838d120c2c02abaaeebd77d8b8a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/196651
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=mtklein@google.com,brianosman@google.com,reed@google.com

Change-Id: Ib05f310e428145ffb79c27a077c8c31ef937487e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197658
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-03-05 14:40:05 +00:00
Brian Osman
fbe9fa73f5 Remove dithering during SkConvertPixels
Now that https://chromium-review.googlesource.com/c/chromium/src/+/1495208
has landed, this is safe to land.

Bug: b/124403051 skia:8787
Change-Id: I087cd2313343229176a1814c2097dbe8f77620cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/195886
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-03-05 14:23:22 +00:00
Jim Van Verth
6e8174e957 Fix issue with offsetting polygon by 0 distance.
Need to output matching indices as well.

Bug: skia:13417, chromium:937412
Change-Id: I251a70eb07fda8b3a257d9f57ebdd9f20ad01b5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197160
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-03-05 14:06:02 +00:00
Brian Salomon
1c1c666382 Default implementation of onSetRelease() on GrSurface
Change-Id: I96ca2a8372d0748b56d5048ea294d7e2be80d22a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197040
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-03-05 13:24:52 +00:00
Brian Salomon
b2c5dae65d Simplify promise image lazy instantiation callbacks.
Now that we never re-fulfill a promise image we no longer need to deinstantiate
promise image proxies. They now can use kSingleUse callback semantics.

This was the only usage of the kDeinstantiate lazy callback type so it is
removed. The DeinstantiateProxyTracker is also no longer required and is
removed.

The GrTexture idle callback mechanism now uses GrReleaseProcHelper, which has
been extended to support chaining multiple callbacks together and an abandon()
method that aborts calling the callback in the destructor. It has been renamed
GrRefCntedCallback to reflect its more general usage.

Bug: skia:8800
Change-Id: I857c9eec57fdf706631a266ec8bea682d6657a7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/196500
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-03-05 13:18:22 +00:00
Robert Phillips
920d488d5f Lay some groundwork for depowering SkGpuDevice's and SkImage_GpuBase's context pointer
In future Ganesh these classes will, respectively, have a RecordingContext and an ImageContext.

Change-Id: I69ced004a2edae5c410e9c00c2de6c0246699caa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/197167
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-03-05 13:14:32 +00:00