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