Commit e950d8d
Fix dynamic resizing and minimized queue lifecycle (#35)
* fix(deko3d): handle dynamic resolution resize (green border + touch compress)
Mirrors Moonlight DKVideoRenderer::updateRenderState and GLVideoRenderer::checkAndUpdateScale.
checkAndInitialize was frozen at first frame size (frame_width_/height), leaving stale luma_layout/chroma_layout/software_slots and transform.uv. On 1080p->720p drop, updateSoftwareFrame copied 1920x1080 from 1280x720 source, leaving bottom 360 rows uninitialized (green YUV) and video appears shrunk. Touch via TouchMapping used new stream_width while renderer kept old uv.
Fix: add updateFrameLayouts(), recordStaticCommands(), updateRenderState() that detects frame/screen size or format change, queue.waitIdle(), clears frame_mappings/current_mapping, releases/reallocates software slots, rebuilds layouts and static commands. drawLatest now calls updateRenderState after checkAndInitialize. Tested: cmake -B build/switch -G Ninja:exit0, cmake --build --target SwitchNOW.nro:exit0 (27463736 bytes).
* fix(ui): keep Switch awake while in GFN queue
BeginLaunchSessionDialog polls every 5s for CloudMatch queue (status 0/1/6) but never called disableScreenDimming. Switch auto-sleep kicks queue. Mirrors StreamView onFocusGained disableScreenDimming(true).
Enable dimming block after dialog open, clear on Cancel, on success close, and on error. StreamView re-enables on push.
* fix(input): use negotiated desktop size for touch/mouse
stream_width() follows the dynamic encode size (e.g. 1080p -> 720p) while GFN keeps the remote desktop at the negotiated resolution. Mapping touches to the dynamic size compresses input toward top-left.
Add negotiated_stream_width/height() returning settings_.width/height and use it in StreamView touch, SendNteClick and ReanchorRemotePointer. Overlay still shows dynamic size.
* feat(queue): minimized background queue with live restore
Add Minimize button to launch dialog; queue keeps polling while browsing. Header queue chip (hidden idle, number-only in queue, tap to restore). Minus+Plus restores a light live dialog (position ticks every poll). Queue notify threshold setting 5/10/20/50 in Settings Interface. Local testing, not for upstream PR.
* feat(keyboard): direct Bksp/Del/arrows bypassing applet diff
Applet diff can't delete pre-existing remote text. Add tap-only Bksp/Del/Left/Right shortcut buttons sending strokes directly. Local testing.
* Preserve software color range across renderer reconfiguration
---------
Co-authored-by: Wheeze <mackenzierearcon@gmail.com>1 parent 159c8f3 commit e950d8d
27 files changed
Lines changed: 1559 additions & 208 deletions
File tree
- .github/workflows
- app/src
- stream/deko3d
- docs
- scripts
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
310 | 310 | | |
311 | 311 | | |
312 | 312 | | |
313 | | - | |
314 | | - | |
| 313 | + | |
| 314 | + | |
315 | 315 | | |
316 | 316 | | |
317 | 317 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
27 | 31 | | |
28 | 32 | | |
29 | 33 | | |
| |||
44 | 48 | | |
45 | 49 | | |
46 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
47 | 63 | | |
48 | 64 | | |
49 | 65 | | |
| |||
71 | 87 | | |
72 | 88 | | |
73 | 89 | | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
74 | 94 | | |
75 | 95 | | |
76 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
578 | 578 | | |
579 | 579 | | |
580 | 580 | | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
581 | 594 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
203 | 208 | | |
204 | 209 | | |
205 | 210 | | |
| |||
0 commit comments