Commit Graph

6917 Commits

Author SHA1 Message Date
Mike Klein
771633190e print SKVM test failures
Can sometimes be hard to know what's going on
on the bots without a little bit more debug help.

Change-Id: Ie556a8de88349170e9d9e44c16098223442838a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218316
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-04 20:33:42 +00:00
Robert Phillips
4bdd36f625 Make color initialization version of createBackendTexture public
Mechanical.

Change-Id: I48be78a12684fc5243ee509e391984daa190fb7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218182
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-04 20:12:22 +00:00
Michael Ludwig
d17e05aeda Extract GrQuadList into separate header
Change-Id: I152ea5a40c4cc65ef5250ca575622a25cf6d1d2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216603
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-04 18:08:06 +00:00
Mike Klein
7b7077cc36 centralize test/bench SkVM builders
Eliminate the duplicate functionality,
and better testing for the bench builders.

Change-Id: If20e52107738903f854aec431416e573d7a7d640
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218041
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-04 16:55:59 +00:00
Robert Phillips
806267973f Switch all internel uses of GrContext::createBackendTexture over to initialized versions
For Skia's testing we always want an initialized backend texture. Except for the
BackendAllocationTests of course.

Change-Id: I47b5e4c9845b3f58ebad5ba052780a69d6cd6954
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216348
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-04 14:42:27 +00:00
Michael Ludwig
663afe501a Move GrPathUtils, GrRect, and GrShape into src/gpu/geometry/
Change-Id: I864d3c2452f3affdc744bf8b11ed3b3e37d6d922
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216602
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-06-04 13:36:05 +00:00
Mike Klein
267f50773c streamline SkVM test rebaselining
- keep expectations in resources/
  - overwrite automatically if needed
    so we can see the diff in Git

Change-Id: I2486b127ebcc7f40332fd0462e38b1af04d3e32b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218038
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-03 22:24:50 +00:00
Mike Klein
081bf6667d best guess for -MSRTC bot
Change-Id: I5aa5f789180b9caba70952cc60a2e9bbcf3b5a97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217983
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-06-03 20:44:29 +00:00
Robert Phillips
ef032cd9bf Disable RGBA_F32 mipmap testing for all of openGL ES
This bug also appears to occur on Adreno and PowerVR HW.

Bug: skia:9141
Change-Id: I75a6e71ff76ee6fa6f4e1c1ba9307e9fdbb967e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217996
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-06-03 20:20:54 +00:00
Mike Klein
68c50d015b sketch an skvm
With all the thinking around a stack-based interpreter,
I figured I'd sketch out some ideas for a register VM too.

I kind of have the hunch that this is the direction that
will actually let us replace large amounts of Skia's CPU
backend with an efficient interpreter or JIT.

Change-Id: Ia2b5ba4a3fc27556f5b6ba95cd1ace46d3217403
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216665
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-03 19:53:48 +00:00
Robert Phillips
27eb5252e0 Expand testing of color initialized backend textures to include mip levels
Bug: skia:9141
Change-Id: Ie32bc5db357907ff65045b25d5d06d0ea47b94bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217456
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-06-03 18:09:51 +00:00
Herb Derby
d249e8c95d One ShouldDrawAsPath to rule them all!
In addition, inline all the small functions from
SkFontPriv.cpp.

Change-Id: I9d642aa194a3fc4d7eb451c89314892f591c5d81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217865
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-06-03 17:30:18 +00:00
Stephen White
b67b2354cf GrTessellator: always rewind to edge top when splitting.
In some cases, a split edge may go out-of-order with a neighbouring edge
which has already been removed from the active edge list.

The only way to be sure is to always rewind to the edge top.
This may have performance implications for paths with many (hundreds) of
self-intersections. We'll have to watch the bots carefully.

Bug: 966274, 966364.
Change-Id: I5a1b7abe9baa7fc279cbf7d1dfa258dcdaa35f11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217637
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-06-03 16:27:01 +00:00
Michael Ludwig
fd4f4df3ea Move GrQuad to src/gpu/geometry folder
Change-Id: I3d1b8e8268c2cd0d1ceec93c847069494b9aa965
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216601
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-31 19:56:59 +00:00
Robert Phillips
bd1ef686cb Implement color-based backend texture creation for Vulkan
Change-Id: I01db1b81712096069386b2497da97c2bbb0a05d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216610
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-31 17:56:23 +00:00
Robert Phillips
8043f32f67 Clean update ETC1 data utilities (take 2)
Change-Id: Idb84867cf1a701bd2f0ffff863fd78c3caf0739e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217376
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-31 13:44:32 +00:00
Ben Wagner
e8db325168 Add trivial implemenations of shaper run iterators.
Change-Id: I71f9cf2971cdb44ae2d189e29afc2ab330750dcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216780
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-05-30 13:19:28 +00:00
Mike Reed
69aaee0ff9 Revert "Compare pixels for TypefaceWithNoPaths test"
This reverts commit 405735228f.

Reason for revert: failing on android bots

Original change's description:
> Compare pixels for TypefaceWithNoPaths test
> 
> Change-Id: I786b741462ca2b68b43e5f3443671c4a7e2f801f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216614
> Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=herb@google.com,khushalsagar@chromium.org

Change-Id: Ib958c1b6c8893e100743d827aa50d5273d2a4cd6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216861
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-05-30 11:40:59 +00:00
Brian Osman
5bdf525b9c Fix divide by zero in interpreter test
Change-Id: I43f8663b70aaa7c0a006f61b1194475fc11e0846
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216692
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-05-29 21:30:06 +00:00
Greg Daniel
b3f82dddfc Reland "Remove call to copy in GrcontextPriv read/write pixel calls."
This reverts commit 1013ecfb34.

Reason for revert: relanding with fix

Original change's description:
> Revert "Remove call to copy in GrcontextPriv read/write pixel calls."
>
> This reverts commit d0d66fb8be.
>
> Reason for revert: crashing on readpixels on some android bots
>
> Original change's description:
> > Remove call to copy in GrcontextPriv read/write pixel calls.
> >
> > Instead we just directly do all those copies as draws.
> >
> > Change-Id: I0cd9dfc6f96e35fbbc9c153a28a08eebf1d7b77f
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216356
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: I2b39564e0b20cf83e21744c91ee8ddb9d988ab22
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216608
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: Ic5a8d453efbfe38cd6cb1a95c504b10ef8a9cf22
No-Presubmit: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216615
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-05-29 20:32:32 +00:00
Brian Osman
909231c8de Interpreter: Matrix/Vector multiplication
Change-Id: I3dc5e5be1cf12c581cce3854d0db7e73db6e1fd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216681
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-05-29 20:32:31 +00:00
Brian Osman
1e855b22b7 Interpreter: Support component-wise ops for matrices
The linear algebra cases are more complex, coming in separate CL.

Change-Id: I5bbc25a126b61eee6f5b9775ab142e103c00f837
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216612
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-29 20:24:02 +00:00
Herb Derby
405735228f Compare pixels for TypefaceWithNoPaths test
Change-Id: I786b741462ca2b68b43e5f3443671c4a7e2f801f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216614
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-29 19:37:51 +00:00
Michael Ludwig
aa1b6b36a4 Make stencilRect() in GrRTCPriv more flexible.
All GrFillRectOps in core code go through a GrRTC call.

Also adds a utility constructor for non-AA rects since this simplifies clears
and tests/GMs that called GrFillRectOp directly. This helps preserve
readability without forcing them to go through the full rect drawing pipeline.

Change-Id: I6694c1aded3b89d773a897c483f7f2a51b06e6e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215089
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-29 19:30:31 +00:00
Brian Osman
16e6fd53a1 Interpreter: Fix vector/matrix equality and inequality
Need to compare all elements, then fold the result to a single bool.

Change-Id: I0ebfaa9d518f29a782701246ada247cb55c01c2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216607
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-29 17:42:58 +00:00
Greg Daniel
1013ecfb34 Revert "Remove call to copy in GrcontextPriv read/write pixel calls."
This reverts commit d0d66fb8be.

Reason for revert: crashing on readpixels on some android bots

Original change's description:
> Remove call to copy in GrcontextPriv read/write pixel calls.
> 
> Instead we just directly do all those copies as draws.
> 
> Change-Id: I0cd9dfc6f96e35fbbc9c153a28a08eebf1d7b77f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216356
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: I2b39564e0b20cf83e21744c91ee8ddb9d988ab22
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216608
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-05-29 16:17:34 +00:00
Stephen White
8a3c059796 GrTessellator: fix event creation for dead boundary edges.
In some cases, an overlap boundary edge can be nulled out by the creation
of a skeleton edge. In that case, we should avoid trying to create
parallel edge events from that dead edge.

This required making the tessellator verb maximum verb count modifiable
at runtime for testing, since the test case has more than 10 vertices.

Also added more logging.

BUG: 966696
Change-Id: I429735999f6297655311485bc68d732b1c48bfce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216284
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-29 15:51:25 +00:00
Greg Daniel
d0d66fb8be Remove call to copy in GrcontextPriv read/write pixel calls.
Instead we just directly do all those copies as draws.

Change-Id: I0cd9dfc6f96e35fbbc9c153a28a08eebf1d7b77f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216356
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-29 15:13:25 +00:00
Brian Osman
29e013deb4 Interpreter: Fix construction of Matrices
Per GLSL, constructing a matrix from a scalar produces a matrix
with the scalar value along the diagonal, and zero elsewhere.
Constructing a matrix from another matrix copies the overlapping
values, and fills in the remainder with the identity matrix.

Doing either of these with existing opcodes was going to be quite
verbose and tricky, so I just made new opcodes.

I've also got some (currently disabled) test cases for other
matrix behavior, all of which fail in various ways today.

Change-Id: Ia86a183395f1ac7e2f23ee1d6bb4af461f5ba93a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215823
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-05-29 13:03:02 +00:00
Chris Dalton
7eb5c0fd8e Add "GrMipMapped" parameter to visitProxies
This will allow us to detect textures that need their mipmap levels
regenerated, and resolve them before executing the command buffer.

Bug: skia:
Change-Id: I65a1cd2b2d5ba2247d1c4a613ce9ba85b8d02377
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215142
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-05-24 21:28:11 +00:00
Greg Daniel
f8e60e4f4e Fix VkhardwareBufferTest to check for egl native fence extension.
Bug: skia:9125
Change-Id: I4f95f7a9af87c2d8bccc4825fbc639b5ad2e0594
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215833
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-24 19:08:24 +00:00
Ethan Nicholas
ae9633b352 add SkSL support for mix, cross, and dot
Bug: skia:
Change-Id: Ic6c16f363c5f2aedaf1aee9b3b8ee23e37ea24e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215448
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-24 17:17:27 +00:00
Brian Salomon
aad8315aeb Reland "Allow swapping out of GrBackendTexture used by SkSurface"
This reverts commit f73b8db50b.

Reason for revert: Fixed SK_GL issue

Original change's description:
> Revert "Allow swapping out of GrBackendTexture used by SkSurface"
>
> This reverts commit 9456f7aba5.
>
> Reason for revert: Breaking layout tests
>
> Original change's description:
> > Allow swapping out of GrBackendTexture used by SkSurface
> >
> > Change-Id: I67f26efaee87536f3faf51ca164bf003013c7c8a
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215428
> > 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: I0ff5e63d47cd3e536f9fe656503d74965ce6dbfd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215822
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ie87d84ac4c08d67bcd276330f1af087bc532aad2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215825
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-05-24 15:20:01 +00:00
Brian Salomon
f73b8db50b Revert "Allow swapping out of GrBackendTexture used by SkSurface"
This reverts commit 9456f7aba5.

Reason for revert: Breaking layout tests

Original change's description:
> Allow swapping out of GrBackendTexture used by SkSurface
> 
> Change-Id: I67f26efaee87536f3faf51ca164bf003013c7c8a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215428
> 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: I0ff5e63d47cd3e536f9fe656503d74965ce6dbfd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215822
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-05-24 14:01:23 +00:00
Brian Osman
07c117b6f8 Support larger compound types in the interpreter
Field access and array indexing are supported, including
dynamic indices. Larger types (> 4 slots) can be used as
lvalues, rvalues, etc.

Change-Id: I9bb4ed850be4259c05c8952c6c0a17b71f813772
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214443
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-05-23 20:19:30 +00:00
Ben Wagner
a541db4dca Add test of char to glyph round tripping.
This also tries to work around some surprising behavior on macOS, which
may cause attributing space glyphs to character 9 instead of 32.

This also updates the gdi character to glyph mapping for non BMP
characters on Windows 10. This forces all uniscribe script analysis to
simple to get just the default cmap mapping without shaping.

Change-Id: Id93a2de6de27ab61fbf034f5087e93e4c7e839ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215431
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-05-23 20:05:40 +00:00
Mike Reed
6a5f7e29a8 split RGB into YUV planes
Change-Id: Ifd1d010068691e187561a25aff45d8b67ae62c39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215442
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-23 19:57:30 +00:00
Michael Ludwig
41f395d445 Reland "Track quad type on GrQuad directly"
This reverts commit 0dee19bacc.

Reason for revert: properly remember src quad type

Original change's description:
> Revert "Track quad type on GrQuad directly"
>
> This reverts commit 85766c4cd3.
>
> Reason for revert: red - so much red
>
> Original change's description:
> > Track quad type on GrQuad directly
> >
> > This makes subsequent higher-level drawing APIs more compact, and
> > shouldn't come with a performance hit. Everywhere we used to need
> > a GrPerspQuad, we'd also take the GrQuadType as a second argument.
> > The quad list types already deconstruct the quad so there's no
> > extra overhead in the op's memory usage.
> >
> > It also improves usability and decreases the likelihood that an
> > incorrect quad type is ever associated with the quad.
> >
> > Bug: skia:
> > Change-Id: Iba908fb133ad664744a5788a7088d90de0d3a1c2
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214820
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> TBR=bsalomon@google.com,robertphillips@google.com,michaelludwig@google.com
>
> Change-Id: Ied594673116fb901287b334fea41da3c71494fb1
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215607
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: Id5fb51218f2ace37086112caa2e43461d2f2b46b
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215640
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-05-23 18:51:11 +00:00
Brian Salomon
9456f7aba5 Allow swapping out of GrBackendTexture used by SkSurface
Change-Id: I67f26efaee87536f3faf51ca164bf003013c7c8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215428
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-23 18:38:28 +00:00
Robert Phillips
0dee19bacc Revert "Track quad type on GrQuad directly"
This reverts commit 85766c4cd3.

Reason for revert: red - so much red

Original change's description:
> Track quad type on GrQuad directly
> 
> This makes subsequent higher-level drawing APIs more compact, and
> shouldn't come with a performance hit. Everywhere we used to need
> a GrPerspQuad, we'd also take the GrQuadType as a second argument.
> The quad list types already deconstruct the quad so there's no
> extra overhead in the op's memory usage.
> 
> It also improves usability and decreases the likelihood that an
> incorrect quad type is ever associated with the quad.
> 
> Bug: skia:
> Change-Id: Iba908fb133ad664744a5788a7088d90de0d3a1c2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214820
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: Ied594673116fb901287b334fea41da3c71494fb1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215607
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-23 17:22:29 +00:00
Michael Ludwig
85766c4cd3 Track quad type on GrQuad directly
This makes subsequent higher-level drawing APIs more compact, and
shouldn't come with a performance hit. Everywhere we used to need
a GrPerspQuad, we'd also take the GrQuadType as a second argument.
The quad list types already deconstruct the quad so there's no
extra overhead in the op's memory usage.

It also improves usability and decreases the likelihood that an
incorrect quad type is ever associated with the quad.

Bug: skia:
Change-Id: Iba908fb133ad664744a5788a7088d90de0d3a1c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214820
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-05-23 16:52:55 +00:00
Robert Phillips
459b295bed Expand backend allocation API to allow an initialization color (only for GL to start)
Change-Id: I8e676e80f85f14c81c3cec8d766d0fdc7e25f426
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214445
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-23 15:11:04 +00:00
Brian Osman
c51d791ab9 Interpreter: Fix scalar -> vector constructors
We were never replicating scalar values when constructing vector types
from a single argument.

Change-Id: I5bdeeb91f5a10c151b18561de6c275f2db2898fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215526
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
2019-05-23 14:51:58 +00:00
Robert Phillips
08ba085253 Revert "De-GL-ify tests, gm and tools"
This reverts commit 89fb346d2b.

Reason for revert: Google3 failure

Original change's description:
> De-GL-ify tests, gm and tools
> 
> Change-Id: Id15a3a4b2c8b80b9dc7ecdab1cf1af1f9282f442
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215447
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: I155b033ac48d9fea15f66b22a090fb34f3bb81fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215521
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-22 20:23:56 +00:00
Robert Phillips
89fb346d2b De-GL-ify tests, gm and tools
Change-Id: Id15a3a4b2c8b80b9dc7ecdab1cf1af1f9282f442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215447
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-22 19:24:17 +00:00
Herb Derby
e384a1ed7f Reland "Make SkRemoteGlyphCache obey the prepareForDrawing contract"
This is a reland of 4e045301f1

Original change's description:
> Make SkRemoteGlyphCache obey the prepareForDrawing contract
>
> Change-Id: I3f781b8d72f460edb73c5b3d446676db19a4a935
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215090
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>

Change-Id: Ia1e8f09c8969a83cf9281936931b795efbaf5dc3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215168
Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
2019-05-22 16:47:19 +00:00
Chris Dalton
1706cbffc7 Remove VisitorType from GrOp::visitProxies
We are planning to start detecting mipmaps and MSAA resolves during
the "gather" step now, so all visits should behave the same at this
point. (And it appears there might not have been any GrOps that
actually changed their behavior based on this flag at the moment.)

Bug: skia:
Change-Id: I7a7a1c9c47cbe03683c42025bf6d0ecb32a57ba1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215145
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-05-22 15:13:50 +00:00
Robert Phillips
b04b694689 Make GrGLGpu::createBackendTexture parallel GrGLGpu::createTextureImpl
- in preparation for making createBackendTexture call createTextureImpl (just like GrGLGpu::onCreateTexture)

This is more pre-work for making https://skia-review.googlesource.com/c/skia/+/214445/ (Expand backend allocation API to allow an initialization color) reasonable to review.

Change-Id: I28a9ec889532fb72fd05bea4b1fdbb8935e5228b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215170
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-22 14:40:20 +00:00
Ethan Nicholas
82162eead5 SkSL interpreter intrinsics
Bug: skia:
Change-Id: I418fb05444f9c1ee076ace41a24072c4a5e7ef6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214691
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-21 20:38:20 +00:00
Herb Derby
201491e734 Revert "Make SkRemoteGlyphCache obey the prepareForDrawing contract"
This reverts commit 4e045301f1.

Reason for revert: Breaks unit test for Windows 10 all native fonts

Original change's description:
> Make SkRemoteGlyphCache obey the prepareForDrawing contract
> 
> Change-Id: I3f781b8d72f460edb73c5b3d446676db19a4a935
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215090
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>

TBR=herb@google.com,khushalsagar@chromium.org,khushalsagar@google.com

Change-Id: Ia4207104d97d1cc6d2cc058eb1e938f7239f1bb5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215166
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-21 20:23:31 +00:00