Commit Graph

22670 Commits

Author SHA1 Message Date
Nigel Tao
b8ec7f194a Remove unused setAlphaAndRequiredFrame condition
Also add some commentary.

Bug: skia:
Change-Id: I164c4004802387981b76b28adc106ac0e65fc3ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/196820
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-03-26 13:47:22 +00:00
Kevin Lubick
5509dac4cc Reland "Generate GrGLInterface and GrGlAssembleInterface* from table"
This reverts commit 573cb87a07.

Reason for revert: Marking failing validation as optional and filing bug for follow up in Chrome.

Original change's description:
> Revert "Generate GrGLInterface and GrGlAssembleInterface* from table"
> 
> This reverts commit 93b3dce89d.
> 
> Revert "Delete old assembleInterface code"
> 
> This reverts commit 7b1cf20d47.
> 
> Revert "Delete in favor of autogenerated file"
> 
> This reverts commit 0223bd01d8.
> 
> Bug: skia:8474
> NOTRY:true
> Change-Id: I23a904347f9d6cefd1710a2de056c39d52f4b178
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203463
> Reviewed-by: Stan Iliev <stani@google.com>
> Commit-Queue: Stan Iliev <stani@google.com>

TBR=kjlubick@google.com,stani@google.com

Change-Id: I85adb302eb093fe9b7a4ec2c984323c191278a43
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8474
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203177
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-03-26 10:55:00 +00:00
Eric Karl
3f219cb76c Ensure we don't skip image memory barriers when queue change needed
Currently if we our GrVkImage is already in the desired read-only
layout, we'll skip issuing an image memory barrier when setImageLayout
is called.

This is normally fine, but if the image is on the incorrect queue
(typically hit with EXTERNAL queue transitions), we can't skip the
barrier, as we need to transition to our internal queue.

Bug: skia:8909
Change-Id: Ic5f68454eb7c4eaf62582e8bc2531d6477eb6e60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203183
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-03-25 19:23:19 +00:00
Leon Scroggins III
587edabd83 Only dereference imgcfg if non-null
Bug: oss-fuzz:8902
Change-Id: I2cd6fff4e27cc75f324f04888bcc36a42c912726
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203165
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Nigel Tao <nigeltao@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-03-25 19:11:29 +00:00
Kevin Lubick
573cb87a07 Revert "Generate GrGLInterface and GrGlAssembleInterface* from table"
This reverts commit 93b3dce89d.

Revert "Delete old assembleInterface code"

This reverts commit 7b1cf20d47.

Revert "Delete in favor of autogenerated file"

This reverts commit 0223bd01d8.

Bug: skia:8474
NOTRY:true
Change-Id: I23a904347f9d6cefd1710a2de056c39d52f4b178
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203463
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2019-03-25 19:03:29 +00:00
Brian Osman
f2ae6af713 Stop flooding perf with uninteresting GPU stats
We only care about two things: RT binds and shader compiles. RT binds
should be constant frame-to-frame, and shader compiles should always be
zero on frame 2, so just measure on frame 1.

Bug: skia:
Change-Id: I4defa0a6dc79413b375ec60b5024fa57e768b127
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203391
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-03-25 18:04:44 +00:00
Greg Daniel
a51e93c9a0 Fix up readPixels, writePixels, and copies when dealing with ycbcr textures in vulkan.
In general this makes sure we never directly read or write pixels or use one of
the vk image copy functions if we are dealing with a VkImage that requires a Ycbcr texture.

Bug: b/129037735
Change-Id: Ib3bbac8bcddb643942e08d2b2ae3381fda6758a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203388
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-03-25 17:49:28 +00:00
Kevin Lubick
0223bd01d8 Delete in favor of autogenerated file
Follow up to https://skia-review.googlesource.com/c/skia/+/203386

Change-Id: I841ecfc3b7babc6c6bf9925b3bf0988f6b057dab
Bug: skia:8474
NOTRY: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203390
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-03-25 17:32:18 +00:00
Brian Salomon
41f9c3cde9 Avoid special shader for opaque alpha when drawing simple rectangles.
It's a wasted shader compiler and also seems to cause a rendering bug
in Windows Chrome on ANGLE.

Bug: chromium:942565
Change-Id: I56373ac596d4d1548d6c86cda7127bf12190a0ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203383
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-25 16:51:58 +00:00
Kevin Lubick
7b1cf20d47 Delete old assembleInterface code
Was breaking Google3 roll

if https://skia.googlesource.com/skia.git/+/93b3dce89d0cada44fd619571d55a1c83b751f70
is reverted, this should also be reverted

Change-Id: Ic065d89a8a06f1752644e7b8453f50ae3934f68c
Bug: skia:8474
NOTRY: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203386
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
2019-03-25 16:08:48 +00:00
Brian Osman
42197c0bc6 Add support for 1010102 on ES2 devices with EXT_texture_type_2_10_10_10_REV
Bug: skia:8894
Change-Id: Id3dbc02894f87dcf81f65048945692e54cca38f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203059
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-03-25 15:32:18 +00:00
Michael Ludwig
2839884b79 Respect stroke width in Android rrect clip optimization
Bug: b/113636985
Change-Id: I80df664a077751e9ce5c735694e7ba283e93bcc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203170
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-03-25 15:09:59 +00:00
Kevin Lubick
93b3dce89d Generate GrGLInterface and GrGlAssembleInterface* from table
This CL creates a go program that takes a JSON file of
GPU functions and creates the assemble and validate code
based on that.

This approach will hopefully will lessen the need for
"shotgun surgery" anytime a new function/extensions is added.

Additionally, it should be easier to add a new standard
(concretely, WebGL) using this technique.

There are a few potential bugs/mismatches in the current
implementation that this has identified, for example,
Requiring GL 3.x for adding a feature, but only verifying
it is there on GL 4.x - I did not attempt to correct these
bugs in the old version, as we will hopefully be able to delete
that version and use the generated files.

Bug: skia:8474, skia:8378
Change-Id: Ie8144bbab8e03f2c815fd942fa9f7f91dedba101
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202137
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-25 15:03:48 +00:00
Brian Osman
7dcc616279 Reland "Simplify two more clients of proxy provider (mipped vs. non-mipped)"
Adds fix for mip-mapped requests on devices with no mip support.

This reverts commit ab4c138c0e.

Bug: skia:
Change-Id: I85350ae32081253448cbd2f636ea3044eb9df453
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203057
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-03-25 14:46:28 +00:00
Brian Osman
ddba4e646a SkBaseDevice::drawAtlas doesn't antialias either, so remove fallback
Also, fix the trace marker name.

Bug: skia:8903
Change-Id: Ibf43efbdf73e406482ed4442639e22aec1d93e9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203058
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-03-25 14:24:19 +00:00
Brian Osman
ab4c138c0e Revert "Simplify two more clients of proxy provider (mipped vs. non-mipped)"
This reverts commit 9f20ff6fdf.

Reason for revert: Regression in wacky_yuv_formats GMs (rows are missing?)

Original change's description:
> Simplify two more clients of proxy provider (mipped vs. non-mipped)
> 
> Bug: skia:
> Change-Id: Ic9a2e0e4afe96d916f9054cd7fbd66ee0147719e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203162
> Auto-Submit: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

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

Bug: skia:
Change-Id: If496ff168cc236207458eecd9c120f89b7fd6690
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203054
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-03-24 01:33:00 +00:00
Brian Osman
4d92b89454 Revert "Remove GrDrawAtlasOp"
This reverts commit 97d957d1db.

Reason for revert: Looking at perf, desktop GPUs get better, many mobile GPUs get worse.

Original change's description:
> Remove GrDrawAtlasOp
> 
> The base device turns drawAtlas into drawVertices, which ends
> up being *faster* (in my tests) than our specialized code.
> 
> It's certainly possible to write a custom version that's better,
> but for now, it seems better to just do this.
> 
> Bug: skia:
> Change-Id: I247f0c0a24fb21c8206f4e3ea9fecac85679ba73
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203163
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: Idfb3dd7d33a3905644aafdefc99e7814b08d7c7b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203053
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-03-24 00:53:33 +00:00
Brian Osman
97d957d1db Remove GrDrawAtlasOp
The base device turns drawAtlas into drawVertices, which ends
up being *faster* (in my tests) than our specialized code.

It's certainly possible to write a custom version that's better,
but for now, it seems better to just do this.

Bug: skia:
Change-Id: I247f0c0a24fb21c8206f4e3ea9fecac85679ba73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203163
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-03-23 23:11:00 +00:00
Hal Canary
25dd2c9fe9 SkPDF: runtime switch between subsetters
Bug: chromium:931719
Change-Id: I3199983d24a47b2b3921242a98ce83099ee869dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202956
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@skia.org>
2019-03-23 16:31:10 +00:00
Herb Derby
b1dbbc8509 Fix fallback problems for emoji
The remote glyph cache was not processing the fallbacks, because the
code was improperly gaurded against not having a processor.

Disable the test until I can figure out how to deal with GPU
variation.

Change-Id: I58faf5551a87c1df2f70cf10cbd5d1dee4cb89af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203173
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-03-23 16:16:10 +00:00
Adrienne Walker
ca81196d4c Prevent overflow in Deserialize::ensureAtLeast
Bug: chromium: 935118
Change-Id: I4c11a763d257f0c44bc75bf0369ba76454c06673
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203176
Commit-Queue: Adrienne Walker <enne@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Adrienne Walker <enne@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-22 21:48:39 +00:00
Jim Van Verth
a5b0b1eb5b Revert "Reland "Fix blurry edges on large ovals.""
This reverts commit 4dd7c1dae1.

Reason for revert: largeovals GM is busted on some configs
                   (Mali400MP2, Adreno405, ANGLE, e.g.)

Original change's description:
> Reland "Fix blurry edges on large ovals."
> 
> This is a reland of c7aed036c3
> 
> Changes the precision for the GrOvalOpFactory shaders to be float rather than half.
> In the medium-precision case, adds a scale factor to the shaders to ensure that the
> denominator of the distance calculation stays within range. If enough precision isn't
> available, falls back to a path renderer.
> 
> Original change's description:
> > Fix blurry edges on large ovals.
> >
> > Changes the precision for the GrOvalOpFactory shaders to be float rather than half. In the
> > low-precision case, it falls back to a path renderer for large ovals.
> >
> > Bug: b/110380864, skia:8873
> > Change-Id: I89e8dd067a2e0cab35b1bb515adaab4a2fb4f222
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201615
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> Bug: b/110380864, skia:8873
> Change-Id: Ic72d819f589ffebf9c5250bb4df4de22ab23f282
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202718
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

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

Change-Id: I3467da7e71a0f0dae4349f0f003b55c7db7dbb1d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/110380864, skia:8873
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203174
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-03-22 21:06:50 +00:00
Ethan Nicholas
5c46b72c86 fixed constructing matrices in SPIR-V when arguments cross column boundaries
Bug: skia:
Change-Id: I20550c0ebf2c4ee225552b66f41ad9dc886d5fc3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203161
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-03-22 20:35:29 +00:00
Brian Osman
9f20ff6fdf Simplify two more clients of proxy provider (mipped vs. non-mipped)
Bug: skia:
Change-Id: Ic9a2e0e4afe96d916f9054cd7fbd66ee0147719e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203162
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-22 20:13:49 +00:00
Jim Van Verth
4dd7c1dae1 Reland "Fix blurry edges on large ovals."
This is a reland of c7aed036c3

Changes the precision for the GrOvalOpFactory shaders to be float rather than half.
In the medium-precision case, adds a scale factor to the shaders to ensure that the
denominator of the distance calculation stays within range. If enough precision isn't
available, falls back to a path renderer.

Original change's description:
> Fix blurry edges on large ovals.
>
> Changes the precision for the GrOvalOpFactory shaders to be float rather than half. In the
> low-precision case, it falls back to a path renderer for large ovals.
>
> Bug: b/110380864, skia:8873
> Change-Id: I89e8dd067a2e0cab35b1bb515adaab4a2fb4f222
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201615
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: b/110380864, skia:8873
Change-Id: Ic72d819f589ffebf9c5250bb4df4de22ab23f282
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202718
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-03-22 19:10:49 +00:00
Brian Osman
de49665bee Fold together mippped and non-mippped bitmap to proxy functions
There are still several layers of redundancy and confusion, but this is
the first step to getting parallel/analogous functions to look and be
scoped similarly.

Bug: skia:
Change-Id: Ief5ecbd55335248a1fc04d66d0a95a8042b0fd28
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202958
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-22 18:39:33 +00:00
Brian Salomon
7609ac65a0 Revert "Revert "Use glTexStorage for non-MIP mapped textures.""
This reverts commit d18cf5f6d4.

Change-Id: I2b79cfb47cf6ed9d3f81db51865d6824456158f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202955
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-22 17:21:43 +00:00
Mike Klein
e5acd7547b delete DAA
Change-Id: I1fd8cba067c0063c6621641e8196e69fd5e31cec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203080
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-22 15:44:03 +00:00
Brian Salomon
d18cf5f6d4 Revert "Use glTexStorage for non-MIP mapped textures."
This reverts commit 4acd3591e7.

Reason for revert: broke command buffer bot

Original change's description:
> Use glTexStorage for non-MIP mapped textures.
> 
> We used to lazily add MIP levels to textures that originally only had
> a base level. However, we don't do that anymore.
> 
> Also, add workaround for BGRA+Intel Windows driver+ES.
> 
> 
> Change-Id: I595261d12608effed4c7d4d4e5777869969acf84
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202719
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ie91a31f8558564ddd45d63591bf0725c64faa514
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202949
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-22 14:01:31 +00:00
Brian Salomon
4acd3591e7 Use glTexStorage for non-MIP mapped textures.
We used to lazily add MIP levels to textures that originally only had
a base level. However, we don't do that anymore.

Also, add workaround for BGRA+Intel Windows driver+ES.


Change-Id: I595261d12608effed4c7d4d4e5777869969acf84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202719
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-22 13:15:20 +00:00
Chris Dalton
82eb9e75d1 Rename GrAAFillRRectOp to GrFillRectOp
Next up are changes to support non-aa and MSAA.

Bug: skia:
Change-Id: I944af201d92b1391f7937aabddf774e79fef8dc2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202920
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-03-21 21:19:29 +00:00
Brian Salomon
5ad6fd3160 Put SkImageInfo on SkImage to avoid cost of reconstructing for queries.
Previously calling SkImage::alphaType(), for example, woult call
the virtual SkImage_Base::onImageInfo() which would construct
and return a temporary SkImageInfo. This often meant ref-ing a
SkColorSpace.


Change-Id: I54975a6b20dea5bc84739068df0c81c022a12067
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202711
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-03-21 20:07:34 +00:00
Jim Van Verth
9445f8e0b4 Revert "Fix blurry edges on large ovals."
This reverts commit c7aed036c3.

Reason for revert: Breaking low precision bots

Original change's description:
> Fix blurry edges on large ovals.
> 
> Changes the precision for the GrOvalOpFactory shaders to be float rather than half. In the
> low-precision case, it falls back to a path renderer for large ovals.
> 
> Bug: b/110380864, skia:8873
> Change-Id: I89e8dd067a2e0cab35b1bb515adaab4a2fb4f222
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201615
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: Iccfcfda139625ff7a2efdb39ccdbc05227840052
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/110380864, skia:8873
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202717
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-03-21 18:50:55 +00:00
Brian Osman
e1e988d6be Add maksing to SkSL byte code generator to please MSVC's RTC
Bug: skia:
Change-Id: I5d4b8ce195b57e5dd08602cfe21a0d461628c527
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202712
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-21 18:46:04 +00:00
Ben Wagner
3e685ea164 Always draw emoji with GPU.
Remove some illogical code which prevents large font size requests for
color fonts from working, and add a large mask fallback when drawing
with masks and there are no paths available.

Change-Id: I3e8c1dfc124cd315278b42cfcfebb39fc32212b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202420
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-03-21 18:16:38 +00:00
Jim Van Verth
87966556a1 Check for null parameter to SkOffsetSimplePolygon
Bug: oss-fuzz:13550
Change-Id: I7ca06a44214290fe283b151f71d8f44a3ffbe225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202707
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-03-21 17:53:29 +00:00
Michael Ludwig
d9958f865c Use YUV effect in drawEdgeAAImageSet
Adds YUV planar image to the compositor_quads_image GM, confirmed
locally that it uses the effect instead of flattening the planes
into a single proxy (like before).

Bug: skia:
Change-Id: I0dea16bbaae34ae44cb1b51db9d2953231a6bf22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201619
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-21 17:43:28 +00:00
Brian Osman
f9666f5467 Remove SkColorSpaceXformCanvas, and supporting code:
- SkColorSpaceXformer
- makeColorSpace on SkShader, SkColorFilter,
  SkImageFilter, SkDrawLooper, and SkLights
- DM support and some bot configs

Bug: skia:8773
Change-Id: I16ef8f487de6c35329b3b0474c1d66d7fa0a6220
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202430
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-03-21 17:12:33 +00:00
Jim Van Verth
c7aed036c3 Fix blurry edges on large ovals.
Changes the precision for the GrOvalOpFactory shaders to be float rather than half. In the
low-precision case, it falls back to a path renderer for large ovals.

Bug: b/110380864, skia:8873
Change-Id: I89e8dd067a2e0cab35b1bb515adaab4a2fb4f222
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201615
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-21 17:10:13 +00:00
Mike Klein
b0b2c962f7 refactor for saner constness
Change-Id: I657ebb580c325f3cfdbf7dad7a0c1f0a118e3769
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202725
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-03-21 16:34:33 +00:00
Mike Klein
894328d1e3 update SkShader appendStages() fallback plan
This version makes these shaders draw differently, shading in sRGB then
transforming to dst, rather than transforming all inputs to dst then
shading.

There aren't many shaders that fall into this path (perlin noise and
lighting shader only?), and I think the legacy, sRGB, and even esRGB
paths should draw the same, so it may be we can kind of just slip this
through?

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I0860f9f43c5ed8962fb0fe9405c15e664232dde9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202724
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-21 16:04:02 +00:00
Mike Klein
d6ab77a2e2 restore .clang-format
Cq-Include-Trybots: skia.primary:Housekeeper-PerCommit-CheckGeneratedFiles
Change-Id: I93f928c35b2369c9e496d4e887e8500970bea2ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202359
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-03-21 15:52:32 +00:00
Ethan Nicholas
0e9401dafe Initial checkin of new SkSL interpreter.
Not quite feature complete yet, but at a point where it's worth checking
in.

Bug: skia:
Change-Id: I21141d30e8582a79e94450d84e56bacc067249e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201685
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-03-21 15:41:10 +00:00
Brian Salomon
c552eaf56a Avoid making new image snapshot in GPU->GPU SkSurface::draw()
Bug: chromium:943561
Change-Id: I4b5cd545fb31bbaaf7828a2a90a88a0bfb179c87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202400
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-03-21 13:49:39 +00:00
Robert Phillips
2dd1b4743d Add support for Y410 (i.e., 1010102) to wacky_yuv_formats
This is probably the last wacky YUV format that is easy for us to support.

Change-Id: Id9a4ba595f4e9893e9bd91ac937e08bf1d8559ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/177621
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-03-21 13:34:39 +00:00
Kevin Lubick
27ba7032be Add GN args for GL/GLES interface
Bug: skia:
Change-Id: I8445a6f3641aa43e7b18832c7c228b66dd321f2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201616
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2019-03-21 12:57:27 +00:00
Greg Daniel
44e69f9198 Reduce use of map buffers on ARM vulkan.
Bug: skia:
Change-Id: I8295038e1e3bcade615a594a796ae9065e9fbd68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202132
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-03-20 19:12:46 +00:00
Brian Osman
7e2c0614a2 Remove spurious ';'
Cq-Include-Trybots: skia.primary:Build-Debian9-Clang-arm-Debug-Chromebook_GLES
Change-Id: I4a8511b617a5b6e48e166e635c3067f8b684f0e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202135
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-03-20 18:28:25 +00:00
Mike Klein
0cffcbf97b de-Sk tools/font, and git clang-format
Change-Id: I0326eb9cc1e1e38b0fdc417567987a595f9021d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202310
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-20 17:36:52 +00:00
Ethan Nicholas
10e93b6c0b Revert "Revert "more relaxed precision decorations for SPIR-V output""
This reverts commit d15b908f94.

Bug: skia:
Change-Id: I514bd96fdeaaa81dc7310f901c156438303c09f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202129
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-03-20 15:28:45 +00:00