Commit Graph

47607 Commits

Author SHA1 Message Date
Kevin Lubick
9e2d384559 [canvaskit] Add support for DOMMatrix to some APIs
This does a head to head comparison for our JS-implemented
SkMatrix (DOMMatrix is tens of times slower) and adds support.

There are a few APIs (e.g. on Canvas) that don't yet support this.
This is because I want to experiment with the speed difference
between SimpleMatrix and emscripten's bindings and us just allocating
an array for the user on the WASM heap.

Change-Id: I47086dd6b40cbd522c6b85e5f9b1a7e819f54f9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280957
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-04-01 18:15:29 +00:00
Mike Reed
f3b9a30e81 Use infix syntax from skvm
Nothing should draw differently, just wanting to make the code
more readable.

Change-Id: I139f673cd7b28536e91cb2a3c793c86c5fb143cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280819
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-04-01 17:54:43 +00:00
Brian Salomon
46994e01c9 Dawn Debug Win10 test bot
Bug: skia:10096

Change-Id: I7c5a004b2bee76d7b3d262734b8cce32d1b5a098
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280818
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-01 17:39:13 +00:00
Robert Phillips
1576e4edf0 Non-substantive GPU text changes
This CL pulls some cleanup changes out of the omnibus GPU text CL. It:

Removes the unused GrTextStrike::removeID method
Removes the unused GrTextStrike::countGlyphs method
Removes the GrTextureStrike::fAtlasedGlyphs member variable
Adds an "int SkSpan::count() const" helper method

Change-Id: I88eefd929a5576093de58af85582567d8df5610a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280706
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-04-01 17:34:13 +00:00
Chris Dalton
4eaa5f2eb1 Disable baseInstance on ANGLE D3D
Bug: angleproject:4536
Change-Id: I8cc4d01f52aa3e4539e365b249053207496c5d5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280983
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-04-01 17:12:03 +00:00
Florin Malita
eeaabc4ba2 [skottie] Vector-encoded paths
Lottie shapes (paths) are expressed as a sequence of vertices, where
each vertex has a

  - position
  - in-tangent control point (relative to position)
  - out-tangent control point (relative to position)

A nice property of this representation, is that interpolation can be
performed independently on each scalar component.

This seems really close to what VectorAnimator is good at - so can we
shoe-horn shapes into vectors and drop the ShapeValue KeyframeAnimator
specialization?  Yes, we can!

To support the conversion, we need to abstract out two aspects of the
VectorKeyframeAnimator builder:

  - parsing the encoding length of a vector-representable object
  - parsing the actual encoding data of a vector-representable object

(For current/regular vector values, the encoding length is the same as
the json array length, and the encoding data is just the array of json
numbers.)

Shapes are encoded as a sequence of 6 floats per vertex, plus an
additional/trailing boolean maker for the "closed shape" property:

 [v0.posX, v0.posY, v0.inX, v0.inY, v0.outX, v0.outY, ..., closed_flag ]

(thus encoding_len == 6 * vertex_count + 1)

After we're done with parsing, animation/interpolation is handled
via existing VectorKeyframeAnimator - so we can remove
KeyframeAnimator<ShapeValue>.

Converting to SkPath is pretty much the same as for the previous
representation, except the input is now flattened.

Change-Id: I822797fceae561b52b709bf258163bbcc6b565fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280898
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-04-01 17:06:04 +00:00
Mike Klein
bfc09267bd roll GN
Update fetch-gn to fetch gn CIPD packages.
The hashing seemed unimportant... we could add it back.

Change-Id: I56be8a62d11be20100be41e0889d2088baefbcf0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280707
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-04-01 17:02:23 +00:00
Mike Klein
3809be4c56 add operator-> to Color and HSLA
Change-Id: I0819a89feea5576bd914f47fcb7a84c440ab46bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280982
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-01 16:47:23 +00:00
Chris Dalton
b60c8a2496 Reset GrOpsRenderPass active buffers during bindPipeline
Change-Id: I7b0162a796f49117d9fb3af043f8c53112edb69f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280804
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-04-01 16:36:13 +00:00
Jim Van Verth
f76cbfc75b Use bundle_resources_dir for iOS plist.
Makes new GN happy.

Change-Id: Id87e44d46772c6f147e0150f8c586fdd0a97504d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280904
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-04-01 16:34:33 +00:00
Jim Van Verth
9aa9a683d3 Implement local version of gr_cp and use for GrD3DTextureResourceInfo.
Bug: skia:9935
Change-Id: I4c2d70f69e30f78caca0f49629880565f178f495
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280609
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-04-01 16:06:17 +00:00
skia-autoroll
763703c64d Roll ../src f43e7c4d79ad..99264d128679 (445 commits)
f43e7c4d79..99264d1286


Created with:
  gclient setdep -r ../src@99264d1286

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC michaelludwig@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: michaelludwig@google.com
Change-Id: I3b0ba77662f744ef493a763381ea5f44fb900633
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280861
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-01 16:01:13 +00:00
skia-autoroll
679004863c Roll third_party/externals/angle2 05fa1a99914a..7d8c2f2e3322 (12 commits)
05fa1a9991..7d8c2f2e33

git log 05fa1a99914a..7d8c2f2e3322 --date=short --first-parent --format='%ad %ae %s'
2020-04-01 ynovikov@chromium.org Hide SwiftShader OS Window in dEQP and end2end tests
2020-04-01 ynovikov@chromium.org Skip SwANGLE GLES31 tests which flakily crash with Win 32-bit Subzero
2020-04-01 cclao@google.com Vulkan: Avoid renderpass break for occlusion query
2020-03-31 jonahr@google.com Split EGL_CHROMIUM_sync_control into EGL_ANGLE_sync_control_rate
2020-03-31 kbr@chromium.org Apply limitMaxMSAASamplesTo4 workaround to macOS.
2020-03-31 cnorthrop@google.com Capture/Replay: Disable binary formats when FrameCapture is enabled
2020-03-31 jmadill@chromium.org Vulkan: Observe staging buffer changes in TextureVk.
2020-03-31 ancheng.qiao@arm.com Vulkan: Remove swiftshader mipmap3d test skip
2020-03-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 344bd0889ac9..e157435c1e77 (3 commits)
2020-03-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src bec7b6e29260..d712a6b03b9e (4 commits)
2020-03-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 1c29477aa06e..5cf1e9a31c90 (6 commits)
2020-03-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src b0c27ce32864..ba07fa0be82c (1 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@7d8c2f2e3322

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC michaelludwig@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: michaelludwig@google.com
Change-Id: I8ac3bf882fd5f20bb1013f450e27132674879931
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280862
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-01 16:01:12 +00:00
Brian Osman
587b091d03 Stop including SkVertices.h from SkCanvas.h
Change-Id: Ie9026e49719ddca5d4da24c84df32afcc6d7a603
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280902
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-04-01 15:09:37 +00:00
Brian Salomon
e8d2080a34 Revert x2 "Assert that all GrCaps colortype/format -> swizzle queries are legal."
This reverts commit b16f30bb92.

Bug: chromium:1066850

Change-Id: I57e233d370a7248867f709d52012726d19959379
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280900
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2020-04-01 13:54:04 +00:00
Mike Reed
28fe2c5175 remove unused flag
Change-Id: I4ab6c7eb846336e09505fc850d7e8665c7179a25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280879
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-01 13:05:02 +00:00
Mike Reed
0f5e7581a0 can we remove these entirely?
Change-Id: I3dbf9c25e6e0025cc1686789a089420ebce72bbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280191
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-01 12:13:54 +00:00
Brian Osman
7a3358c80b Really fix SkVerticesPriv on MSVC 2017
Change-Id: Ifacd00d6cfff3edbac2781ec340f294d42ab2977
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280816
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-31 22:57:27 +00:00
Michael Ludwig
7800453ed2 Revert "Use glDraw.*BaseInstance calls to avoid deferred buffer binding"
This reverts commit e8c963d474.

Reason for revert: assert failures: https://logs.chromium.org/logs/skia/4b4b7fcb2ff3fe11/+/steps/dm/0/stdout

Original change's description:
> Use glDraw.*BaseInstance calls to avoid deferred buffer binding
> 
> Change-Id: I968dab317673051acc65f87ea76a0d657d89b3d2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279538
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ic760a56ca9d112e924baf7e833adb09b371928b0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280817
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-03-31 22:34:17 +00:00
Ben Wagner
507e486219 Revert "Enable deprecated-copy-dtor warning."
This reverts commit e990fcc4b0.

Reason for revert: Build-Win-Clang-x86_64-Release-Shared

Original change's description:
> Enable deprecated-copy-dtor warning.
> 
> In C++11 a user declared destructor still requires the compiler to
> implicitly default the copy constructor and copy assignment operator,
> but this is deprecated. Note that a user declared destructor suppresses
> the move constructor and move assignment operator; a user declared
> destructor exists if any '~Foo' method declaration appears inside
> 'class Foo' (even if defaulted); if the copy and move operations are the
> same then copy operations that take 'const Foo&' will do fine double
> duty as move operations.
> 
> Clang seems to have an issue with this warning, in that it does not
> appear to distinguish between compiler defaulted and user defaulted
> destructors. As a result, it does not always warn when it should.
> There may yet be places in the code where a move operation is desired
> but may be suppressed because the implicitly defaulted  moves are not
> declared because a destructor has been declared.
> 
> This wraps dawn and shaderc configs in 'third_party' so that their
> headers will be included through '-isystem' in order to avoid the
> warnings generated by including their headers.
> 
> Change-Id: I681524cd890d86305aa99b6b765a52113b4dfa4b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280406
> Reviewed-by: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

TBR=mtklein@google.com,bsalomon@google.com,bungeman@google.com

Change-Id: Icd6a2487637d21fcf7c4c7ab7cba7a8adfda5afd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280836
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-03-31 22:32:07 +00:00
Ben Wagner
e990fcc4b0 Enable deprecated-copy-dtor warning.
In C++11 a user declared destructor still requires the compiler to
implicitly default the copy constructor and copy assignment operator,
but this is deprecated. Note that a user declared destructor suppresses
the move constructor and move assignment operator; a user declared
destructor exists if any '~Foo' method declaration appears inside
'class Foo' (even if defaulted); if the copy and move operations are the
same then copy operations that take 'const Foo&' will do fine double
duty as move operations.

Clang seems to have an issue with this warning, in that it does not
appear to distinguish between compiler defaulted and user defaulted
destructors. As a result, it does not always warn when it should.
There may yet be places in the code where a move operation is desired
but may be suppressed because the implicitly defaulted  moves are not
declared because a destructor has been declared.

This wraps dawn and shaderc configs in 'third_party' so that their
headers will be included through '-isystem' in order to avoid the
warnings generated by including their headers.

Change-Id: I681524cd890d86305aa99b6b765a52113b4dfa4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280406
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-03-31 22:15:07 +00:00
Brian Salomon
982f546cc1 Rename outputSwizzle->writeSwizzle.
It is also used for writes to surfaces other than fragment shader
output. e.g. clears.

Change-Id: Id1eb79be6d1a8aed936456bffa59dee32661cec8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280344
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-31 21:50:38 +00:00
Chris Dalton
e8c963d474 Use glDraw.*BaseInstance calls to avoid deferred buffer binding
Change-Id: I968dab317673051acc65f87ea76a0d657d89b3d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279538
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-03-31 21:09:57 +00:00
Brian Osman
2a93452be5 Fix SkVerticesPriv on MSVC 2017
Change-Id: I1ce2d98de0f3640ae9ccbae5b2a601bf70a35423
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280756
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-03-31 21:06:07 +00:00
Ben Wagner
9d0e036eed Allow CFDictionaryCreateMutable to grow in create_exact_copy.
This dictionary previously only ever had one entry and so was created
that way. It may now want two entries, but that won't work because the
dictionary was told to only expect one entry. It is documented that
adding more entries than initially specified results in undefined
behavior (zero means resize).

Change-Id: I6d74ddad240ad4a8e2d4b935f7e73e1674a1ff62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280736
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-03-31 20:54:08 +00:00
Brian Salomon
8a78e9cdc3 Don't require color type to wrap a texture/RT.
Change-Id: Ic6c0de262e13c3c3ea9e7777ccdd04f22ff6ae0a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280345
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-03-31 19:18:39 +00:00
Brian Osman
261e25f2bb Move SkDraw to use SkVerticesPriv, remove redundant private API
Change-Id: I84117c64177b263ed99638d055eda484a1959534
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280637
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
2020-03-31 19:12:39 +00:00
Jim Van Verth
8e75147214 Allow GrD3DTextureResourceInfo to include declared D3D12 types.
Changes the GrD3DTextureResourceInfo member in GrD3DBackendSurfaceInfo
to be a unique_ptr<> so we can use forward refs.

This will allow us to use a shared_ptr variant to manage the
ID3D12Resource on GrD3DResourceResourceInfo, without polluting
client files with Windows definitions. Clients can use GrD3DTypes.h
to get the full declarations, GrD3DTypesMinimal.h for only the forward
references.

Bug: skia:9935
Change-Id: I075a3fc608bf6767dae202efd8cbf06cdd4a9457
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280602
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-03-31 19:06:09 +00:00
Mike Klein
3b6a0ab182 small int->Val hunt
I tried making Val a strong enum class typedef
and found that to make code more awkward than it helped.

Here are a few ints I noticed that are really Vals,
i.e. an Instruction index in a program.

Change-Id: I0bcfe26a9ade8053a691ed30af72f8e510a92759
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280636
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-31 19:02:31 +00:00
Mike Klein
8b99b9e1d1 flatten skvm type nesting
I don't think nesting types in Builder does
anything but make us type Builder:: a lot.

Change-Id: Iaa66a7b5d71cb337f2774688f316e8aa196da55c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280572
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-31 18:32:57 +00:00
Herb Derby
adf9d21704 Update header list for spirv-tools
Change-Id: I92fd8dbdc5fc1f2a3e52c1fcda7b5740d8978219
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280608
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Sean Gilhuly <sgilhuly@chromium.org>
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-03-31 18:20:27 +00:00
Brian Salomon
b16f30bb92 Revert "Revert "Assert that all GrCaps colortype/format -> swizzle queries are legal.""
This reverts commit ef4d3794a2.

Fix for finding cached textures that were made with fallback color types.

Change-Id: Ic5b67801f9275f6a1cbe8373b8cce382f3cedfe7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280607
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-31 18:06:09 +00:00
Herb Derby
f20400e2a1 Introduce Liveness and Uses into existing scheduler
Liveness tracks all the live instructions in the instruction stream.
Uses maps this value to instructions that use it.

Uses is overkill for the current schedule, but will be needed for
spilling.

Change-Id: Id20b7b7a90901e156d323bb612c5908f91405967
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/277744
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-03-31 17:53:07 +00:00
Greg Daniel
0a335515bf Add rasterizer and blend state to d3d pipeline state.
Change-Id: Iad34a99622cc1f356827377de74b61f339968d61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280408
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-03-31 16:30:47 +00:00
Brian Osman
8cbedf9855 Improve SkVerticesPriv ergonomics
Rather than two separate (partially overlapping) ways of accessing the
private portions of SkVertices, use a single privileged helper class
(similar to GrContextPriv).

Change-Id: I76b14b63088658ed8726719cce126577e5a52078
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280601
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-03-31 16:10:07 +00:00
Robert Phillips
5fa68b4399 Reduce GrGlyph's functionality
The idea here is to move the mapping of GrGlyph to atlas location into the GrAtlasManager.

The only thing left in the GrGlyph will be the PackedGlyphID and the width/height.

Bug: 1056730
Change-Id: I6f85780eddbab701100599198b70edfed0c434dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279915
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-31 15:37:57 +00:00
Brian Salomon
469046c096 Revert "Revert "Remove GrCaps::isFormatTexturableAndUploadable""
This reverts commit 8176508cc6.

Replaces incorrect check for Read pixels support with Write check.

Change-Id: Idc80aaaa41ba35014339df450bb8b583fb6dab51
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280399
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-03-31 13:41:27 +00:00
Mike Reed
65d3ad9539 remove unused bitmap method
Change-Id: Iac50df8158f9cfd4adc751409e591d368c26f5a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280596
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-31 12:43:27 +00:00
Florin Malita
01f2ce0ba4 [skottie] Use a documenting alias for Animator::seek() return type
Change-Id: I46aeddf1e0739cfac9967e29192d542d6222c6ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280343
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2020-03-31 10:19:27 +00:00
skia-autoroll
63a4edd314 Roll third_party/externals/angle2 1b2dd6f92a6b..05fa1a99914a (10 commits)
1b2dd6f92a..05fa1a9991

git log 1b2dd6f92a6b..05fa1a99914a --date=short --first-parent --format='%ad %ae %s'
2020-03-31 ynovikov@chromium.org Skip test flaky on SwANGLE bots
2020-03-30 geofflang@chromium.org Update the active texture cache before changing the texture binding.
2020-03-30 sugoi@google.com Add support for NV_read_depth, NV_read_stencil and NV_depth_buffer_float2 extensions
2020-03-30 cwallez@chromium.org Revert "Enable blob cache when debugging"
2020-03-30 cnorthrop@google.com Vulkan: Expose extension for ETC1 usage with subimage updates
2020-03-30 courtneygo@google.com Enable blob cache when debugging
2020-03-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 55f01953d6e9..9a0f2d99fd5d (4 commits)
2020-03-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 02e15b249b12..1c29477aa06e (19 commits)
2020-03-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src cc481ef27631..b0c27ce32864 (2 commits)
2020-03-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 99508c1ce389..344bd0889ac9 (4 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@05fa1a99914a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC michaelludwig@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: michaelludwig@google.com
Change-Id: I8dfd9228f2d593ad6b165dec65e9610ed1c95b76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280540
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-31 04:48:25 +00:00
skia-autoroll
732f84d3e2 Roll third_party/externals/swiftshader 1c29477aa06e..5cf1e9a31c90 (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/1c29477aa06e..5cf1e9a31c90

git log 1c29477aa06e..5cf1e9a31c90 --date=short --first-parent --format='%ad %ae %s'
2020-03-30 capn@google.com Fix implicit narrowing cast
2020-03-30 capn@google.com Eliminate the legacy PowerVR SDK
2020-03-30 capn@google.com Integrate PowerVR OpenGL ES samples
2020-03-30 capn@google.com Fix completeness test of OpenGL ES immutable textures
2020-03-30 cwallez@google.com Revert "MetalSurface: set layer.device to a ref of the system default device."
2020-03-30 cwallez@cwallez-macbookpro3.roam.corp.google.com MetalSurface: set layer.device to a ref of the system default device.

Created with:
  gclient setdep -r third_party/externals/swiftshader@5cf1e9a31c90

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC michaelludwig@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: michaelludwig@google.com
Change-Id: I3dc5c3beb4de3846ac8cdb33bf8e37bbc6bb07af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280538
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-31 04:38:35 +00:00
skia-autoroll
25a88e75ea Roll ../src af1924a67aab..f43e7c4d79ad (411 commits)
af1924a67a..f43e7c4d79


Created with:
  gclient setdep -r ../src@f43e7c4d79

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC michaelludwig@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: michaelludwig@google.com
Change-Id: Ide4b70f3a79eb69931b28a268be4ed6977a25f85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280539
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-31 04:36:25 +00:00
Ben Wagner
14ba58ff01 Add GrTAllocator::push_back(T&&)
Allow push_back to take an rvalue to move into the allocator, which has
the nice side effect of making the test for it a bit better.

Change-Id: I7e313cf75c1ad65fbf765b10c4717672063b5570
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280412
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-03-30 22:37:25 +00:00
Michael Ludwig
dd205451a1 Declare SkString in GrContext
Fix flutter/mac bot builds.

Change-Id: I522f3ce52c01900b3f4e0007ace84975796c0dd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280411
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-03-30 21:49:34 +00:00
Mike Reed
853c15cdaa remove unused SkLightingShader
Change-Id: I60a3569b47b599b710c0f3a9522241748f15360d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280409
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-30 20:55:34 +00:00
Brian Osman
01e6d17fe8 Stop including SkCanvas.h from GrTypesPriv.h
It was too easy to get into circular include chains. Added static
asserts to ensure we keep our quad AA flags in sync. Also, IWYU.

Change-Id: I01aefa264aa56420ab5a46a8ecd9e63c021c79ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280405
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-03-30 20:43:34 +00:00
Jim Van Verth
68ccec5880 Fix d3d debug clang build
Bug: skia:9935
Change-Id: Ic5f745f404373fa80303c95004fe4744c6bf292b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280407
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-03-30 20:41:34 +00:00
Greg Daniel
6e2af5c326 Remove alpha versions of constant blend coeffs.
Change-Id: Iccff036e59f76f7d9651d7fd6ec005d329e3b593
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280349
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-03-30 19:42:14 +00:00
Brian Salomon
ef4d3794a2 Revert "Assert that all GrCaps colortype/format -> swizzle queries are legal."
This reverts commit aa8bf26dc2.

Reason for revert: d3d9 failures

Original change's description:
> Assert that all GrCaps colortype/format -> swizzle queries are legal.
> 
> Otherwise they silently fall back to "rgba".
> 
> Change-Id: I9a4dcfc99ae52f156b6dfc367665eb0129b6b03d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280336
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I05940da3ae6d93e7a0b44790b8051ce3221e62d7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280403
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-30 19:41:13 +00:00
Jim Van Verth
aa90dada80 Fill in some D3D texture creation routines.
Adds some writepixels caps methods even though it's not implemented,
just to keep dm from crashing in unexpected places.

Bug: skia:9935
Change-Id: Ia76e5abd8a6c72987658af4f8369efe69f6b685c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279576
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-03-30 19:32:34 +00:00