Geoffrey McRae
fb9b772db0
[client] we are getting the clock anyway, just reset the time
2020-08-09 15:54:45 +10:00
Geoffrey McRae
302b988524
[client] use atomics to track frame counts and avoid extra signals
2020-08-09 15:14:17 +10:00
Geoffrey McRae
06aee158de
[client] egl: make better use of atomics and fix modulus bug
2020-07-24 17:39:16 +10:00
Samuel Bowman
bd42445ea7
[client] add option to capture input on start
2020-07-17 08:39:32 +10:00
Geoffrey McRae
ede96fa486
[client] egl: don't map the texture until it's needed
...
The texture buffer may still be in use if we try to re-map it
immediately, instead only map when we need it mapped, and unmap
immediately after advancing the offset allowing the render thread to
continue while the unmap operation occurs
2020-05-30 16:50:27 +10:00
Geoffrey McRae
fcbdf7ba4f
[client] egl: fix non-streaming texture updates
2020-05-29 16:54:25 +10:00
Geoffrey McRae
e8c949c1e7
[client] egl: dont re-setup the fps texture on each update
2020-05-29 16:47:21 +10:00
Geoffrey McRae
28c93ef5ac
[client] egl: don't unmap/map all buffers for each frame
2020-05-29 15:48:59 +10:00
Geoffrey McRae
d7921c5d5f
[client] report the host version on mismatch if possible
2020-05-29 14:24:06 +10:00
Geoffrey McRae
6d296f2b44
[client] stop people running the client as root
2020-05-29 14:18:02 +10:00
Geoffrey McRae
553e2830bb
[client/host] share the host version with the client for diagnostics
2020-05-29 14:14:31 +10:00
Geoffrey McRae
08062e3fc3
[client] check for underflow when checking frame time
2020-05-22 22:02:44 +10:00
Geoffrey McRae
4441427943
[client] implemented better clock drift correction
2020-05-22 20:45:59 +10:00
Geoffrey McRae
f5da432d38
[client] put back the fps correction from drift/skew
2020-05-22 18:39:19 +10:00
Geoffrey McRae
60f665a65c
[client] more fps limiter fixes
2020-05-22 18:28:16 +10:00
Geoffrey McRae
9b6174793a
[client] revert cusror update render trigger
...
While it makes the mouse a bit nicer it causes frame skips during cursor
movement.
2020-05-22 18:16:48 +10:00
Geoffrey McRae
dedab38b99
[client] rename fpsLimit
to fpsMin
2020-05-22 18:15:17 +10:00
Geoffrey McRae
4580b18b04
[client] fix the fps limiter
2020-05-22 18:06:29 +10:00
Geoffrey McRae
88dad36449
[client] allow mouse movements to trigger render updates
...
Now EGL is lockless we can allow cursor updates to trigger frame updates
directly.
2020-05-22 18:00:18 +10:00
Geoffrey McRae
075c82b32c
[client] egl: fix context binding enabling a lock free implementation
2020-05-22 17:47:19 +10:00
Geoffrey McRae
ae2ffd0a28
[client] drop the default FPS target to 60 now that the fps is dynamic
2020-05-21 14:59:51 +10:00
Geoffrey McRae
26eea64689
[client] remove microstutter warning when using the fps display
...
This warning was added when it was thought to be the cause of the
microstutters, however this has been disproven with the latest batch of
changes.
2020-05-21 14:16:01 +10:00
Geoffrey McRae
c9ff1e1949
[client] egl: alter warning about low fps as it doesn't apply anymore
2020-05-21 14:09:51 +10:00
Geoffrey McRae
e31f38eadc
[client] allow frame updates to be triggered by a timed event
...
This is a major change to how the LG client performs it's updates. In
the past LG would operate a fixed FPS regardless of incoming update
speed and/or frequency. This change allows LG to dynamically increase
it's FPS in order to better sync with the guest as it's rate changes.
2020-05-21 13:41:59 +10:00
Geoffrey McRae
756b57400b
[client] egl: move context init to lock function
2020-05-21 11:55:35 +10:00
Geoffrey McRae
01bfd2e090
[client] egl: make better use of the second thread for streaming
2020-05-21 11:44:56 +10:00
Geoffrey McRae
240d0ff263
[client] add short delay to improve initial startup
2020-05-21 09:32:08 +10:00
Geoffrey McRae
3b47a4113f
[client/obs] update to use new LGMP init api
2020-05-21 09:28:41 +10:00
Geoffrey McRae
a6d6a49f82
[client] egl: use atomic members instead of locking the entire state
2020-05-21 08:20:30 +10:00
Geoffrey McRae
d899c26617
[client] egl: add low FPS warning when failing to keep up
2020-05-19 22:42:55 +10:00
Geoffrey McRae
73ba325072
[client] egl: reworked the streaming texture pipeline
2020-05-19 22:03:36 +10:00
Geoffrey McRae
06f8911ee1
[all] project cleanup
2020-05-19 11:06:39 +10:00
Geoffrey McRae
f96f0fecda
[client] egl: use proper atomics for pbo counting
2020-05-18 09:06:11 +10:00
Geoffrey McRae
18cc8d7cab
[client] fix host wait logic and print more useful help
2020-05-17 11:54:07 +10:00
Geoffrey McRae
b7ca3d7e37
[client] cleanup debug output
2020-05-17 11:25:27 +10:00
Geoffrey McRae
c4bf992c0c
[client/host] added enforcement of KVMFR versioning
2020-05-17 11:13:08 +10:00
feltcat
e7f088ef52
[client] egl: typo fix in info message
...
"Multsampling" to "Multisampling"
2020-04-24 19:01:42 +10:00
Geoffrey McRae
243efcd51a
[client] fix missing release_key_binds for mouse sensitivity bindings
2020-04-23 18:00:17 +10:00
feltcat
e3cbdd18a0
[client] add quit keybind
2020-04-23 17:57:58 +10:00
Geoffrey McRae
f6691a90c0
[client/obs] improve frambuffer_read functions to support copy pitch
...
Fixes #244
2020-04-14 13:27:07 +10:00
Mikko Rasa
ead09ed110
[client] opengl: render frame if config didn't change
2020-04-14 12:19:59 +10:00
Geoffrey McRae
75bc038144
[client] removed accidental debug commit
2020-04-12 13:48:59 +10:00
Geoffrey McRae
7018a3e737
[c-host] dxgi: close the desktop on deinit
2020-04-12 13:46:56 +10:00
Geoffrey McRae
b5f4c639fd
[client] provide better mouse tracking when exiting/entering the window
2020-04-07 14:54:38 +10:00
fishery
94a35a6558
[client] fix buffer overflow in opengl_options
...
buffer overflow loading opengl_options
2020-04-02 00:17:19 +11:00
Geoffrey McRae
95f5962186
[client] update to properly disconnect from spice
2020-02-01 14:24:23 +11:00
Geoffrey McRae
0b7f422d5d
[client] moved spice into a seperate repository
2020-01-31 21:39:57 +11:00
Geoffrey McRae
939bb07603
[all] cleanup use of atomic locking and switch to C11 stdatomic
2020-01-29 19:06:09 +11:00
Geoffrey McRae
cc2c49644d
[spice] reworked to avoid locking requirements on the input channel
...
POSIX `send` is thread safe, to take advantage of this the code has been
changed to construct a contiguous buffer and perform the send in a
single operation preventing any risk of a race condition.
Only the main channel still requires an interlock as the VD agent
requires multiple sends to transmit a full buffer.
2020-01-29 18:53:33 +11:00
Geoffrey McRae
29f221d547
[spice] improve connection code to use a single buffer
2020-01-29 16:52:23 +11:00