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

Update #2

Merged
merged 24 commits into from
Nov 19, 2024
Merged

Update #2

merged 24 commits into from
Nov 19, 2024

Conversation

helifax
Copy link

@helifax helifax commented Nov 19, 2024

No description provided.

dependabot bot and others added 24 commits November 5, 2024 10:24
Bumps androidx.fragment:fragment from 1.8.4 to 1.8.5.

---
updated-dependencies:
- dependency-name: androidx.fragment:fragment
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
We should have done it just after branching, but it's never too
late. New version is v1.8
We were using an old 8.2 gradle. Using the migration assistant
we have successfully moved to 8.9 seamlessly.
pollAll is marked for deletion in AOSP so it won't eventually be
callable in future NDKs. There should be no practical differences
except that we should be free of
android/ndk#2020
The current code enables FB passthrough and the passthrough layer
on start if supported by the runtime. Instead of doing that, we can
create both the passthrough handler and the passthrough layer and
activate them on deman. This will be done for WebXR AR experiences
and also when activating passthrough in the 3 dots menu.

Apart from that we've removed a lot of the boilerplate that was
not really needed. The code used to threat the passthrough layer
as any other compositor layer that had to be integrated into the
VRB scenegraph. The passthrough layer is a compositor layer that
has nothing to do with Wolvic's scenegraph, and thus, does not
need to be wrapped by a VRLayer nor added as a node.

There should not be any visual changes from the user POV. However
it would allow us to to have things like issue Igalia#1351 in the future.
This commit fixes 2 issues
* R8 version was different to the one configured in the plugin
* android.defaults.buildfeatures.buildconfig is deprecated and
to be removed in gradle 9.0

For the former we just need to upgrade the version. For the
latter it's a matter of moving the configuration option from
gradle properties to the app module build.gradle.
The WolvicWebContenstDelegate abstrac class defines the onWebAppManifest
method that our TabWebContenstDelegate must implement.

This is a dummy implementation, just to fix the build error caused by
the PR#135 [1]

[1] Igalia/wolvic-chromium#135
Moving from 8.2 to 8.9
In 63e622f we have replaced the 'aaptOptions' directive with
'androidResources', but we also removed 'noCompress' entries for
*.dat, *.ja and *.bin extensions.

The Chromium backend APK should contains a filed called 'icudtl.dat'
that Wolvic is not able to load because it's compressed, due to the
lack of the noCompress entry for that extension.
* Implement onWebAppManifest in TabWebContentsDelegate

Co-authored-by: Miyoung Shin <[email protected]>
We were filtering by DoF in order not to suggest some profiles for
devices not supporting 6DoF controllers. On the one hand, this was
only needed for HVR so we better handle it as an exception. And on
the other hand, there is really no need to filter out profiles in
general as the runtime will select the most appropiate one.
There is a new upstream release of the plugin.
The XR_FB_keyboard_tracking extension is deprecated and won't work
starting on MetaOS v72. We should replace it by others like
XR_META_dynamic_object_tracker for example.

In the meantime we should bailout instead of asserting to avoid
a crash that should not happen anyway.
The WidgetPlacement structure contains the name of the widget. When
building the name for the native widgets we were using a combination
of "Widget-" prefix + the widget handle. That was not useful at all
for debugging as it was not possible to differentiate between widgets
by name.

Instead it's much better to use the widget name that is passed in
WidgetPlacement. That way we can identify whether a widget is a
TrayWidget, a WindowWidget... We keep the widget handle in the name
as it's useful to differentiate widgets that may have multiple
instances (like Windows for example).
We can reuse the Quest3 infra because the controllers are almost
the same (if not identical) so there is no need to add a new
device type, controller 3D models, etc...

Fixes Igalia#1611

(haven't actually tried on a device but quite confident it works)
It is no longer causing issues in Meta devices (at least in v69)
so we should reenable it to improve compatibility with future
or unsupported devices.
Remove the IS_6DOF entry in OpenXR mappings for the khronos simple
profile that was added by mistake. That field existed when the PR
was created but it took so long to review that it was removed in
the meantime.
@helifax helifax marked this pull request as ready for review November 19, 2024 13:35
@helifax helifax merged commit 73debeb into main-avn Nov 19, 2024
4 of 7 checks passed
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.

4 participants