Commit Graph

45583 Commits

Author SHA1 Message Date
skia-autoroll
1f19aa99cd Roll ../src d02b0cb4d389..a25cc4cdcd47 (492 commits)
d02b0cb4d3..a25cc4cdcd


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

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 bsalomon@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: bsalomon@google.com
Change-Id: I4295c0e57efac950c5179ce611323fb60a148bcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258099
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-05 07:25:05 +00:00
skia-autoroll
57e05d8106 Roll third_party/externals/angle2 249cb200173f..5f857839b9ec (14 commits)
249cb20017..5f857839b9

git log 249cb200173f..5f857839b9ec --date=short --first-parent --format='%ad %ae %s'
2019-12-05 ianelliott@google.com Improve current multisampled renderbuffer/texture support
2019-12-04 syoussefi@chromium.org Remove build_apk_secondary_abi from gn files
2019-12-04 jmadill@chromium.org gn: Minor improvements.
2019-12-04 syoussefi@chromium.org Vulkan: Optimize unused uniform cleanup in glslang wrapper
2019-12-04 syoussefi@chromium.org Re-enable atomic counter tests on !windows
2019-12-04 jmadill@chromium.org Vulkan: Fold read access into write flags on buffer writes
2019-12-04 shrekshao@google.com Turn on fboRenderMipmap for D3D11
2019-12-04 courtneygo@google.com Split out core.compute_shader expectations
2019-12-04 courtneygo@google.com Add Compute Shared Memory Size Validation
2019-12-04 thomasanderson@chromium.org Expose GL_ARB_sync for GL
2019-12-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 4fde9b750992..e72b61c7c20d (1 commits)
2019-12-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader b64fbfec4dcd..bbd0694f9ab2 (3 commits)
2019-12-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 3ed4586044f2..e82a428605f6 (3 commits)
2019-12-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src a4af7676feb0..e58c080d4f02 (1 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@5f857839b9ec

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 bsalomon@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: bsalomon@google.com
Change-Id: Ie309f15e7769ab1b972b07b2779825291ed7ba35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258098
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-05 07:20:55 +00:00
Michael Ludwig
77eae2c7ae Revert "Specialize inset/outset/reset based on known quad type"
This reverts commit d83912bc81.

Reason for revert: Chrome+Android complains about mutable constant GrQuadUtils::TessellationHelper::kFunctionTables; maybe also layout test failures?

Original change's description:
> Specialize inset/outset/reset based on known quad type
> 
> Change-Id: I5ca35be216cf6e7d863f2d7638905a61a0b9ef00
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257392
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: Ibc3ec464c42ba8f3a16ac9c773700868400f3ed9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258116
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-12-05 03:56:30 +00:00
recipe-roller
0af32fdf5f Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/cc11b065c54bae31b125f8ee0431cf9a08b1fe4f Revert "[bot_update] Also bootstrap in the case that there are 0 pack files" (ehmaldonado@chromium.org)
  https://crrev.com/9212599f6aacbdbecd378814e63e236660ab42aa [recipes] replace the variable ${platform} with resolved-platform in test output (yiwzhang@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I36fddbd3b9a434fa522b31cafc882d0bc4ebbb15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258048
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-12-04 23:50:20 +00:00
recipe-roller
be7f1a6616 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/32a801b5dadfd40ef7999339559413408555ebdc [bot_update] Also bootstrap in the case that there are 0 pack files (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6e17ba1d5505e2e422d1b047588ca421b49720f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258004
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-12-04 22:59:10 +00:00
recipe-roller
8d18b00a95 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/a0b8c5dcf1890916119ed180ab936948ec62cba1 Don't fetch tags in presubmit (danakj@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie164f2a66a404ce5ee9256aed9dc621c832c43dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258040
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-12-04 22:28:50 +00:00
Michael Ludwig
adb12e7700 Reduce GrTextureOp size
Switches ViewCountPair to store a sk_sp<GrSurfaceProxy> instead of a
GrSurfaceProxyView. It applies the origin from the view at initialization
time and then no longer needs it. All ViewCountPairs have the same swizzle
so that is stored once at the op level instead of per entry.

Additionally, re-arranges the metadata of GrTextureOp to ensure that it
packs into an 8byte aligned field. After first switching to
GrSurfaceProxyView, the op went to 144 bytes, and each entry was 32 bytes.
After Greg's GrSwizzle shrinkage, the op went to 136 bytes and each entry
went to 24 bytes. This CL further reduces the top to 120 bytes and each
entry is 16 bytes.

Change-Id: I912864db8846affc32620f60cc7d1d17cf0654fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257919
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-12-04 21:51:50 +00:00
Michael Ludwig
d83912bc81 Specialize inset/outset/reset based on known quad type
Change-Id: I5ca35be216cf6e7d863f2d7638905a61a0b9ef00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257392
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-12-04 21:41:20 +00:00
Mike Klein
039368775c flip on a bunch of GCC warnings
I've landed fixes for most of these,
leaving -Wclass-memaccess as a TODO.

Bug: skia:9674
Change-Id: Ifb951bc66e022b48ff4b66e4555d3fe3c7ef5aaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257501
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-04 21:40:21 +00:00
Herb Derby
e74c77685d Specialize vertex size for GrTextBlob
The old code assumes a conservative size for vertices of 20 bytes,
but this only happens in perspective or strange DFT modes. This can
be reduced to 16 bytes in the non-perspective case a savings of 20%

Change-Id: Ife7e7cc4bd00798f173c5390c3100605908e6276
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257923
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-04 21:17:20 +00:00
Mike Klein
7a671982cd work around GCC 8 mips release bug?
This feels kind of bad, but at least it's just a unit test?

Change-Id: I18740f846680218a00add40eb2398876c4fd19be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258023
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-04 21:14:13 +00:00
Herb Derby
8c78ce67b5 Remove legacy CPU glyph drawing code
Change-Id: I96d0fc60d951876b44314c74a5fb4c9bed204741
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257997
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-12-04 21:07:41 +00:00
Herb Derby
e9f691d53c Make fInitialViewMatrix const in GrTextBlob
This is a big plumbing CL to pass the viewMatrix to the right places.

Change-Id: I6af67c6ba44c9c830ea52e8b50baafb88b40afc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257894
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-04 21:01:50 +00:00
Hal Canary
14629417cb experimental/skottie_ios: fix some objc errors
* Turns out that dealloc is unnecessary.  Some compilers
    give an error when it is there.

  * Use __bridge cast, since some compilers require it.

Cq-Include-Trybots: luci.skia.skia.primary:Build-Mac-Clang-arm64-Debug-iOS_Metal
Cq-Include-Trybots: luci.skia.skia.primary:Build-Mac-Clang-arm64-Release-iOS_Metal
Change-Id: I42d9ef16a5d6425c98a8a2b564bf4a06f26886f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257677
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-12-04 20:35:19 +00:00
Robert Phillips
1b3c267c4a Add helper functions to AAHairlineOp
In order to be able to expose AAHairlineOp's programInfos we'll need to be able allocate the GPs in a different arena.

Bug: skia:9455
Change-Id: I786318dc4bf18dbc245cb26bbc995649de9104d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257996
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-12-04 20:16:39 +00:00
Mike Reed
6344c29379 some cleanups for halfplanes
Plan is to next move the clipper into utils / SkCanvas itself

Change-Id: Ia79c5bc2750a3a2719f901d255890a8c43ef1b42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257916
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-04 18:27:17 +00:00
recipe-roller
67c0dcd894 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/0e60ecd30efa9a469b4bcc93006c253861a26164 [git-cl] Add graceful error handling to "git cl archive". (kmarshall@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia83885e1f99fc4ebaae22cf5f914f0d4206a8772
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257908
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-12-04 18:25:46 +00:00
Greg Daniel
1a5d2d590a Remove unneeded abandon/release check in GrGpuResource message processing.
Change-Id: Ib11405be82e8ff7fd1edcaca2f19c44cce2abbd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257889
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-12-04 18:11:16 +00:00
Brian Salomon
4e1066f248 Remove SkSize& SkSize::operator=(const SkISize&)
Having it means you cannot write:

SkSize size;
float x, y;
size = {x , y};

clang allows it but GCC does not, claiming it is ambiguous between the
implicitly generated
SkSize& SkSize::operator=(const SkSize&)
  and
SkSize& SkSize::operator=(const SkISize&)

clang gives the same error if the former is explicitly declared default.

Change-Id: I3b64436ef6aa669b3d87e7f37057c5dcb4add987
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257880
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-12-04 17:36:06 +00:00
Hal Canary
a06f9d0787 SkQP: model-creation improvements
- cut_release/find_commit: use cookies, handle errors.

  - tools/skqp/make_skqp_model.cpp: better error handling

Change-Id: I702e9a13d3a2123c30e3a870fcb942759cfc47c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257682
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-12-04 17:08:36 +00:00
Mike Klein
f78aa16af1 work around GCC false positive warning?
On 32-bit Release builds, GCC warns about this line in this test,

    ../../tests/SkRasterPipelineTest.cpp:225:40:
    error: ‘int __builtin_memcmp_eq(const void*, const void*, unsigned int)’
    reading 8 bytes from a region of size 0 [-Werror=stringop-overflow=]
                                 !memcmp(&data[j][0], &buffer[j][0], sizeof(buffer[j])));
                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I don't really see anything wrong, and I'm not really sure why it takes
offense here testing load_f16 and not in the very similar next chunk of
code testing load_af16.  Anyway, it's simple enough to write a loop.

Change-Id: Ie4f598328dd7109660b9ae97a5a27b386e833fd5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257869
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-12-04 17:07:46 +00:00
Greg Daniel
e1185589ff Handle failures in submission of vulkan command buffers.
Bug: skia:9603
Change-Id: Ia8e020e15361e4a535719958a7e4035888dde14f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257681
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-12-04 16:55:16 +00:00
Mike Klein
edc3bde2e7 replace SkIRect[1] with SkIRect
GCC 8 is still tripping on GrWindowRectangles for mips64el:

    ../SRC/skia/tests/WindowRectanglesTest.cpp:55:42:
    error: 'int __builtin_memcmp_eq(const void*, const void*, long unsigned int)'
    reading 112 bytes from a region of size 16 [-Werror=stringop-overflow=]
       REPORTER_ASSERT(reporter, !memcmp(B.data(), windowData,
                                         (GrWindowRectangles::kMaxWindows - 1) * sizeof(SkIRect)));

    ../SRC/skia/tests/WindowRectanglesTest.cpp:69:42:
    error: 'int __builtin_memcmp_eq(const void*, const void*, long unsigned int)'
    reading 128 bytes from a region of size 16 [-Werror=stringop-overflow=]
       REPORTER_ASSERT(reporter, !memcmp(B.data(), A.data(),
                                         GrWindowRectangles::kMaxWindows * sizeof(SkIRect)));

Both A and B are filled up to the kMaxWindows limit (8) at this point,
but GCC still clearly thinks .data() is returning the 16-byte
fLocalWindows SkIRect[1] array.

I was curious to see if removing the (currently pointless) array helps GCC
get the gist.  It doesn't, but I still kind of want to remove it.

Change-Id: I4ee9478b8c69061cb351d203d55749f68dcb939e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257873
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-12-04 16:46:36 +00:00
Brian Salomon
8a99a41116 Fix for 420/422 chroma subsampling of odd dimension images when
converting from YUV to RGB on GPU.

Change-Id: I872e1e85f3efccce7bf93d2f3d5f2a841b8a5b0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257680
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-12-04 16:32:40 +00:00
Mike Reed
270f7e22c5 Reland "remove legacy SkPath enum guards"
This reverts commit fdf7e08210.

Reason for revert: briano fixed flutter call-site

Original change's description:
> Revert "remove legacy SkPath enum guards"
> 
> This reverts commit 7fdceb9216.
> 
> Reason for revert: need more fixes in flutter (getFillType)
> 
> Original change's description:
> > remove legacy SkPath enum guards
> > 
> > Change-Id: I5874ac89b6dec5c050bc02df9df6849d2131df76
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257690
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> 
> TBR=reed@google.com
> 
> Change-Id: I7b65e51b53dc15739ddeb76d9b5fd18d956f4cfd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257879
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I0ff366d1e98cd9d581e0bf1041d1c859a88ffef6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257887
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-04 16:01:10 +00:00
Robert Phillips
9320905592 Add onPrePrepareDraws to GrFillRectOp
In DDL-mode, this pulls the tessellation of the GrFillRectOp's vertices forward to record time.

Bug: skia:9601
Change-Id: I1a505845cc20f795d6f171b4c19d779475fdd240
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257685
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-12-04 15:44:36 +00:00
Mike Klein
68a76b31b4 simpler tmp arrays in GrGLPath
In Release mode GCC 8 finds some issue I don't exactly understand when
using SkSTArray (or even SkTArray) here with MEM_COPY=true, for both
arrays, issuing one -Warray-bounds warning and one -Wstringop-overflow
warning for each array, ostensibly about the calls to resize_back().
(Oddly if you remove the initial reservations in the constructors, this
drops to just one warning each.)

My initial suspicion was some sort of aliasing issue, but I think the
SkPoint / 2x GrGLfloat pun might be legal, and even if it weren't, it
would not explain why the verbs array warns in the same manner.

Anyway I'd care more about this if the pattern of allocating an array
of a fixed runtime size weren't served better by SkAutoSTArray.  No
warnings from GCC now.

Change-Id: I6959acc0500df4539e43e5d280c1e872b8c2fca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257862
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-04 15:44:16 +00:00
Stephen White
a521c962b1 Update dawn.h -> webgpu.h, dawn_cpp.h -> webgpu_cpp.h.
Also fix some compile breakages from recent Skia changes.
No changes to Skia API.

Change-Id: Ifd0b1d89fb4ea3cf1f6a7170f2f74614276364ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257877
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-12-04 15:24:16 +00:00
John Rosasco
ccca30aad7 Notes on how to build SKQP for Fuchsia.
Change-Id: I85477806b151773bc715f31bcdb05554107cc6b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257700
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-04 15:14:14 +00:00
Mike Reed
fdf7e08210 Revert "remove legacy SkPath enum guards"
This reverts commit 7fdceb9216.

Reason for revert: need more fixes in flutter (getFillType)

Original change's description:
> remove legacy SkPath enum guards
> 
> Change-Id: I5874ac89b6dec5c050bc02df9df6849d2131df76
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257690
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I7b65e51b53dc15739ddeb76d9b5fd18d956f4cfd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257879
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-04 15:10:47 +00:00
Tom Anderson
4a213018b4 Always check for GL_ARB_sync
Previously, this was only checked for desktop GL, not for GLES. With [1], ANGLE
now exposes GL_ARB_sync for GLES, so we should extend the check. Also always
check for GL_APPLE_sync for consistency. It's technically out-of-spec for
GL_ARB_sync to exist outside of desktop GL, and for GL_APPLE_sync to exist
outside of GLES, but if the platform is listing the extensions, we should expect
them to work anyway.

Bug: chromium: 1028799
Change-Id: I411d2f106df0a2d7eb9b288053478ee79e060b81
R: reed@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257693
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-12-04 14:31:04 +00:00
Eric Boren
7e9dc42228 [infra] Auto-submit the CL to update supported branch configs
Change-Id: Ib4baeec7dc7247b81c7e4a1ef7f85ef378e4be19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257621
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-12-04 12:44:46 +00:00
skia-autoroll
dc7697bc61 Roll ../src bd8110e59b6b..d02b0cb4d389 (540 commits)
bd8110e59b..d02b0cb4d3


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

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 bsalomon@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: bsalomon@google.com
Change-Id: I5d7133b56298d45e6fb00b29bdf4c9db9393bbf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257799
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-04 04:48:46 +00:00
skia-autoroll
d61f8670f9 Roll third_party/externals/swiftshader b64fbfec4dcd..bbd0694f9ab2 (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b64fbfec4dcd..bbd0694f9ab2

git log b64fbfec4dcd..bbd0694f9ab2 --date=short --first-parent --format='%ad %ae %s'
2019-12-03 chrisforbes@google.com Remove Common/Types.hpp include from SpirvShader
2019-12-03 chrisforbes@google.com Regres: Add pending deqp change to fix bad graphicsfuzz tests
2019-12-03 srisser@google.com Make Vk::Stringify return std::string

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

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 bsalomon@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: bsalomon@google.com
Change-Id: Ia8df8c6a93f3a5b50478d7c1b344fb9695749a43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257797
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-04 04:37:07 +00:00
skia-autoroll
04732fbbb7 Roll third_party/externals/angle2 fb40d231c3e2..249cb200173f (15 commits)
fb40d231c3..249cb20017

git log fb40d231c3e2..249cb200173f --date=short --first-parent --format='%ad %ae %s'
2019-12-03 syoussefi@chromium.org Translator: Rename TIntermInvariantDeclaration to ..GlobalQualifier..
2019-12-03 syoussefi@chromium.org glslang.l: refactor extension checks
2019-12-03 syoussefi@chromium.org Automatically call flex/bison if necessary
2019-12-03 syoussefi@chromium.org Vulkan: Fix WaW same-layout image transitions
2019-12-03 jmadill@chromium.org Revert "Add new test runner harness."
2019-12-03 geofflang@chromium.org D3D9: Log the exact error code generated by D3D9 device creation.
2019-12-03 geofflang@chromium.org Skip flaky BlendMinMaxTest.RGBA16F/ES2_Metal.
2019-12-03 geofflang@chromium.org Link to the autoroller configuration directory in the wrangling doc.
2019-12-03 thakis@chromium.org Remove an unused .gn file.
2019-12-03 flibitijibibo@gmail.com Fix UWP build
2019-12-03 geofflang@chromium.org GL: Make GL_EXT_texture_format_BGRA8888 enableable.
2019-12-03 jmadill@chromium.org Use SwiftShader-based ICD generation.
2019-12-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 83af46951202..a4af7676feb0 (1 commits)
2019-12-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 979b531e9fff..0a0625a3dca6 (1 commits)
2019-12-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 47f3eb42641b..3ed4586044f2 (1 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@249cb200173f

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 bsalomon@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: bsalomon@google.com
Change-Id: I627cd0c33d0b6d8b00f46eda1bfaa399ae92203d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257798
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-04 04:37:06 +00:00
recipe-roller
32b010baf5 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/981da03f24d05765289811fc23e8311966dfef8c [lucicfg] Update from v1.11.6 to v1.11.12. (vadimsh@chromium.org)
  https://crrev.com/9777ab3619c7036fad3dbd49efdf10d9d9e2a18e depot_tools: Add tests for detect_host_arch. (ehmaldonado@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie83e59149827efbb78a1529732fdb081e14bca4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257784
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-12-04 01:33:20 +00:00
Herb Derby
eba195f1ea Make GrTextBlob initial position const
* Convert from fInitialX, fInitialY to an SkPoint fInitialOrigin
* Start putting params in a consistent order
* inline and remove single use functions

Change-Id: I53eecf6098b475ef05f4f5c4133510ee1104073f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257756
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-03 23:26:40 +00:00
recipe-roller
e5f8721b27 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/be3109961d3d5d541623b35afd7b15f167fa16ea Roll bb tool to @ b7405423 (tandrii@chromium.org)
  https://crrev.com/240afdb1c43a304bb0145824967a1850a02c01b8 [cipd] Update client 2.2.20 => 2.3.1. (vadimsh@chromium.org)
  https://crrev.com/434f1219fd28c66ccb10ff40d66845e27bbf636d gclient: Remove annotated_gclient. (ehmaldonado@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ied31d9abdc56d481b73f59c9fa49d735b8b153ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257757
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-12-03 22:42:51 +00:00
Mike Reed
7fdceb9216 remove legacy SkPath enum guards
Change-Id: I5874ac89b6dec5c050bc02df9df6849d2131df76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257690
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-03 21:47:40 +00:00
Herb Derby
00ae959342 Start cleanup of GrTextBlob
* Make a single private section
* Reorganzie private section
* Start making const things const

Change-Id: I88081d02ee6034234d35d15306bffb47ce63ac8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257688
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-03 21:24:50 +00:00
Florin Malita
75368c3a02 [skottie] Deferred image frame resolution
Instead of always grabbing the first frame at load time, only do so for
single-frame images.

For multi-frame images, defer frame resolution until actually needed
(at seek time).

There's a slight complication in dealing with image scaling: since we
no longer know the intrinsic size of the frames upfront, we need to
set up a transform effect preemptively for multi-frame images, and
update on the fly when the frames are resolved.  This is not
necessarily bad, because theoretically frames could have different
sizes.

Bug: skia:9686
Change-Id: Ib831d0e2ecad061ba52bdd8721e7598ea38c1e6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257622
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-12-03 20:17:40 +00:00
Brian Osman
6104ba0dca Particles: Do a cleanup/standardization pass on the API
For clients not using JSON, the factories were inconsistent.

Change-Id: Ifd920fa1e18f5edffa12de238af8488406951e5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257683
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-03 20:06:18 +00:00
Herb Derby
808b55d6c6 Replace some std::tie with auto []
Change-Id: I388eb8022a17bc58ea906460970a6c8f162601e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257679
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-12-03 19:44:20 +00:00
Michael Ludwig
8c14134836 Reorg helper functions in prep for function pointer caching
This does several pure refactoring changes:
1. Adds reset() functions to each helper struct type instead of having
TessellationHelper impl. the struct's reset logic.
2. Moves computeDegenerateQuad() to EdgeEquations.
3. Separate adjustVertices() into adjust and adjustDegenerate varieties, and
have it take a signed distance. This makes it no longer branch on degeneracy
or on whether or not it's insetting or outsetting.
4. The top-level inset()/outset() functions apply the appropriate sign to the
edge distances, and use the appropriate adjust or adjustDegenerate function
based on the inset/outset degenerate flag in OutsetRequest. Essentially all
the old branching in adjustVertices() is baked into the choice of inset() or
outset().
5. Rearranged the structs and function definitions so no forward declarations
were needed, and functions in CPP matched H order.

The major functional change with this is that adjustDegenerate() now has
an optimized case for rectilinear quads, where it can continue to use
moveAlong() but with smaller inset distances.

Change-Id: Ifc7f4537a4e89e82c74e831ab1cd00ffc4daaa4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256777
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-12-03 19:42:41 +00:00
Herb Derby
c694627157 Don't draw strikes that are too small
This may fix a fuzzer bug that trips an
assert for empty rectangles. I could not reproduce
the fuzzer problem.

Bug: chromium:1029831
Change-Id: I88befb7c27d9ddc357e0a9e494e68125f8252f43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257676
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-12-03 19:01:10 +00:00
Mike Klein
c10a8321f8 remove SkColorSpaceXformSteps::Required
It's error-prone, and now unused.

Change-Id: Ibae848bdb121695521e66d6e8544a82678e22f7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257660
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-03 18:33:10 +00:00
Kevin Lubick
6bbeaa7c64 [skottieWASM] make sure we are using CPU or GPU correctly
Change-Id: Ib9013fa9bedbbbf8a7787ef2a75d707dd6360cf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257635
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-12-03 18:29:53 +00:00
Florin Malita
a4f1391bb9 Reland "[skottie] Remove defensive seek(0) from Animation ctor"
This reverts commit e0f374bf8f.

Reason for revert: including tracing fix
Original change's description:
> Revert "[skottie] Remove defensive seek(0) from Animation ctor"
>
> This reverts commit 042fe0847b.
>
> Reason for revert: SkottieTracing bots not happy.
>
> Original change's description:
> > [skottie] Remove defensive seek(0) from Animation ctor
> >
> > It potentially causes unnecessary image frame loads.
> >
> > Well-behaved clients should always seek() before calling render().
> >
> > Bug: skia:9686
> > Change-Id: If16257dc947941541d9ae8906b5ec7b1754dd7df
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257625
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
>
> TBR=fmalita@chromium.org,reed@google.com,aparchur@google.com
>
> Change-Id: I3b7efdfc8e0aed1deb8756d585f946b4309d469d
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:9686
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257630
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

TBR=fmalita@chromium.org,reed@google.com,aparchur@google.com

Bug: skia:9686
Change-Id: Ib8a5d76821685cfa7e7dac61bcc31da5629d9055
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257632
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-12-03 18:26:40 +00:00
Mike Klein
7321e6a0ab replace CSXformSteps::Required() in GrSurfaceContext
Calls to Required() are subtly error prone without taking the alpha
types into account.  Just so happens that we're doing half of that here
ourselves, and letting Required() handle the rest... best to just let
CSXformSteps handle all the logic.

This _does_ slightly_ change the values of unpremul and premul, in that
it's now possible for them both to be true when we need a color space
transform (when the source and dst are both premul).  We don't think
this actually changes any of the logic that uses these bools though...
the canvas2D fast paths are unchanged because if needsColorConversion is
false, we'll still never set both at once.  And the `convert` bool only
ever looks at the logical or of the two, so it won't change.

Change-Id: I051793cd84693e1a5dd367d036ab7f2e2308bbf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257659
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-03 18:06:40 +00:00
Mike Klein
7fa8f3a4f3 Fix sprite blitter choice logic
While we're asking if there are any color space xform steps to do,
let's look at all 5 of them, including whether we need to unpremul or
premul.  The sprite blitter paths this logic guards can't handle
any change in color space _or_ alpha type, so this is a perfect fit.

Without this fix, we'd happily draw premul into unpremul using memcpy().
(Unpremul -> premul was already guarded by the check with my new note.)

Change-Id: Ic8d9e69f6c7bd2902ff77393de1da9cd940ea826
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/257657
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-03 17:55:20 +00:00