Commit Graph
100 Commits
Author SHA1 Message Date
Acaki c7dd7a2c21 fix: metal renderer packed format crash on emulator and lower iOS version 2025-08-28 00:07:56 +08:00
Acaki 39d7d9e213 feat: add back lowest latency mode for AVSampleBuffer 2025-08-27 15:53:00 +08:00
Acaki eb3501e090 Revert "feat: bring back CAMetalDisplayLink"
This reverts commit b6c029df
2025-08-27 15:16:24 +08:00
Acaki 0a2fdbf0c0 refactor: separate metrics calculation for legacy and queue pacing 2025-08-26 03:18:52 +08:00
Acaki 91f95f13ae refactor: remove framerate limiter to avoid false positives 2025-08-26 03:07:30 +08:00
Acaki ebf46042ba feat: use CAPABILITY_PULL_RENDERER for legacy pacing mode 2025-08-26 03:06:19 +08:00
Acaki 8547cee1b9 revert: legacy frame pacing changes for VideoDecoderRenderer 2025-08-26 01:33:19 +08:00
Acaki 56729469bf fix: Metal kIOGPUCommandBufferCallbackErrorSubmissionsIgnored error 2025-08-26 00:09:18 +08:00
Acaki 34a115706e Revert "fix: sync imgui fps to stream fps to avoid it interferes with displaylink timings"
This reverts commit 5d1bed4d25.
2025-08-25 15:29:30 +08:00
Acaki b6c029df38 feat: bring back CAMetalDisplayLink
This reverts commit 6f381362dd.
2025-08-25 15:29:29 +08:00
Acaki 0582655954 fix: occasional crashes when put in foreground 2025-08-25 02:05:00 +08:00
Acaki c8f61b0b87 feat: pause Metal renderer and graph when app is in background 2025-08-25 00:42:01 +08:00
Acaki a2c4d440db fix: memory leak for Metal renderer when repeatedly connect/disconnect stream or toggling HDR on host 2025-08-24 20:54:51 +08:00
Acaki b64ad64524 fix: error handling of nil decompressionSession 2025-08-24 17:01:25 +08:00
Acaki e9e6f1deb9 fix: skip applying EDR metadata when HDR is disabled in client or host settings 2025-08-24 17:01:23 +08:00
Acaki 6f381362dd Revert "fix: sync imgui fps to stream fps to avoid it interferes with displaylink timings"
This reverts commit 5d1bed4d25.

Revert "fix: another attempt to fix occasional video freeze with metal renderer"

This reverts commit 958b391afa.

Revert "fix: attempt to fix occasional video freeze with metal renderer"

This reverts commit bcb4d0a905.

Revert "feat: use CAMetalDisplayLink for metal renderer to fix refresh rate issues"

This reverts commit 9e20efff4b.

Revert "Revert "MetalViewController: run a no-op DisplayLink at the target framerate so iOS won't switch to a slower rate""

This reverts commit 39b2621e30.
2025-08-22 17:39:25 +08:00
Acaki 5d1bed4d25 fix: sync imgui fps to stream fps to avoid it interferes with displaylink timings 2025-08-21 19:13:05 +08:00
Acaki 3ba0e35032 refactor: remove duplicate video format creation 2025-08-21 05:11:12 +08:00
Acaki 958b391afa fix: another attempt to fix occasional video freeze with metal renderer 2025-08-21 03:08:07 +08:00
Acaki 678c8054d7 Revert "fix: frozen image when switching from metal to AVSB"
This reverts commit 2b052fef1e.
2025-08-21 00:07:40 +08:00
Acaki d90657b05a refactor: enable EDR metadata for Metal and add more error handling 2025-08-20 22:21:25 +08:00
Acaki 9e56547435 Revert "fix: remove waitUntilCompleted call as semaphore is used"
This reverts commit 05f6dd86b1.
2025-08-20 21:34:16 +08:00
Acaki bcb4d0a905 fix: attempt to fix occasional video freeze with metal renderer 2025-08-20 01:50:27 +08:00
Acaki 225b66cb06 Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal 2025-08-19 23:26:25 +08:00
Acaki cd1ff0da97 refactor: optimize graph dimensions 2025-08-19 23:14:48 +08:00
Acaki 1d1e553191 refactor: change render mode back to NSDefaultRunLoopMode 2025-08-19 23:14:47 +08:00
Acaki 9e20efff4b feat: use CAMetalDisplayLink for metal renderer to fix refresh rate issues
This reverts commit 868288e7
Using CAMetalDisplayLink with CAMetalLayer is required for ProMotion to work consistently and make graphs and touch widgets work smoothly with Metal (especially wasdpad)
With CADisplayLink (no-op or not) the widgets and/or graphs can cause fps drops to the stream
2025-08-19 18:47:41 +08:00
Acaki 9e32c1da3d Revert "fix: metal renderer packed format crash on emulator and lower iOS version"
This reverts commit 34eb2ccd
2025-08-19 04:45:53 +08:00
Acaki 39b2621e30 Revert "MetalViewController: run a no-op DisplayLink at the target framerate so iOS won't switch to a slower rate"
This reverts commit 6010182592.
2025-08-19 04:38:07 +08:00
Acaki 4e44136f51 feat: prompt for restart when changing renderer 2025-08-19 04:04:18 +08:00
Acaki 62bd695138 Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal
# Conflicts:
#	VoidLink/ViewControllers/MainFrameViewController.m
#	VoidLink/ViewControllers/ToolboxViewController.swift
2025-08-19 02:21:03 +08:00
Acaki 0b9454896c Revert "feat: add proper CADisplayLink handling for iOS15 where commandBuffer presentDrawable:drawable afterMinimumDuration doesn't seem to work well"
This reverts commit ee67ff56c7.
2025-08-19 00:07:23 +08:00
Acaki ee67ff56c7 feat: add proper CADisplayLink handling for iOS15 where commandBuffer presentDrawable:drawable afterMinimumDuration doesn't seem to work well 2025-08-18 19:37:14 +08:00
Acaki ea1a2f3cd0 fix: metal renderer no image on ios15.2 simulator 2025-08-18 17:01:09 +08:00
Acaki 25ca131da1 fix: overlapping graphs for ipthone 13 pro max 2025-08-18 16:57:34 +08:00
Acaki 05f6dd86b1 fix: remove waitUntilCompleted call as semaphore is used 2025-08-18 01:30:59 +08:00
Acaki 2b052fef1e fix: frozen image when switching from metal to AVSB 2025-08-16 17:03:36 +08:00
Acaki d6aa64b816 fix: osc, stats, and video layering 2025-08-16 16:17:07 +08:00
Acaki b3664d0e2d refactor: remove unnecessary changes 2025-08-16 04:09:02 +08:00
Acaki 34eb2ccd31 fix: metal renderer packed format crash on emulator and lower iOS version 2025-08-15 04:32:48 +08:00
Acaki 0d32b8f06f fix: availability warnings 2025-08-15 01:18:03 +08:00
Acaki 73316ab5b8 fix: iphone storyboard and add more translations 2025-08-14 23:35:53 +08:00
Acaki 69ed345191 Merge remote-tracking branch 'refs/remotes/upstream/Integration' into feat/frame_pacing_metal
# Conflicts:
#	VoidLink/Base.lproj/iPhone.storyboard
2025-08-14 20:40:13 +08:00
Acaki 78188527a9 ci: build ipa for frame pacing metal branch 2025-08-14 20:35:55 +08:00
Acaki 2d57c3f7c1 feat: add translations for new settings 2025-08-14 20:11:59 +08:00
Acaki 4bfa6d270d refactor: remove old frame pacing setting as it's no longer used 2025-08-14 19:53:56 +08:00
Acaki 868288e70f Revert "feat: use CAMetalDisplayLink for metal renderer to fix refresh rate issues"
This reverts commit 628ce0f12e.
2025-08-13 15:15:52 +08:00
Acaki 2ab705efdf docs: add copyright info to metal renderer related code 2025-08-12 00:35:10 +08:00
Acaki 8388076b71 fix: graph not showing on stream start when it's enabled with metal renderer 2025-08-11 22:04:19 +08:00
Acaki 7a37d11aea Revert "fix: disappearing graph when showing and hiding settings panel in stream"
This reverts commit 76f765ce5f.
2025-08-11 21:47:19 +08:00
Acaki cdd5802a72 refactor: rename rendering backend setting and add to iphone dashboard 2025-08-11 21:34:23 +08:00
Acaki 951b7bcfb0 refactor: disable pip toggle when metal renderer is used as it's not supported 2025-08-11 20:54:16 +08:00
Acaki c5da9e9bf7 Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal 2025-08-11 15:52:01 +08:00
Acaki 386516ade9 fix: ios12 compatibility 2025-08-11 15:46:08 +08:00
Acaki 211f90307f Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal
# Conflicts:
#	VoidLink/mul.lproj/iPad.xcstrings
2025-08-11 15:05:21 +08:00
Acaki 5026a6fbcf fix: better handling of app resize for metal renderer 2025-08-10 20:59:24 +08:00
Acaki 628ce0f12e feat: use CAMetalDisplayLink for metal renderer to fix refresh rate issues
- update imgui to use stream fps instead of hardcoded 60
- hide renderer setting for iOS < 17 as CAMetalDisplayLink only supports later versions
2025-08-10 20:58:56 +08:00
Acaki 8d05e8e670 feat: disable render backend settings during stream 2025-08-10 18:37:42 +08:00
Acaki a9c4417434 Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal 2025-08-08 16:34:34 +08:00
Acaki 5c1d2de9e5 Revert "fix: start stream with graph enabled and metal doesn't show the graph"
This reverts commit 69026cbcd6.
2025-08-08 02:03:46 +08:00
Acaki 1442495c9e Revert "fix: temporary fix for fps drop issue when starting stream with graph disabled"
This reverts commit d72930877a.
2025-08-08 01:51:09 +08:00
Acaki 22ce2edfa3 fix: prefersHomeIndicatorAutoHidden conflicting with preferredScreenEdgesDeferringSystemGestures 2025-08-07 16:18:06 +08:00
Acaki 69026cbcd6 fix: start stream with graph enabled and metal doesn't show the graph 2025-08-07 04:25:15 +08:00
Acaki 76f765ce5f fix: disappearing graph when showing and hiding settings panel in stream 2025-08-07 04:25:15 +08:00
Acaki b8ba716f34 feat: add and option to toggle stats and graphs temporaily in toolbox 2025-08-07 04:25:15 +08:00
Acaki 131d115761 fix: lift stream view for metal renderer when OSK is invoked 2025-08-07 04:04:54 +08:00
Acaki 9b9f4f7603 fix: allow clicking through statistics overlay 2025-08-07 04:04:54 +08:00
Acaki d5af136da2 Merge remote-tracking branch 'refs/remotes/upstream/Integration' into feat/frame_pacing_metal 2025-07-31 03:33:51 +08:00
Acaki 238d17020b Merge remote-tracking branch 'refs/remotes/upstream/Integration' into feat/frame_pacing_metal
# Conflicts:
#	VoidLink.xcodeproj/project.pbxproj
#	VoidLink/Input/PureNativeTouchHandler.m
#	VoidLink/Input/StreamView.m
#	VoidLink/UIComputerView.m
2025-07-28 23:23:13 +08:00
Acaki 3bb78db2da Merge remote-tracking branch 'refs/remotes/upstream/Integration' into feat/frame_pacing_metal
# Conflicts:
#	VoidLink/Base.lproj/iPad.storyboard
#	VoidLink/ViewControllers/SettingsViewController.m
2025-07-25 01:50:47 +08:00
Acaki 4fb3f7fa97 fix: metal renderer stuck when disconnect and resume stream 2025-07-22 16:55:12 +08:00
Acaki 55ac533718 Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal 2025-07-21 22:34:15 +08:00
Acaki 2250cba35c feat: apply normalization fix to new shader 2025-07-20 19:06:41 +08:00
Acaki 13a1a4d97b Merge remote-tracking branch 'refs/remotes/upstream/Integration' into feat/frame_pacing_metal 2025-07-20 17:07:27 +08:00
Acaki 05d3567489 fix: missing frametime graph due to previous incorrect merge 2025-07-20 00:56:43 +08:00
Acaki f0b4e2e2ad fix: green tinted image for metal 10bit yuv444 2025-07-19 20:05:17 +08:00
Acaki d72930877a fix: temporary fix for fps drop issue when starting stream with graph disabled 2025-07-19 20:05:17 +08:00
Acaki 4d45c538cc Revert "feat: pip for metal renderer"
This reverts commit fa7710ce44.
2025-07-19 20:05:03 +08:00
Acaki f368076aaf Revert "refactor: use separate piplayer for AVSB pip function"
This reverts commit bd9e2e3215.
2025-07-19 17:43:46 +08:00
Acaki 61c5b958f2 feat: enable full range by default 2025-07-19 17:43:46 +08:00
Acaki 5bcc452c9f fix: metal renderer black screen 2025-07-16 02:40:51 +08:00
Acaki 5bf218d930 Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal
# Conflicts:
#	VoidLink/mul.lproj/iPad.xcstrings
2025-07-16 02:17:31 +08:00
Acaki 5df330f608 fix: stream freeze when turning screen off and on with AVSB 2025-07-16 02:15:28 +08:00
Acaki bd9e2e3215 refactor: use separate piplayer for AVSB pip function 2025-07-16 01:17:28 +08:00
Acaki 5a2d5af887 MetalVideoRenderer: don't recreate pipeline state every frame 2025-07-15 22:57:06 +08:00
Acaki 45895fa8bf Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal 2025-07-15 22:38:37 +08:00
Acaki fa7710ce44 feat: pip for metal renderer 2025-07-15 22:37:58 +08:00
Acaki 7691d2c0eb Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal
# Conflicts:
#	VoidLink/Base.lproj/iPad.storyboard
#	VoidLink/Limelight.xcdatamodeld/VoidLink v1.0.xcdatamodel/contents
2025-07-15 18:10:07 +08:00
Acaki 686418997b fix: metal renderer teardown and resume 2025-07-15 18:08:54 +08:00
Acaki 8126173128 fix: overlay level hanling 2025-07-15 02:30:08 +08:00
Acaki 6682e64519 feat: allow toggling graphs in stream with shortcut 2025-07-15 02:06:13 +08:00
Acaki 7bafa39960 Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal 2025-07-14 01:33:21 +08:00
Acaki 37379220b4 fix: enableGraphsSwitch doesn't persist 2025-07-14 01:33:01 +08:00
Acaki f6032969c3 fix(AVSB): black screen when turning screen off and on 2025-07-13 22:07:40 +08:00
Acaki 02ede90d77 refactor: remove comments added by xcode 2025-07-13 16:25:29 +08:00
Acaki 84cb37f6f3 fix: touch input and settings 2025-07-13 04:22:55 +08:00
Acaki 46526603cc Merge remote-tracking branch 'upstream/Integration' into feat/frame_pacing_metal
# Conflicts:
#	VoidLink/Base.lproj/iPad.storyboard
#	VoidLink/Database/DataManager.h
#	VoidLink/Database/DataManager.m
#	VoidLink/Database/TemporarySettings.m
#	VoidLink/ViewControllers/MainFrameViewController.m
#	VoidLink/ViewControllers/SettingsViewController.h
#	VoidLink/ViewControllers/SettingsViewController.m
#	VoidLink/ViewControllers/StreamFrameViewController.m
2025-07-13 01:01:51 +08:00
Acaki 80c6d488cf fix: attempt to fix background and resume issues with pip and new renderer changes 2025-07-13 00:52:08 +08:00
Acaki 29c8382825 fix: conflicts 2025-07-12 22:05:31 +08:00
Acaki 47a590e92a Merge branch 'Integration' into feat/frame_pacing_metal
# Conflicts:
#	VoidLink.xcodeproj/project.pbxproj
#	VoidLink/Base.lproj/iPad.storyboard
#	VoidLink/Database/DataManager.m
#	VoidLink/Database/TemporarySettings.m
#	VoidLink/SceneDelegate.h
#	VoidLink/Stream/StreamManager.m
#	VoidLink/Stream/VideoDecoderRenderer.h
#	VoidLink/Stream/VideoDecoderRenderer.m
#	VoidLink/ViewControllers/MainFrameViewController.m
#	VoidLink/ViewControllers/SettingsViewController.m
2025-07-12 20:12:20 +08:00