Commit Graph

44083 Commits

Author SHA1 Message Date
Brian Salomon
d2a8ae2b71 Reland "Separate texture creation from uploading in GrGpu subclasses."
This is a reland of a7398246cb

TBR:egdaniel@google.com

Original change's description:
> Separate texture creation from uploading in GrGpu subclasses.
>
> GrGpu base class still allows creation with initial data, but separated
> at subclass level into create and then write pixels.
>
> GrGpu handles determining which levels need clearing and GrGpu
> subclasses take a mask and clear levels with mask bit set.
>
> GrGLGpu uses three pronged clear strategy:
> glClearTexImage() if supported, glClear() if format is FBO bindable, and
> lastly glTexSubImage2D with zero'ed buffer.
>
> Change-Id: I65fb1e60eed8f9d0896d686d3baeb10b57ff8f39
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236676
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

Change-Id: I54cda3b6a4b017a94ef1f50bb3748c45a24d8936
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240558
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-09-10 21:27:13 +00:00
Stephen White
c0c05047c2 Dawn: implement Sampler cache (optimization).
Change-Id: I0b1fabadb3fddd90350eff3b13037ce92c5dbfd8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238178
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-09-10 20:27:39 +00:00
Jim Van Verth
a431186414 Wrap MTLEvent code in availability attributes.
Allows us to build with a newer SDK and an older deployment target.

Bug: skia:8243
Change-Id: I06dc2737e2661dc81d98c2411b93123642d4a1e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240514
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-09-10 19:51:35 +00:00
Brian Salomon
8e63cab2e8 Revert "Separate texture creation from uploading in GrGpu subclasses."
This reverts commit a7398246cb.

Reason for revert: breaking bots

Original change's description:
> Separate texture creation from uploading in GrGpu subclasses.
> 
> GrGpu base class still allows creation with initial data, but separated
> at subclass level into create and then write pixels.
> 
> GrGpu handles determining which levels need clearing and GrGpu
> subclasses take a mask and clear levels with mask bit set.
> 
> GrGLGpu uses three pronged clear strategy:
> glClearTexImage() if supported, glClear() if format is FBO bindable, and
> lastly glTexSubImage2D with zero'ed buffer.
> 
> Change-Id: I65fb1e60eed8f9d0896d686d3baeb10b57ff8f39
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236676
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

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

Change-Id: Icc6860053242ff1a55784a0f38938968f9e5e5b0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240556
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-09-10 19:02:47 +00:00
Stephen White
7fba36b88a Dawn: implement staging buffer manager.
Use managed staging buffers for texture uploads, uniforms and buffers.

Change-Id: I063707c160236725d27a1d1bfb197d3096a07b34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/238120
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-09-10 19:02:15 +00:00
Stephen White
2adbf9ce1c Update Dawn backend to accommodate recent Skia API changes.
Change-Id: Ib0667fbff9a16fe796378134a17008ece6267d06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240508
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-09-10 18:55:45 +00:00
Brian Salomon
78be3ebee7 Update new blurrect_compare GM to skip when SkCanvas::makeSurface will fail
Change-Id: I6e101bf54e233345934e258dadb4fb7ab3283b61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240511
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-10 18:31:15 +00:00
Brian Salomon
a8f43ce668 Remove unused GM deferred canvas feature
Change-Id: I57b7fab34a46dd03a045800989e73f9001bdb6cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240506
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-10 18:28:05 +00:00
Brian Salomon
a7398246cb Separate texture creation from uploading in GrGpu subclasses.
GrGpu base class still allows creation with initial data, but separated
at subclass level into create and then write pixels.

GrGpu handles determining which levels need clearing and GrGpu
subclasses take a mask and clear levels with mask bit set.

GrGLGpu uses three pronged clear strategy:
glClearTexImage() if supported, glClear() if format is FBO bindable, and
lastly glTexSubImage2D with zero'ed buffer.

Change-Id: I65fb1e60eed8f9d0896d686d3baeb10b57ff8f39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236676
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-09-10 18:06:43 +00:00
Ethan Nicholas
66d8006c2b fixed an assertion error with unspecified sksl array sizes
Bug: oss-fuzz:15329
Change-Id: I994e58e794e4c0ee97a59ff83f295dc981ba5dba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240276
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-09-10 17:35:03 +00:00
recipe-roller
f57b7cb8f0 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/d9c1c856c64c30d6a45e318c7c0349bed9a995b3 fix_encoding: Decode bytestrings on Python 3 (raul@tambre.ee)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0c793781140c601e4b308f0ef9a1325c02ae4715
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240516
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-09-10 17:08:43 +00:00
Brian Osman
2ab2ac03d8 GL: Don't leak shader objects when program linking fails
Change-Id: I9e0895811176c795cafd356495802128539e4cab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240278
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-10 15:30:37 +00:00
Brian Salomon
b2d5d40a33 Adapt GrRectBlur for cases with rect W/H less than six sigma.
Add GM that generates reference blur rect images and compares against
actual.

Change-Id: If0ce291e211fefe96af8afdf0a60636b5f40ef47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239757
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-10 14:39:07 +00:00
Jim Van Verth
d0cf5da20d Hook up pinch-zoom and swipe gestures.
Sets UIPinchGestureRecognizer and UISwipeGestureRecognizers and
passes the result down to the sk_app::Window. To simplify detection,
swipes take precedence over pans, and pans require a single touch.
This is less flexible for the app, but in most cases I think is
what we want.

Bug: skia:8737
Change-Id: Ib031b6ad465d3a353da29d7e0b48a666d4ff8b9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239776
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-09-10 13:34:47 +00:00
Brian Salomon
b88894c881 Remove per-format glCheckframebufferStatus checks.
A long time ago we were more aggressive about attempting to make
renderable surfaces that were not required color-renderable than
currently.

Doing this check seems to be tickling a driver bug on some Mali
drivers, discovered while working on
https://skia-review.googlesource.com/c/skia/+/236676/7

Change-Id: I89d5d84ea2d63230b89dff65c7a93789327bbe09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240283
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-09-10 13:06:47 +00:00
recipe-roller
a47836e01a Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/f362dc019e5cedc0e5ce334039a16afcbc95dcb4 Reland "[fileutil] Add support for recursive glob" (atyfto@google.com)


R=kjlubick@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I3c1a79eb1f1fc8a23bf02ac25f17b8673d7dd199
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240416
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-09-10 11:50:47 +00:00
Ben Wagner
2d0f1a86fe [infra] Switch Mac builders to 10.14.6.
Bug: skia:9194
Change-Id: I33acb878528c461f51989f2a65df7b33ea38f2a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240277
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-09-10 11:09:17 +00:00
skia-autoroll
9e5c47936b Roll third_party/externals/angle2 a7ff7df26f28..58c5b07b47cf (7 commits)
a7ff7df26f..58c5b07b47

git log a7ff7df26f28..58c5b07b47cf --date=short --no-merges --format='%ad %ae %s'
2019-09-10 timvp@google.com Replace Issue 3221 with 2672 in deqp_gles3_test_expectations.txt
2019-09-09 timvp@google.com Correct glCompressedTexSubImage3D() Parameter Checking
2019-09-09 sunnyps@chromium.org Add support for overriding internal format for D3D11 texture EGLImages
2019-09-09 timvp@google.com Vulkan: Enable Previously Failing texstorage3d Tests for Pixel 2
2019-09-09 geofflang@chromium.org Update the rules for unsized float renderability.
2019-09-09 jdarpinian@chromium.org Fix WebKit iOS build
2019-09-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src b218ad19949f..76261e2a7df1 (1 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@58c5b07b47cf

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 mtklein@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=mtklein@google.com
Change-Id: Id63ee0fb27b0b8c42d566ac34041a6698073f451
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240421
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-10 05:30:36 +00:00
skia-recreate-skps
807a7bd0ea Update Go deps
Change-Id: I9b74e02a4b90923ef6fd4173bbd3dff7e2667613
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240429
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-10 05:26:36 +00:00
skia-autoroll
1bf30ce852 Roll third_party/externals/swiftshader 44e6523d7ff3..cebb9635a5d5 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/44e6523d7ff3..cebb9635a5d5

git log 44e6523d7ff3..cebb9635a5d5 --date=short --no-merges --format='%ad %ae %s'
2019-09-09 jmadill@chromium.org GN: Expose XCB surface extension on Linux.

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

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 mtklein@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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=mtklein@google.com
Change-Id: I3666215cb56775a055c3b4957d0d34b3e1651e74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240422
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-10 04:37:36 +00:00
skia-autoroll
008a1db559 Roll ../src a0cef9f54754..340a17ae1cc7 (385 commits)
a0cef9f547..340a17ae1c


Created with:
  gclient setdep -r ../src@340a17ae1c

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 mtklein@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.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=mtklein@google.com
Change-Id: I4be3a73e3a559aeecc429900de3d19596eea2dac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240423
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-10 04:36:46 +00:00
recipe-roller
8cae1e95a2 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/934836a6c5b1a3442db7f7197569fc1bbdcb8991 git-cl: Remove unused auth configs. (ehmaldonado@chromium.org)
  https://crrev.com/ca8793223ace1d9099f1b2015a02ddb645475752 gclient: Fix gclient Python 3 errors and add to presubmit tests. (ehmaldonado@chromium.org)
recipe_engine:
  https://crrev.com/737c0e6ce158d8c53486c82d72443a387a057e42 [fileutil] Add support for recursive glob (atyfto@google.com)
  https://crrev.com/1c10db5713e9c6fb790ce6ccf4771019f8ffbab2 Revert "[fileutil] Add support for recursive glob" (atyfto@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibb68b4ebe9a634c6a03efc7cd0e423e8224cbc99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240408
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-09-09 22:12:34 +00:00
Herb Derby
b831e26be3 Cleanup SkPackedGlyphID
Simplify lengths, positions and masks. The old code used to support
both unicode, and SkGlyphIDs; unicode support is not needed since
unicode->glyphID translation was moved to the typeface. Change the
glyph id field from 24 bits to 16.

Change-Id: I28524870c97a441159c5b00acfc2c43834924c8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240280
Commit-Queue: Herb Derby <herbderby@gmail.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-09-09 21:52:44 +00:00
Brian Osman
9c173c8347 Remove temporary Metal pipeline cache size hack
Landed a Chromium CL to set this in GrContextOptions:
https://chromium-review.googlesource.com/c/chromium/src/+/1790501

Change-Id: I0d328b74eb356768638fb851a4523884456fd543
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240279
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-09 21:11:37 +00:00
Heather Miller
cdae84cd9c Add release section for milestones and rel notes
Docs-Preview: https://skia.org/?cl=240246
Bug: skia:
Change-Id: If6fb0cd3a8c7f9d423cf2ee366038790b919acd7

TBR=jcgregorio

No-Try: true

Change-Id: If6fb0cd3a8c7f9d423cf2ee366038790b919acd7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240246
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
2019-09-09 20:34:38 +00:00
Ethan Nicholas
c2d84bfa74 fixed byte/ubyte types in SPIR-V output
Bug: oss-fuzz:15313
Change-Id: Id694413b5c4de41b4e64ed45b732aaa4c52b5f1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240198
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-09-09 18:53:38 +00:00
recipe-roller
c88c38e93e 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/6a860326887fe48cb65e7ebe38ca717be2de6f5c Handle GOMA_DISABLED more precisely (brucedawson@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id822376be4c43abbfb42adeda27aa877502b72e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240319
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-09-09 18:42:08 +00:00
Brian Osman
3fdfe28238 Simplify GPUSink constructors by just passing the config object
Also, remove the never-used gpu_threading flag. In limited
testing, it makes things slower.

Change-Id: I40ae0c8e5b79992c90845035a06536ed9d6626b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240202
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-09 18:12:18 +00:00
Greg Daniel
28d40b2e7a Reland "Add support for direct use of vulkan primary command buffer in render pass."
This reverts commit db53a59cb9.

Reason for revert: Going to reland with the code but the caps flag turned off.

Original change's description:
> Revert "Add support for direct use of vulkan primary command buffer in render pass."
> 
> This reverts commit eedd08576a.
> 
> Reason for revert: This is causing image failures on 5x and s9 which look like driver issues. But going to revert for the weekend and probably reland with those devices behind a flag.
> 
> Original change's description:
> > Add support for direct use of vulkan primary command buffer in render pass.
> > 
> > Change-Id: Icd43965da49963fc9b6ac6c1f7a40be50f2055e8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239920
> > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,jvanverth@google.com
> 
> Change-Id: Ia2e0f0d01b5aaf12f7d42584f19ae745bee0765c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239929
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

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

Change-Id: Ia0fc279d17f8829ce412955dea88106f8676b1d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240199
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-09-09 15:25:52 +00:00
Ethan Nicholas
73b8376b30 Fixed skslc assertion failure discovered by fuzzer
This particular issue probably wouldn't ever occur in hand-written code, but
such is fuzzing...

Bug: oss-fuzz:17061
Change-Id: Ia5da7b75afef8b49bb19ddb7f1ea8696053c2e54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240197
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-09-09 14:05:41 +00:00
Brian Osman
e8820d45ce Remove legacy flag: GrContextOptions::fDisallowGLSLBinaryCaching
Subsumed by fShaderCacheStrategy, clients have switched over.

Change-Id: I70b6ade4ccab2f48f2ef9437ae65c78cf458cfe4
Bug: skia:9402
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239928
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-09-09 13:43:51 +00:00
Mike Reed
78fb80a2b3 share private iterator/helpers for building paths
pre-cl to pave the way for SkPathRaw and pathbuilders

Change-Id: Ieda1230b91353e92b75bc7336fc35bbb4c7abdaa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240196
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-09-09 12:31:51 +00:00
skia-recreate-skps
4f2674da4b Update Go deps
Change-Id: Id43fe013a2c42c788ba29c66832595f9abb0e53c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240221
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-09-09 11:40:41 +00:00
skia-autoroll
627d15588f Roll third_party/externals/angle2 df0ce01870fa..a7ff7df26f28 (5 commits)
df0ce01870..a7ff7df26f

git log df0ce01870fa..a7ff7df26f28 --date=short --no-merges --format='%ad %ae %s'
2019-09-07 syoussefi@chromium.org Vulkan: Improve wording of PresentSemaphores.md
2019-09-06 geofflang@chromium.org Don't block setting the DEPTH_STENCIL attachment based on the resource format.
2019-09-06 timvp@google.com Refactor ShaderVariable to Remove Specializations
2019-09-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 34953810a62c..664ad418f845 (1 commits)
2019-09-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 19b256616d96..b218ad19949f (2 commits)

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

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 mtklein@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=mtklein@google.com
Change-Id: Ie591b94f47fe24b851dfd66198e99c16659e207b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240162
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-09 05:25:51 +00:00
skia-autoroll
a0d1fe42bd Roll ../src 649263777d17..a0cef9f54754 (522 commits)
649263777d..a0cef9f547


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

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 mtklein@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.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=mtklein@google.com
Change-Id: I6631e334d151e5867f1b46517b3ddce4e2e821ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240164
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-09 04:45:51 +00:00
skia-autoroll
7588f07cd9 Roll third_party/externals/swiftshader 5d0faf9be9d7..44e6523d7ff3 (12 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5d0faf9be9d7..44e6523d7ff3

git log 5d0faf9be9d7..44e6523d7ff3 --date=short --no-merges --format='%ad %ae %s'
2019-09-07 chrisforbes@google.com Fix ldexp builtin with vectors
2019-09-07 bclayton@google.com marl: Remove the unittests from the Chromium build
2019-09-07 bclayton@google.com Migrate from yarn to marl.
2019-09-07 bclayton@google.com Revert "Migrate from yarn to marl."
2019-09-07 bclayton@google.com Migrate from yarn to marl.
2019-09-07 bclayton@google.com Revert "Migrate from yarn to marl."
2019-09-07 bclayton@google.com Migrate from yarn to marl.
2019-09-07 bclayton@google.com .vscode/c_cpp_properties.json: Add marl include path
2019-09-07 bclayton@google.com marl: Fix compiler warning treated as error.
2019-09-06 bclayton@google.com third_party/marl: Remove googletest submodule.
2019-09-06 bclayton@google.com Merge changes from topic "add-marl"
2019-09-06 swiftshader.regress@gmail.com Regres: Update test lists @ 5d0faf9b

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

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 mtklein@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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=mtklein@google.com
Change-Id: I0c9278eb1d8eab095c7587aa298dc02a128a4b08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240163
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-09-09 04:36:51 +00:00
skia-recreate-skps
6c3bd09ead Update Go deps
Change-Id: If8f8379b87ac473984217c2d3dd30d769af358e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240156
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-08 05:25:10 +00:00
skia-recreate-skps
f433336585 Update Go deps
Change-Id: I3b7cf65052ddf7f147258592a03ae7688169d4a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240141
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-09-07 05:24:08 +00:00
recipe-roller
69a426f5a4 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/4ebfe4643bf06794bbf2620e4d2d8dda21f62987 depot_tools: Fix flaky gclient_test test. (ehmaldonado@chromium.org)
  https://crrev.com/efce0d1b7657c440c90f0f4bce614b96672b9e0b gclient_utils: Fix bug in CheckCallAndFilter in Python 3. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5d9cfd4910fcad20a962cbf783b906d024470464
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/240136
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-09-07 04:09:08 +00:00
Robert Iannucci
0a42768997 Remove use of deprecated tempfile module in skia.
The lack of 'rmfile' steps is OK because all of the temporary paths
are created within swarming's sandbox; swarming will clean everything
up after the recipe has quit.

R=borenet@google.com

Change-Id: Ibb8dc612ec8eb98fe966c9caa90ba59db48dbfba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239797
Auto-Submit: Robbie Iannucci <iannucci@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-09-07 01:43:49 +00:00
Ben Wagner
3805613933 [infra] Update Mac 10.14 bots to 10.14.6
Bug: chromium:989139
Change-Id: I556c34d53bf5e58ab4975284650dd73f48eb9755
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239927
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-09-06 22:36:20 +00:00
Chris Blume
08b68dba6a Add blocklist command line parameter
The name "blocklist" is more inclusive than "blacklist" while
still conveying the intention clearly.
See https://developers.google.com/style/word-list#blacklist

In order to rename Chromium's --ignore-gpu-blacklist command line
parameter we must first add the new --ignore-gpu-blocklist
everywhere it is used. Once this is done, Chromium can rename its
command line parameter and then we can remove the old references.

This CL adds the --ignore-gpu-blocklist command line parameter.

Bug: 842296
Change-Id: Icb54aa74a899d5530bad0c679f4382f28e13ff40
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239923
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Blume <cblume@google.com>
2019-09-06 21:07:20 +00:00
Greg Daniel
db53a59cb9 Revert "Add support for direct use of vulkan primary command buffer in render pass."
This reverts commit eedd08576a.

Reason for revert: This is causing image failures on 5x and s9 which look like driver issues. But going to revert for the weekend and probably reland with those devices behind a flag.

Original change's description:
> Add support for direct use of vulkan primary command buffer in render pass.
> 
> Change-Id: Icd43965da49963fc9b6ac6c1f7a40be50f2055e8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239920
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

Change-Id: Ia2e0f0d01b5aaf12f7d42584f19ae745bee0765c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239929
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-09-06 20:57:09 +00:00
Greg Daniel
c30f1a936d Move surface wait ops to GrRenderTasks.
Change-Id: Id989a666e67be85af6ed72447696657b8c11aaa5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239443
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-09-06 19:57:26 +00:00
Mike Reed
689188a438 simplify convexity-helper code
Change-Id: I7dd015a1cf76570bc2a6f00601800c46a3bd88a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239926
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-09-06 19:47:42 +00:00
Brian Osman
ed58e004e0 Add support for pre-compiling cached SkSL shaders
The client can do a test run of their application with
a persistent cache set to SkSL mode. They store the key
and data blobs that are produced.

Ship those blobs with the application. At startup, call
GrContext::precompileShader for each key/data pair. This
compiles the shaders, and stores the GL program ID, plus
a small amount of metadata in our runtime program cache.

Caveats:
* Currently only implemented for the GL backend. Other
  backends will require more metadata to do any useful
  amount of work. Metal may need a more drastic workflow
  change, involving offline compilation of the shaders.
* Currently only implemented for cached SkSL (not GLSL
  or program binaries). Supporting other formats again
  requires more metadata, and the cached shaders become
  increasingly specialized to GPU and driver versions.
* Reusing the cached SkSL on different hardware is not
  supported. Many driver workarounds are implemented in
  the SkSL -> GLSL transformation, but some are higher
  level. Limiting device variance by artificially hiding
  extensions may help, but there are no guarantees.

* The 'gltestprecompile' DM config exercises this code
  similarly to 'gltestpersistentcache', ensuring that
  results are visually identical when precompiling, and
  that no cache misses occur after precompiling.

Change-Id: Id314c5d5f5a58fe503a0505a613bd4a540cc3589
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239438
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-09-06 19:45:09 +00:00
Mike Reed
f6cb6eddec speed-up rotated rects for drawAtlas
Apply the rotation before we init the path, saving the cost of calling
path.transform().

Before

  14/14  MB	1	8.39ms	8.51ms	8.49ms	8.63ms	drawAtlas_colors_rotated
  14/14  MB	1	7.08ms	7.23ms	7.23ms	7.49ms	drawAtlas_rotated

After

  14/14  MB	1	7.74ms	7.87ms	7.84ms	7.93ms	drawAtlas_colors_rotated
  16/16  MB	1	6.28ms	6.59ms	6.51ms	6.63ms	drawAtlas_rotated

Change-Id: Iae117acec8c4f2b5e5810330529951079a13420c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239922
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-09-06 19:42:39 +00:00
Ethan Nicholas
c70027b151 Revert "Revert "switched SkSL interpreter over to threaded code""
This reverts commit cbdc829ff1.

Bug: skia:
Change-Id: Idb7ad413431e6556bc040369df258655c2349ef2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239447
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2019-09-06 19:11:10 +00:00
Greg Daniel
eedd08576a Add support for direct use of vulkan primary command buffer in render pass.
Change-Id: Icd43965da49963fc9b6ac6c1f7a40be50f2055e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239920
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-09-06 18:39:40 +00:00
recipe-roller
b9ce8351f4 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/711dc5e1ade20c62537dfa3e90e67450a9284833 Use value of --user as monorail email address if it is an email address (pkl@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I23d4d4367e66a3a8079e34518353c6fa38aaf666
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239998
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-09-06 18:19:50 +00:00