Tudor Brindus
a46a3a2668
[all] use explicit void parameter lists
...
This makes it a compile-time error to call a function that semantically
takes no parameters with a nonzero number of arguments.
Previously, such code would still compile, but risk blowing up the stack
if a compiler chose to use something other than caller-cleanup calling
conventions.
2021-01-14 17:29:37 +11:00
Geoffrey McRae
f85b6418b8
[common] linux: stop event signals accumulating after they are serviced
2021-01-08 01:18:02 +11:00
Quantum
7e4d323427
get display DPI info to scale mouse movement
2021-01-05 09:03:29 +11:00
Geoffrey McRae
0badf2a84c
[all] move defines for LGMP_QUEUE_*_LEN into KVMFR.h
2020-10-30 18:48:41 +11:00
Geoffrey McRae
6799d518a5
[client] common: added spin timeout to framebuffer wait
2020-10-30 03:27:28 +11:00
Geoffrey McRae
4f9544d61d
[client] egl: added DMA texture support for direct upload
...
Note: This only works with the KVMFR kernel module in a VM->VM
configuration. If this causes issues it can be disabled with the new
option `app:allowDMA`
2020-10-30 02:36:45 +11:00
Geoffrey McRae
5522e93fb9
[common] linux: added helpers for ivshmem DMA usage
2020-10-30 02:36:45 +11:00
Geoffrey McRae
0efe7dc63c
[common] linux: added support for kvmfr dmabuf
2020-10-30 02:36:45 +11:00
Geoffrey McRae
a70858aea0
[client] reworked frame timing waits for better responsiveness
2020-10-26 18:09:45 +11:00
Geoffrey McRae
9ff1859dc1
[host] windows: check the ivshmem device exists in the service
2020-10-19 02:49:15 +11:00
Geoffrey McRae
58ba76a27f
[client] seperate frame setup and data events
2020-10-12 19:43:29 +11:00
Geoffrey McRae
b2961c7939
[all] added new format version field to frame header
2020-10-12 18:52:37 +11:00
Geoffrey McRae
6650e58a4a
[common] linux: print reason for failure to open the shm file/device
2020-10-12 17:48:31 +11:00
Geoffrey McRae
9c6bd888fd
[host/client] added experimental RGBA16 float support (EGL only)
2020-10-11 19:22:31 +11:00
Geoffrey McRae
e6c88a4af3
[all] be smarter about getting the git version
2020-10-09 02:17:20 +11:00
Geoffrey McRae
7e362050f7
[all] update KVMFR to provide cursor hotspot information
...
This commit bumps the KVMFR protocol version as it adds additional
hotspot x & y fields to the KVMFRCursor struct. This corrects the issue
of invalid alignment of the local mouse when the shape has an offset
such as the 'I' beam.
2020-08-20 13:51:01 +10:00
Geoffrey McRae
431ae3fc55
[common] linux: fix issue with infinite timeout events
2020-08-11 19:31:11 +10:00
Geoffrey McRae
d9a80b16f0
[common] properly define _GNU_SOURCE and set the thread names
2020-08-10 16:22:02 +10:00
Geoffrey McRae
90d0cd873d
[common] added a sleep to the framebuffer spinlock and a sane timeout
2020-08-10 16:18:08 +10:00
Geoffrey McRae
19c2fe9b5e
Revert "[common] linux: improve event mechanics"
...
The logic here is wrong, this should be done externally as multiple
waiters will cause issues
2020-08-09 14:44:00 +10:00
Geoffrey McRae
88d25ee98c
[common] linux: improve event mechanics
2020-08-09 13:26:55 +10:00
Geoffrey McRae
be7820303f
[common] fixed debug formatting across platforms
2020-08-03 15:05:35 +10:00
Geoffrey McRae
43503222c7
[common] framebuffer: fixed incorrect streaming usage
2020-08-03 14:41:57 +10:00
Geoffrey McRae
85b8c12abf
[common] adjust framebuffer read/write strategy for better cache usage
2020-08-03 12:33:08 +10:00
Geoffrey McRae
7af053497e
[common] unroll the framebuffer write loop and increase the chunk size
2020-08-03 12:24:17 +10:00
Geoffrey McRae
aa32c5ffad
[common] framebuffer: added missing header include
2020-08-03 11:58:38 +10:00
Geoffrey McRae
62d1bd1ea2
[common] framebuffer: use stream load instead of plain load
2020-08-03 11:55:38 +10:00
Geoffrey McRae
2329e993ee
[common] fixed framebuffer write SIMD code performance
2020-08-03 11:44:24 +10:00
Geoffrey McRae
da655b86c3
[common] improve frambuffer copy to avoid cache pollution (SIMD)
2020-08-03 11:16:30 +10:00
Max Sistemich
c5ff8bd4ce
[common] linux: implement timers
2020-07-25 00:38:15 +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
4441427943
[client] implemented better clock drift correction
2020-05-22 20:45:59 +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
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
Geoffrey McRae
fdb9a9cca8
use a timer for the LGMP host instead of a thread
2020-04-24 21:31:12 +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
Geoffrey McRae
dbd7db7787
[common] fix framebuffer_prepare to use atomic_store
2020-04-12 13:16:55 +10:00
Geoffrey McRae
1222fd40b7
[common] fix FrameBuffer to use atomics correctly
...
Might Fix #248
2020-04-12 13:14:53 +10:00
chrsm
2440272307
[common] fix build for newer versions of binutils
...
binutils has changed several macros. Added ifdef to allow building with
stable and bleeding edge versions.
refs #232
2020-02-25 22:31:55 +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
3f3a8f898d
[common] 1e9
is a floating point notation
2020-01-29 14:01:14 +11:00
Geoffrey McRae
6e62ea5364
[common] fix building on mingw for linux
2020-01-28 05:10:38 +11:00
Geoffrey McRae
29e5f193f0
[common] added timestamps to log output
2020-01-28 03:57:19 +11:00
Geoffrey McRae
8dbc1daaf4
[common] linux: signal should signal all listeners
2020-01-27 14:33:57 +11:00
Geoffrey McRae
bced5f95ff
[all] make cursor visible a flag and send it seperate to position
2020-01-27 02:07:32 +11:00
Geoffrey McRae
d860d6b891
[c-host] win: fixed improper signal detection in event code
2020-01-26 17:49:04 +11:00
Geoffrey McRae
b7e4426002
[c-host] inform the client if we have positional cursor information
2020-01-26 17:25:14 +11:00
Geoffrey McRae
c7aa8871e4
[common] fixed improper comment parsing, fixes #233
2020-01-21 16:35:21 +11:00
Geoffrey McRae
4746c89227
[all] moved time and locking methods to the common library
2020-01-17 14:35:08 +11:00