Commit Graph

44878 Commits

Author SHA1 Message Date
Brian Salomon
6fc04f88a8 Reland "SkSurface asynchronous read APIs allow client to extend pixel lifetime"
This is a reland of ce240cc6fd

Original change's description:
> SkSurface asynchronous read APIs allow client to extend pixel lifetime
> 
> Previously the pixel data passed to the client was only valid during
> the client's callback. This meant if the client wanted to defer
> processing of the data a copy was necessary.
> 
> Now we pass an object to the callback and the pixel lifetime is tied
> to the lifetime of that object.
> 
> The object may be holding a GPU transfer buffer mapped. We don't assume
> that the object will be released on the direct GrContext thread. So
> when the object is destroyed it posts a message to a new type,
> GrClientMappedBufferManager, hanging off the direct context. The direct
> context will periodically check for messages and unmap and then unref
> buffers so that they can be reused. Currently this is done in
> GrContext::performDeferredCleanup() and GrDrawingManager::flush().
> 
> The old API is kept around for backwards compatibility but it is
> reimplemented as a bridge on top of the new mechanism.
> 
> Also a utility function to SkImageInfo is added to directly make a new
> info with a specified dimensions rather than passing the width and
> height separately to makeWH().
> 
> Bug: chromium:973403
> Bug: skia:8962
> 
> Change-Id: Id5cf04235376170142a48e90d3ecd13fd021a2a6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245457
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: chromium:973403, skia:8962
Change-Id: I5cecd36276c8b6dc942cf549c7095db2df88530c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245678
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-10-03 01:41:35 +00:00
Brian Salomon
768f900a88 Revert "Use GL_QCOM_TILED_RENDERING to explicitly discard stencil"
This reverts commit 7e6d3b00ad.

Reason for revert: Breaks chrome, need to stage new GL function requirment. Example failure:

https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8900671758208001488/+/steps/vr_pixeltests_on_Android_device_Nexus_5__with_patch_/0/stdout


Original change's description:
> Use GL_QCOM_TILED_RENDERING to explicitly discard stencil
> 
> Bug: skia:
> Change-Id: I7a6234f6a9955dbda83ab2d8fc6930fe680e102b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245529
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: I3f059d4232ef664cf2eb2c5122e55c2c291e45b0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245876
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-10-03 01:32:28 +00:00
recipe-roller
5e4b4317d9 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.
recipe_engine:
  https://crrev.com/8e2b5104ac52091e7d02228665b7eca4eade38ad [futures] Close non-parent steps when launching a new greenlet. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7a5499bb246aa6ac309bf3df7a9188b4af0cce34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245836
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-10-03 00:33:35 +00:00
recipe-roller
9b6751cc13 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.
recipe_engine:
  https://crrev.com/da69b209693657ea0d95ec8dbdaaff2cb2d56f80 [futures] Add docstring for README TOC. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia0aed8df21daa70447620fb029085f73692f24b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245822
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-10-02 23:39:43 +00:00
Brian Salomon
9c219785a8 Revert "SkSurface asynchronous read APIs allow client to extend pixel lifetime"
This reverts commit ce240cc6fd.

Reason for revert: crashing in chrome unit test, abandoned context related?

Original change's description:
> SkSurface asynchronous read APIs allow client to extend pixel lifetime
> 
> Previously the pixel data passed to the client was only valid during
> the client's callback. This meant if the client wanted to defer
> processing of the data a copy was necessary.
> 
> Now we pass an object to the callback and the pixel lifetime is tied
> to the lifetime of that object.
> 
> The object may be holding a GPU transfer buffer mapped. We don't assume
> that the object will be released on the direct GrContext thread. So
> when the object is destroyed it posts a message to a new type,
> GrClientMappedBufferManager, hanging off the direct context. The direct
> context will periodically check for messages and unmap and then unref
> buffers so that they can be reused. Currently this is done in
> GrContext::performDeferredCleanup() and GrDrawingManager::flush().
> 
> The old API is kept around for backwards compatibility but it is
> reimplemented as a bridge on top of the new mechanism.
> 
> Also a utility function to SkImageInfo is added to directly make a new
> info with a specified dimensions rather than passing the width and
> height separately to makeWH().
> 
> Bug: chromium:973403
> Bug: skia:8962
> 
> Change-Id: Id5cf04235376170142a48e90d3ecd13fd021a2a6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245457
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ic14cf07a7629b167c9f34a651aa87a0326e74207
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:973403, skia:8962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245721
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-10-02 22:51:15 +00:00
recipe-roller
756c896c80 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/f417d3ad500902c6ccab8437984a14aabe598954 depot_tools: Run git_cache_test and git_dates_test on Python 3. (ehmaldonado@chromium.org)
recipe_engine:
  https://crrev.com/fc4aeac8bd7b0f6eeaa913826d4aa7054803697e recipe module buildbucket: do not depend `properties` module in test_api. (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia1b70f1f76f17dc046f82bccd52221e3a977b226
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245719
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-10-02 22:19:14 +00:00
Ben Wagner
1ca50524c4 Allow better font fallback.
The intent is to allow the creation of a MakeFontMgrRunIterator which
uses the passed font's typeface as the primary typeface, but uses a
given family name and style as for the request for fallback fonts. This
allows the user to provide the actual request for the primary typeface
as opposed to making a request based on the resolved primary typeface
(which may not be the right thing to do).

To support this, the selection of language for fallback is also added.
Since this information is already in the language iterator, this change
makes the font iterator the lowest priority iterator for consume,
allowing the font iterator to rely on the current value of the language
iterator to provide the language.

In order to allow these changes to be exercised, this also adds a few
generic 'Make' methods for bidi and script. These new methods will use
the best available implementation. These are needed since the most
capable implementations may not always be available (such as on our
testing ios builds).

Change-Id: I1b8d9c9007058adcb2a26e0581d903b835a6118f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245460
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-02 22:19:13 +00:00
Stephen White
40d1246d0c Dawn: update to Skia getOpsRenderPass() API change.
Change-Id: I86ca748b470ff13487499d4b9a77416d6bf38576
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245361
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-02 21:33:38 +00:00
Chinmay Garde
aad4b67848 Guard [MTLDevice maxBufferLength] behind an API availability check.
Bug: skia:9408
Change-Id: Iae3941ce9bb66051314fb0b6130bff32ac7b4fd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245439
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Chinmay Garde <chinmaygarde@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-10-02 20:41:08 +00:00
Jim Van Verth
b9d0cbc3e3 Revert "Add less granular version of GrFence for older Metal versions."
This reverts commit 1e946aa24b.

Reason for revert: Failing TSAN.

Original change's description:
> Add less granular version of GrFence for older Metal versions.
> 
> Rather than use MTLSharedEvent, we create a semaphore and
> signal it within the current command buffer's completion handler.
> The pointer to the semaphore is cast as GrFence and returned.
> The waitFence method recasts it and waits on the semaphore.
> 
> Bug: skia:8243
> Change-Id: I2c854c65a62786fe8031794008eb6844974ebefd
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245583
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

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

Change-Id: I1b8ccb5944db2d28ceb92361d4d43d7058d0753c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8243
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245717
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-10-02 19:53:00 +00:00
recipe-roller
6ebf1157c8 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.
recipe_engine:
  https://crrev.com/beadb7584b9086527329b8054230344de88d1873 Revert "[futures:examples/background_helper] Speculatively switch to os._exit" (tandrii@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia26af8c1e3b086295fe729715753d0fa704df1b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245716
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-10-02 19:43:09 +00:00
Brian Salomon
ce240cc6fd SkSurface asynchronous read APIs allow client to extend pixel lifetime
Previously the pixel data passed to the client was only valid during
the client's callback. This meant if the client wanted to defer
processing of the data a copy was necessary.

Now we pass an object to the callback and the pixel lifetime is tied
to the lifetime of that object.

The object may be holding a GPU transfer buffer mapped. We don't assume
that the object will be released on the direct GrContext thread. So
when the object is destroyed it posts a message to a new type,
GrClientMappedBufferManager, hanging off the direct context. The direct
context will periodically check for messages and unmap and then unref
buffers so that they can be reused. Currently this is done in
GrContext::performDeferredCleanup() and GrDrawingManager::flush().

The old API is kept around for backwards compatibility but it is
reimplemented as a bridge on top of the new mechanism.

Also a utility function to SkImageInfo is added to directly make a new
info with a specified dimensions rather than passing the width and
height separately to makeWH().

Bug: chromium:973403
Bug: skia:8962

Change-Id: Id5cf04235376170142a48e90d3ecd13fd021a2a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245457
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-10-02 19:20:08 +00:00
Mike Klein
edf2d727f9 picture nesting bounds bug
- add a unit test reproducing the bug
  - fix SkRecorder::reset() to call resetCanvas(bounds) instead of
    calling resetCanvas(w,h).  (It was actually calling
    resetCanvas(right,top), even worse...)

In short, because we were calling this old resetCanvas(), SkRecorder,
the SkCanvas* we record into, was presenting bad device bounds,
affecting code like where we query the clip to search an R-tree for ops
to draw.  It was trimmed to only the positive/positive portion of the
actual bounds, so content like in the unit test that's all in negative
space was erroneously clipped out.

I'd like to get rid of these w/h methods altogether but they're still
used by some of our test tools and by Android.

Change-Id: Ie46f611250de4d655c4357823895ff885b4f3d59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245599
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-02 18:59:17 +00:00
Hal Canary
b5b45d7f08 SkQP: mark readpixels as a bad GM
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP,Test-Debian9-Clang-NUC7i5BNK-CPU-Emulator-x86-devrel-All-Android_SKQP

Bug: b/140327954
Change-Id: Idd27124aff3d104a423d8849e3af5da4f75a5a04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245622
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2019-10-02 18:59:07 +00:00
Brian Osman
1bab7e4e63 Fix CheckGeneratedFiles bot by tweaking SkSLDefines some more
Change-Id: Iac3f65b7e85cb34febf30b7939080290a0738635
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245620
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
2019-10-02 18:44:07 +00:00
Brian Osman
7481a39076 Enable asserts about 'in' and 'uniform' in GrSkSLFP and ByteCode
Change-Id: I2bbef8af07f9a65c7a6577a00b1eb7a47c252f57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245617
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-10-02 18:28:42 +00:00
Brian Salomon
7a90175f56 Half float tests working on command buffer
Bug: chromium:697030
Change-Id: I3ca52213edf933abb58023a44daf8533e68a4715
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245618
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-10-02 18:18:23 +00:00
recipe-roller
7d89780fed 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/6b4c2a88f36eba12106e899b19c54c7b1d51b793 Run git_cl commands as a python step. (mmoss@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5898edded6bafac6a44e861efa5704ff976488d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245619
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-10-02 18:10:10 +00:00
Chris Dalton
3f55695a04 ccpr: Unblacklist Qualcomm with msaa
Bug: skia:
Change-Id: I1ab69fe87136955b01a329675f1d0affec3700ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245530
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-10-02 17:53:46 +00:00
Jim Van Verth
1e946aa24b Add less granular version of GrFence for older Metal versions.
Rather than use MTLSharedEvent, we create a semaphore and
signal it within the current command buffer's completion handler.
The pointer to the semaphore is cast as GrFence and returned.
The waitFence method recasts it and waits on the semaphore.

Bug: skia:8243
Change-Id: I2c854c65a62786fe8031794008eb6844974ebefd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245583
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-10-02 17:38:46 +00:00
Brian Osman
1c110a09d7 ByteCode: Separate uniforms and globals
This requires new instructions, but means that uniforms don't need
to be copied/expanded into the globals array. It also removes any
limit on the number of uniforms (other than instruction encoding),
and simplifies the memory layout (no need for slot tracking).

To help with this, added a Location struct that encapsulates the
information returned by the two variants of getLocation.

Change-Id: I961be74ea5fdf933da6c7ad284be9fc345cfd909
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245358
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-10-02 16:58:47 +00:00
Mike Klein
125a44c9c4 tidy up SkRecord bounding code
- remove unused fNumRecords field
  - remove unused getter methods
  - cleanUp() -> dtor

Change-Id: I1ade20e56cced40d511598a964ca362d7afc269c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245600
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-02 16:41:20 +00:00
Brian Osman
9f313b6608 Remove redundant check when encountering fragCoord in IR generator
Change-Id: Ifa364ee754fed40160bd161aea60ead2e9fb8414
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245616
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-10-02 16:37:37 +00:00
Chris Dalton
7e6d3b00ad Use GL_QCOM_TILED_RENDERING to explicitly discard stencil
Bug: skia:
Change-Id: I7a6234f6a9955dbda83ab2d8fc6930fe680e102b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245529
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-10-02 16:36:08 +00:00
Chinmay Garde
a1ea0a96f4 Don't build the minimal Metal app when building for Flutter.
Change-Id: I6bfdbcfbfd53b60f8d9f5fee3d2621c3f3e8c147
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245476
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-02 14:04:43 +00:00
recipe-roller
cf0a9a6284 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.
recipe_engine:
  https://crrev.com/39baf65a40b3d08e7cd414493fe607eaf18637d0 [futures:examples/background_helper] Speculatively switch to os._exit (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic893719d91560c9619e777e9ec91947029428866
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245559
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-10-02 11:41:13 +00:00
recipe-roller
8d29306130 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/cbff54b4acccd596d4faf34636a687c2cdbf11b9 Fail to repackage if win_sdk\Debuggers doesn't exist. (mbonadei@chromium.org)
  https://crrev.com/a19d35307bbed0ad41cad4e5b06ff052c43fc631 Add `git cl upload --retry-failed` (qyearsley@chromium.org)
  https://crrev.com/f1b21e4633f6ec8492584e66076d982f5174f331 Make gclient.py warn on Python 3 (brucedawson@chromium.org)
  https://crrev.com/b9aca9494e40d24ee7383b237943dc7c8aa86ad8 gclient: Skip calling update_depot_tools if DEPOT_TOOLS_UPDATE is 0. (ehmaldonado@chromium.org)
  https://crrev.com/451e8babe20345531ab1bb16a3a18db58775161c depot_tools: Fix gclient_test on Windows. (ehmaldonado@google.com)
  https://crrev.com/5eac9d301390c5ff8afdaa95f46e68bb84e20575 depot_tools: Fix bug when running download_from_google on Python 3. (ehmaldonado@chromium.org)
  https://crrev.com/2025b98401191bbba581a07fa1f7572cc0b75493 recipes: update to stop using legacy properties. (tandrii@google.com)
recipe_engine:
  https://crrev.com/88c098c1d36351d6b551c604122ddb27236b2038 [step] Improve cost model to cover memory, disk and network resources, too. (iannucci@chromium.org)
  https://crrev.com/b82054e1d929cdff567df166edf927361181bf67 Revert "[step] Improve cost model to cover memory, disk and network resources, too." (iannucci@chromium.org)
  https://crrev.com/ba63a44cf653ce3c0689eb83c9e1e1ac9c56cd19 [step] Reland: Improve cost model to cover memory, disk and network resources, too. (iannucci@chromium.org)
  https://crrev.com/1420284b2c0f4907392b8381d60fcb72d3a2faa9 [stream/luci] Initially mark steps as SCHEDULED. (iannucci@chromium.org)
  https://crrev.com/7323ee69d6f28d139a8713e9c4d89dbe10f3ac4e [third_party/logdog] Remove defunct features. (iannucci@chromium.org)
  https://crrev.com/343724f653bf18d849d16fb07d0050a4ea7d93cc [luciexe] Make butler streams async, throttle build.proto updates. (iannucci@chromium.org)
  https://crrev.com/76efe56b109dde457e2a2dec61923759bd21083c [luciexe] Mark non-subprocess steps as started, too :) (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I65ebfe073385f865a5ebce1f9017dfee0361c1e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245536
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-10-02 10:02:33 +00:00
Chris Dalton
dec74f3ff6 Remove an assumption that fOpsTask != nullptr
TBR=rmistry@google.com

Bug: skia:
Change-Id: Ic66a63af10b56b1c322309f0e5945b9b4ec1a9f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245531
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-10-02 09:04:03 +00:00
skia-autoroll
1c934fade6 Roll third_party/externals/angle2 087f1384f233..f22f16d3c0a8 (8 commits)
087f1384f2..f22f16d3c0

git log 087f1384f233..f22f16d3c0a8 --date=short --no-merges --format='%ad %ae %s'
2019-10-01 tobine@google.com Reland "Vulkan: Use VK repos' internal BUILD.gn files"
2019-10-01 timvp@google.com Vulkan: Enable dEQP-GLES31.functional.shaders.*
2019-10-01 timvp@google.com Vulkan: Full support for program interface queries
2019-10-01 jmadill@chromium.org Vulkan: Implement multi-threaded GL.
2019-10-01 cnorthrop@google.com Vulkan: Base/max level fixes and cleanup
2019-10-01 jaime@janeasystems.com GLES2: Use require_constant_initialization for g_Mutex
2019-10-01 cnorthrop@google.com Vulkan: Narrow skip lists for 3D and 2DArray tests to Compute
2019-10-01 courtneygo@google.com Update expectations for deqp failure

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

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 rmistry@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=rmistry@google.com
Change-Id: Ibf4b42fff4b172269a9317535e29d35b891b1140
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245496
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-02 06:29:43 +00:00
skia-recreate-skps
1ebaa15a4c Update Go deps
Change-Id: Idf705dd241f47dcf90f2b29fa80a6086284ce5fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245521
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-10-02 05:27:13 +00:00
skia-autoroll
bd90b24b1e Roll ../src b26cb15ae8ce..c00626cb0291 (462 commits)
b26cb15ae8..c00626cb02


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

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 rmistry@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=rmistry@google.com
Change-Id: I7bcf7710266b6ab7b0e6a78955baedbc88097451
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245498
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-02 04:40:42 +00:00
skia-autoroll
015c2feb12 Roll third_party/externals/swiftshader 3044c24181e9..0cd9a67ce84f (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3044c24181e9..0cd9a67ce84f

git log 3044c24181e9..0cd9a67ce84f --date=short --no-merges --format='%ad %ae %s'
2019-10-02 capn@google.com Enable running vk-unittests from any directory
2019-10-01 capn@google.com Increase CMake version requirement to 3.6.3
2019-10-01 amaiorano@google.com Fix write stencil ops when writeMask == 0
2019-10-01 swiftshader.regress@gmail.com Regres: Update test lists @ 3044c241
2019-10-01 chrisforbes@google.com Remove array restriction from EOpEqual, EOpNotEqual

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

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 rmistry@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=rmistry@google.com
Change-Id: I01641afeed3113daa9dc709ce19d314d5eed131b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245497
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-02 04:35:42 +00:00
Chris Dalton
674f77a24b Clear and discard stencil buffers on tilers, take 2
Bug: skia:
Change-Id: I6a3bc7e50f8d4f211ed4afb2a614581b2778b27a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245300
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-10-01 20:45:45 +00:00
Hal Canary
9e514a183b doc: cleanup release notes
No-try: true
Change-Id: Ice2803974c7451aff200c75a609414cf9f0a17fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245374
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-10-01 20:05:35 +00:00
Greg Daniel
5faf474fab More bounds fixes for StrokeRect and DefaultPath when using MSAA for non-aa.
Change-Id: Ia9c2a47675eac8f3ac1220c0e1089766aa141fc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245364
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-10-01 19:49:15 +00:00
Pirama Arumuga Nainar
5be3c13263 [Android] Use wildcard for data associated with skia_nanobench
'resources/**/*' includes the entire resources directory, while
'resources/*' does not include the recursive contents.

Bug: skia: none
Change-Id: Iae5a41af0d62f3eb00098f83721f7f01f0b0ab5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245317
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2019-10-01 19:07:12 +00:00
Florin Malita
e3e4b0cfc1 [skottie] Fix motion blur glitches around domain edges
For motion blur we're sampling within some window around a given t.

If t is close to the layer in/out point, things get murky: for samples
which fall outside the layer lifespan, we skip drawing => fewer samples
are accumulated => the opacity of the result drops => visual glitches.

The solution is to modulate the frame alpha based on the number of
*visible* samples, and skip rendering when no samples are visible.

Bug: skia:9486
Change-Id: I8d9692ae1589b43d9e6f728d7b7ac2fbf39153fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245363
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-10-01 17:25:12 +00:00
Mike Klein
ac353cbbfc add alternate x-lerp using vpmaddubsw
This looks like a _very_ minor perf and code size win.

Change-Id: Ieb9d07eb056f66fc90b0e3c36835cc05329ff7b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/244920
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-10-01 17:18:02 +00:00
Mike Klein
1e9112fbb4 roll mips toolchain to gcc 8
Just like https://skia-review.googlesource.com/c/skia/+/118681/,
but one more, and...

   - GCC now needs libisl19
   - more warnings to stifle... disable warnings-as-errors.

Cq-Include-Trybots: skia.primary:Build-Debian9-GCC-mips64el-Debug,Build-Debian9-GCC-mips64el-Release
Change-Id: I35c2f71caebb47bd1bd253923cbddbe3f9b95477
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245352
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-01 16:51:18 +00:00
Hal Canary
8c500751cd experimental/minimal_mtl_app: more cleanup
Try to keep a consistent style for objective-C++ code.

Also, share code between both apps.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm64-Debug-iOS_Metal,Build-Mac-Clang-arm64-Release-iOS_Metal

Change-Id: I4b749780c81319bd048f4295c21dfa91910e262d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/241042
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2019-10-01 14:40:55 +00:00
Jim Van Verth
f2f0e1b8cc Add TransferBuffer and AsyncRead support to Metal.
* Implements onTransferPixelsFrom, onTransferPixelsTo, onFinishFlush and
checkFinishProcs.
* Adds a bind() method for allocating dynamic buffer memory that can
be used by the GPU prior to mapping on the CPU

Bug: skia:8243
Change-Id: I366ec47bf1155797d9a9b0c9f33870e50c95e914
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/244301
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-10-01 14:37:51 +00:00
Brian Salomon
65f533af95 SkColorInfo: It's SkImageInfo minus the dimensions.
Change-Id: Idea9530028428c1a9d42e08a655457938b284b84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245261
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-10-01 14:26:30 +00:00
Hal Canary
a7914a8726 experimental/tools/pdf-comparison: delete worktree when it gets into a bad state
No-Try: true
Change-Id: I61f48fd32348d44a2c7e27d56e404f7876bed3ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245161
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-10-01 14:07:54 +00:00
skia-autoroll
1ffc2e453b Roll third_party/externals/angle2 71c1138d6739..087f1384f233 (3 commits)
71c1138d67..087f1384f2

git log 71c1138d6739..087f1384f233 --date=short --no-merges --format='%ad %ae %s'
2019-09-30 jmadill@chromium.org Vulkan: Introduce CommandQueue helper class.
2019-09-30 cnorthrop@google.com Vulkan: Refactor render target initialization for texture arrays
2019-09-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 10951a7c9a13..85c67b5e08ee (4 commits)

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

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 rmistry@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=rmistry@google.com
Change-Id: Iab9a334b250637a8a8d7aa96ae00fe381182a0f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245307
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-01 05:41:24 +00:00
skia-recreate-skps
a274a2832b Update Go deps
Change-Id: I0b58acedf0d5a73d1f19b86dc738d1fb3f9a55be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245314
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-10-01 05:25:44 +00:00
skia-autoroll
ff094adde0 Roll ../src 26279492794d..b26cb15ae8ce (404 commits)
2627949279..b26cb15ae8


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

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 rmistry@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=rmistry@google.com
Change-Id: I2f13b31daa361d161d225c6baf194d3e82060e53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245308
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-01 04:35:14 +00:00
skia-autoroll
a305a6276d Roll third_party/externals/swiftshader faa2a365b5c0..3044c24181e9 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/faa2a365b5c0..3044c24181e9

git log faa2a365b5c0..3044c24181e9 --date=short --no-merges --format='%ad %ae %s'
2019-10-01 chrisforbes@google.com Use GL_RGB as implementation color read format for GL_RGB565
2019-09-30 srisser@google.com Optimize "max(t, t)" to fold into just "t"
2019-09-30 amaiorano@google.com Fix regres script
2019-09-30 amaiorano@google.com Regres: disable warnings as errors

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

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 rmistry@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=rmistry@google.com
Change-Id: I08c67aef382424c768f11dcec19f280eff6f39d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245306
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-01 04:31:44 +00:00
Herb Derby
cb6de9f661 Add maxGlyphCount to SkGlyphRunList
Change-Id: I2121c4c68f4124b6a65ca9c1883f3ee0e6d89695
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/244997
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-01 02:24:24 +00:00
Stephen White
2533afa3f8 Dawn: implement GrDawnCaps::getYUVAColorTypeFromBackendFormat().
Remove an assert (Metal backend has the same limitation).

Change-Id: Ic3b65781431e1280376aabb704cbf83e4557a7b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245256
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-09-30 21:58:28 +00:00
Mike Reed
5020d73a15 restore old (dumb) behavior for filterColor
Better to just remove it (from all callers) and point them at filterColor4f()
than to try to make it more meaningful.

Change-Id: I6389650733e81ca2ff6968d6c0d30cf9947c0110
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/245000
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-09-30 21:53:25 +00:00