Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GpuFence for frame sync #32

Draft
wants to merge 1,551 commits into
base: wolvic_experimental
Choose a base branch
from
Draft

Conversation

tiagovignatti
Copy link

GpuFence is a wrapper for native fence sync including IPC and mojo transport.

render_completion_fence is used to avoid overstuffed buffers in WebXR. The basic idea is to submit incomplete frames to Wolvic, with the fence ensuring the next frame's GL commands get in line behind the current frame.

Also, for tracing purposes, and if we want to do it later, it's simple now to get the time when rendering completed for it.

GpuFence is needed for shared buffer transport on WebXR, coming next.

Chrome Release Autoroll and others added 30 commits June 16, 2023 14:11
…114.0.5735.137-r1 to 114-5735.84-1685966868-benchmark-114.0.5735.140-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-arm-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: I920b9ecc6c49ac12b4bc009a98acd90de15d0b47
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4620253
Commit-Queue: Chrome Release Autoroll <[email protected]>
Bot-Commit: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1302}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Automatic update for 2023-06-16 UTC

Change-Id: I83c5e0398e6261734fb22f5d7ab84a6e706efee2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4618255
Commit-Queue: PKI Metadata Updates Bot <[email protected]>
Bot-Commit: PKI Metadata Updates Bot <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1303}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…k-114.0.5735.137-r1 to 114-5735.119-1686568223-benchmark-114.0.5735.140-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-atom-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: Id0b38c86e9734607f3bfe64dabccf0dbffd93fda
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4620632
Commit-Queue: Chrome Release Autoroll <[email protected]>
Bot-Commit: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1304}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…mark-114.0.5735.137-r1 to 114-5735.119-1686564984-benchmark-114.0.5735.140-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-bigcore-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: If3a41d34e662d82eb56eb47298f857899510ce95
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4619755
Commit-Queue: Chrome Release Autoroll <[email protected]>
Bot-Commit: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1305}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Automatic update for 2023-06-16 UTC

Change-Id: I46dbf6b576fb24a7f7add3eb28ab2e51d922c051
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4620669
Commit-Queue: PKI Metadata Updates Bot <[email protected]>
Bot-Commit: PKI Metadata Updates Bot <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1306}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Uploaded by https://ci.chromium.org/b/8778177569052715697

Change-Id: I1ba3dcc87aef422a78f298601bac0c83b0b5ad8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4620848
Bot-Commit: ChromeOS bot <[email protected]>
Commit-Queue: ChromeOS bot <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1307}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
This CL disables OS integration sub managers on M114 as the first
step for a kill switch as per http://go/finch-killswitch#merge-policy.
This is to prevent crashes on M114. For M115 onwards, the crashes have been fixed, so OS integration release will go on as scheduled.

Bug: 1417955
Change-Id: Ib1565b97ca1e7f28d88aefa6f1db88f43f610179
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4619274
Commit-Queue: Dibyajyoti Pal <[email protected]>
Reviewed-by: Daniel Murphy <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1308}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Note: this CL was automatically generated.
If this is suspected to have caused regressions on the affected
builders, please feel free to revert.

Bug: 1412588
Change-Id: I840933ac7d87668ba9d7551f5de10708e9325c42
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4621270
Bot-Commit: Rubber Stamper <[email protected]>
Commit-Queue: Rubber Stamper <[email protected]>
Auto-Submit: Ben Pastene <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1309}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Change-Id: I8669652374502e7ac5ca883e9526e7a439fc208e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4622827
Bot-Commit: Chrome Release Bot (LUCI) <chrome-official-brancher@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/5735@{#1310}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
This CL updates the ash version ['116.0.5836.0', '115.0.5790.33'] for Lacros version skew testing.
This cl only affect linux-lacros config builders like
linux-lacros-tester-rel, linux-lacros-rel.
This cl will certainly NOT affect Lacros on-device builders
(lacros-amd64-generic-rel, lacros-amd64-generic-chrome-skylab,
etc) or any other platforms.

If this CL caused regressions, please revert and stop the autoroller
at https://luci-scheduler.appspot.com/jobs/chrome/lacros-version-skew-roller
Also please file a bug to OS>LaCrOS>Partner, and CC [email protected].

[email protected]

Bug: None
Change-Id: I1f655f29e35a0afa59972af27e1e7e193b14fa1c
Requires-Testing: True
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4621930
Auto-Submit: chrome-weblayer-builder <chrome-weblayer-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Rubber Stamper <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1311}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…-r1-merged

This CL may cause a small binary size increase, roughly proportional
to how long it's been since our last AFDO profile roll. For larger
increases (around or exceeding 100KB), please file go/crostc-bug.

Please note that, despite rolling to chrome/android, this profile is
used for both Linux and Android.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/afdo-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: I1dc690113eeaaee741e60e9033fb2a40404c252d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4623791
Bot-Commit: Chrome Release Autoroll <[email protected]>
Commit-Queue: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1312}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…114.0.5735.140-r1 to 114-5735.84-1685966868-benchmark-114.0.5735.141-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-arm-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: Ica8f563376ea5b482a1cd9edd3ee75d03cc92ceb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624168
Bot-Commit: Chrome Release Autoroll <[email protected]>
Commit-Queue: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1313}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…223-benchmark-114.0.5735.140-r1 to 114-5735.119-1686568223-benchmark-114.0.5735.141-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-arm-exp-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: I54eeecc4481811e783bdddee99b9b2ea2ed52e8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624350
Bot-Commit: Chrome Release Autoroll <[email protected]>
Commit-Queue: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1314}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…mark-114.0.5735.140-r1 to 114-5735.119-1686564984-benchmark-114.0.5735.141-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-bigcore-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: I760d7bbdd6c102120dbd3676e65146af16d9f1e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624262
Commit-Queue: Chrome Release Autoroll <[email protected]>
Bot-Commit: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1315}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…k-114.0.5735.140-r1 to 114-5735.119-1686568223-benchmark-114.0.5735.141-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-atom-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: I2f3cdacdba7f2588f3ec0183327cf30b45581a61
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624368
Commit-Queue: Chrome Release Autoroll <[email protected]>
Bot-Commit: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1316}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Uploaded by https://ci.chromium.org/b/8778086949070914977

Change-Id: I70ffa3fa3e3eb02f2e5bd6f032555da5d2433a36
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4622099
Bot-Commit: ChromeOS bot <[email protected]>
Commit-Queue: ChromeOS bot <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1317}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Change-Id: I964c0e04b87d625ae4e9c898cf3ba8845d52b119
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624807
Bot-Commit: Chrome Release Bot (LUCI) <chrome-official-brancher@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/5735@{#1318}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
This CL updates the ash version ['116.0.5838.0'] for Lacros version skew testing.
This cl only affect linux-lacros config builders like
linux-lacros-tester-rel, linux-lacros-rel.
This cl will certainly NOT affect Lacros on-device builders
(lacros-amd64-generic-rel, lacros-amd64-generic-chrome-skylab,
etc) or any other platforms.

If this CL caused regressions, please revert and stop the autoroller
at https://luci-scheduler.appspot.com/jobs/chrome/lacros-version-skew-roller
Also please file a bug to OS>LaCrOS>Partner, and CC [email protected].

[email protected]

Bug: None
Change-Id: I5d7ab87a85e8794437c6d9d0d5cd2f3a82c6834d
Requires-Testing: True
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4621553
Commit-Queue: Rubber Stamper <[email protected]>
Auto-Submit: chrome-weblayer-builder <chrome-weblayer-builder@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1319}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…114.0.5735.129-r1 to 114-5735.119-1686568223-benchmark-114.0.5735.140-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-orderfile-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: I4b8c1617b7edd723d6d04c190257ae2c52358305
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624401
Bot-Commit: Chrome Release Autoroll <[email protected]>
Commit-Queue: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1320}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…-r1-merged

This CL may cause a small binary size increase, roughly proportional
to how long it's been since our last AFDO profile roll. For larger
increases (around or exceeding 100KB), please file go/crostc-bug.

Please note that, despite rolling to chrome/android, this profile is
used for both Linux and Android.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/afdo-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: Ic5af6f6cc44941b761433b362b5c8f7b9676df7f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624664
Commit-Queue: Chrome Release Autoroll <[email protected]>
Bot-Commit: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1321}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…114.0.5735.141-r1 to 114-5735.84-1685966868-benchmark-114.0.5735.142-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-arm-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: I0c694739b7122cd332b7e72d3b1efc53bd6f4f61
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4622164
Bot-Commit: Chrome Release Autoroll <[email protected]>
Commit-Queue: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1322}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…223-benchmark-114.0.5735.141-r1 to 114-5735.119-1686568223-benchmark-114.0.5735.142-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-arm-exp-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: Ib14d35fd14b43573b66916d3afae9da0fa2b8901
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624892
Commit-Queue: Chrome Release Autoroll <[email protected]>
Bot-Commit: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1323}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…k-114.0.5735.141-r1 to 114-5735.119-1686568223-benchmark-114.0.5735.142-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-atom-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: I63090c0b42ad41e75d374b9ccc39fa6213681f66
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624895
Commit-Queue: Chrome Release Autoroll <[email protected]>
Bot-Commit: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1324}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
…mark-114.0.5735.141-r1 to 114-5735.119-1686564984-benchmark-114.0.5735.142-r1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/cros-afdo-bigcore-chromium-stable
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium Stable Branch: https://bugs.chromium.org/p/chromium/issues/entry

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/+doc/main/autoroll/README.md

Tbr: [email protected]
Change-Id: Ibc125b0aeb16e21a5475893d80d4a62d5361d255
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624519
Commit-Queue: Chrome Release Autoroll <[email protected]>
Bot-Commit: Chrome Release Autoroll <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1325}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Automatic update for 2023-06-18 UTC

Change-Id: Ib20a3213f2d3e44060b8d62942de326b54227b10
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4625190
Commit-Queue: PKI Metadata Updates Bot <[email protected]>
Bot-Commit: PKI Metadata Updates Bot <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1326}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Automatic update for 2023-06-18 UTC

Change-Id: Ie1e211daab79c35a2eb0373247842ade24257d98
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4625192
Commit-Queue: PKI Metadata Updates Bot <[email protected]>
Bot-Commit: PKI Metadata Updates Bot <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1327}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Uploaded by https://ci.chromium.org/b/8777996256899013505

Change-Id: Id4bc246f23b731c7c96a4f5d3452e9d7c4d6b26a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624788
Bot-Commit: ChromeOS bot <[email protected]>
Commit-Queue: ChromeOS bot <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1328}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Change-Id: Ic8947842bbcddcd4777afa78029b755749459de5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4624850
Bot-Commit: Chrome Release Bot (LUCI) <chrome-official-brancher@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/5735@{#1329}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
Change-Id: I20d36ab1e0e534f393866a7b2310f0bb64e3b0ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4625490
Commit-Queue: Rubber Stamper <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Auto-Submit: Ben Mason <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1330}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
This CL updates the ash version ['116.0.5840.0'] for Lacros version skew testing.
This cl only affect linux-lacros config builders like
linux-lacros-tester-rel, linux-lacros-rel.
This cl will certainly NOT affect Lacros on-device builders
(lacros-amd64-generic-rel, lacros-amd64-generic-chrome-skylab,
etc) or any other platforms.

If this CL caused regressions, please revert and stop the autoroller
at https://luci-scheduler.appspot.com/jobs/chrome/lacros-version-skew-roller
Also please file a bug to OS>LaCrOS>Partner, and CC [email protected].

[email protected]

Bug: None
Change-Id: Id7620268e91b3cf6dda931d150e72a9c64957c7d
Requires-Testing: True
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4621933
Auto-Submit: chrome-weblayer-builder <chrome-weblayer-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Rubber Stamper <[email protected]>
Bot-Commit: Rubber Stamper <[email protected]>
Cr-Commit-Position: refs/branch-heads/5735@{#1331}
Cr-Branched-From: 2f562e4-refs/heads/main@{#1135570}
zakharvoit and others added 16 commits August 2, 2023 18:42
Add a method to SessionSettings that returns the chromium's default user
agent.
Added a new method that retrieves the UA to be used by Chromium for
a given mode (mobile, desktop or VR). Part of the existing code
has to be moved from the content browser client to session settings
in order to allow both Wolvic and the WolvicContentBrowserClient
to access it.
At the moment this is void but ot will serve to organize the graphics
related code within WvrManager next.
There are no funcional changes in this commit. It only serves to pave
the way mostly to resemble our implementation to the GVR and ARCore ones
(which we'll be referring our implementation a lot on them).
This moves InitializeGl, CreateOrResizeWebXrSurface and other graphics
specific routines to WvrGraphicsDelegate.

There are no funcional changes in this commit.
This changes some method names, adds comments and a few logging
information to WvrManager implementation.

There are no funcional changes in this commit. It only serves to pave
the way mostly to resemble our implementation to the GVR and ARCore ones
(which we'll be referring our implementation a lot on them).
Swap the order of wvr_manager_ and wvr_graphics_ to ensure that
wvr_manager_ is destructed before wvr_graphics_. Otherwise, there's a
moment where wvr_manager_ holds an invalid raw_ptr to wvr_graphics_.

Unset default WvrGraphicsDelegate values that already 0, 0.
This change introduces several small changes to fix various build and
runtime errors that are happening after the M114 update.
In this change we copy the chrome code for user level memory pressure
signals initialization (adding the corresponding command line flag).
Without this, WebXR experiences crash on Oculus Quest 2 devices.
This adds a new class for wrapping all the procedures that involves
Wolvic state sync handling.

At this moment, I'm mostly interested in splitting away that from
WvrManager. We may want to rename this class and its method names
eventually to something more suggestive.
This reorganizes the code to choose the frame transport to be used in
Wolvic on its own method GetWebXrFrameTransportOptions.
Update DEPS to use wolvic_experimental branch of wolvic-angle instead of
chromium's angle. This fixes the performance drops caused by
https://crrev.com/c/4300729.
Map data coming from axis to device::Gamepad axes. The code
defines a deadZone under which the thumbstick value is considered
0 as done in other parts of the code.

Apart from that we're adding a couple of DCHECKs for the
amount of buttons and axis coming from Wolvic. They replace
an if condition as it should never really happen.
Add a YoutubeURLLoaderRequestInterceptor class which implements logic of
ensuring that all youtube requests have the "app=desktop" parameter
present. This allows Wolvic browser to play 360 youtube videos correctly.
Copy link
Member

@jdapena jdapena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I am missing right now the knowledge of the exact rendering pipeline. But I would definitely like to get more explicit validation (using CHECK) of the thread model at least. And maybe at some point a comment in this file explaining who does what and when.

// We bind this as a post task so that whatever processing is run when we
// attempt to get new frame data can complete before the pending
// GetFrameData call actually happens.
pending_getframedata_ = base::BindPostTask(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to add a CHECK for !pending_get_framedata_. My understanding is that there can only be one pending call. But in case we find out we need more, then we would need to add a queue for processing getframedata_ calls?

// See if we can animate a new WebXR frame.
WebXrTryStartAnimatingFrame();
// We finished processing a frame, unblock a potentially waiting next frame.
webxr_.TryDeferredProcessing();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In which thread is this happening?

It would be good to add thread or sequence checks so we make sure things are happening at the thread we expect.

And, about this case, TryDeferredProcessing, can it take too much time? Is it blocking a thread that should not be blocked for long?

Unfortunately just reviewing I am not sure where this is happening.

void WvrManager::FinishFrame(int16_t frame_index) {
DVLOG(2) << __func__;

// TODO(tiago): Swap Buffers?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My guess is that it should be done in Wolvic side as it is processing the scenegraph? Where are we getting the buffer to render to? How we cycle them?

Add a queue for checking the exact number of produced and processed
frames.
It does also a small adjustment to create Java WVRSurfaceTexture only
when the SurfaceTexture is also need to be created.
This breaks down the processing frame state in a new method,
DrawFrameSubmitNow.

This also makes sure (by DCHECKing) that when OnWebXrFrameAvailable
runs, the frame arriving is still in the processing state and
guaranteeing the correct order functioning as defined by
WebXrPresentationState. Besides, it removes an unused member of the main
class (last_frame_index_).
Base automatically changed from checking-and-validations_v3 to wolvic_experimental August 21, 2023 11:02
GpuFence is a wrapper for native fence sync including IPC and mojo
transport.

render_completion_fence is used to avoid overstuffed buffers in WebXR.
The basic idea is to submit incomplete frames to Wolvic, with the fence
ensuring the next frame's GL commands get in line behind the current
frame.

Also, for tracing purposes, and if we want to do it later, it's simple
now to get the time when rendering completed for it.

GpuFence is needed for shared buffer transport on WebXR, coming next.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.