mirror of
https://github.com/mitch030504/Wiicompiled_VR_Frame.git
synced 2026-10-06 03:00:14 +02:00
Quest: port device compatibility and pipeline fixes
This commit is contained in:
1 parent
f0e5e43985
commit
83fe04d160
4 files changed
+187
-7
No files matched your search
@@ -97,6 +97,29 @@ hit on Vulkan when a game's device was destroyed under the compositor.
|
||||
(there is no BGRA `AHardwareBuffer` format) and requests the two Dawn features
|
||||
the bridge needs.
|
||||
|
||||
### Quest 1 renderer compatibility
|
||||
|
||||
Quest 1 identifies itself as Android device `monterey` and uses an Adreno 540
|
||||
driver that misrenders Aurora's general filtered EFB-copy shader. On that
|
||||
device, `GXCopyDisp` keeps the destination equal to the resolved EFB region so
|
||||
WebGPU can use `CopyTextureToTexture`; the later presentation pass still scales
|
||||
the result. Live RGB5A3 menu copies use a minimal RGBA passthrough shader for
|
||||
the same reason. Other Android devices retain the normal filtered and
|
||||
format-converting paths.
|
||||
|
||||
The workaround was isolated on a physical Quest 1: it changed the boot/menu
|
||||
output from flickering black or white frames to a complete menu with character
|
||||
and vehicle previews. It does intentionally skip Wii-era RGB5A3 quantization on
|
||||
that device.
|
||||
|
||||
Pipeline compilation is also scheduled differently on Android. Adreno
|
||||
serializes much of `vkCreateGraphicsPipelines`, so a large equal-priority worker
|
||||
pool starved the translated game and OpenXR pacing threads without shortening
|
||||
the compile materially. Android uses two nice-level 5 workers and does not
|
||||
prewarm cached recipes in the background; a cached recipe is promoted and its
|
||||
workers are awakened when the game first requests it. Desktop keeps the full
|
||||
worker pool and prewarm behavior.
|
||||
|
||||
### Controllers
|
||||
|
||||
Quest Touch controllers are not HID gamepads, so `openxr_input.cpp` syncs an
|
||||
|
||||
Reference in new issue
Block a user