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
Geoffrey McRae
278d851c7c
[egl] added fallback for platforms not supporting eglGetPlatformDisplay
2020-01-17 11:50:00 +11:00
Geoffrey McRae
17e05c6fd5
[all] expose the FrameBuffer struct for correct sizeof calculations
2020-01-13 19:30:49 +11:00
Geoffrey McRae
9846762991
[all] align the frame data to the page boundary
2020-01-13 19:17:09 +11:00
Geoffrey McRae
0d29527758
[common] added agnostic function sysinfo_getPageSize
2020-01-13 15:52:31 +11:00
Geoffrey McRae
6aeafc6651
[common] add comment support to the ini parser
2020-01-12 22:44:41 +11:00
Geoffrey McRae
1aadf91901
[common] revert /dev/uio0 naming change behaviour
2020-01-12 22:37:10 +11:00
Geoffrey McRae
e554635e48
[spice] turn on TCP_QUICKACK
...
https://assets.extrahop.com/whitepapers/TCP-Optimization-Guide-by-ExtraHop.pdf
2020-01-11 16:03:28 +11:00
Geoffrey McRae
22f04a926f
[common] numerious bad usage bug fixes
2020-01-10 18:04:22 +11:00
Geoffrey McRae
2d755a45e0
[client] added support for LGMP
2020-01-09 20:32:42 +11:00
Geoffrey McRae
73e8bc41cd
[c-host] don't overflow the pointerMemory array
2020-01-09 16:15:04 +11:00
Geoffrey McRae
0b8f1a18b2
[LGMP] start of c-host conversion to use LGMP
2020-01-09 15:42:32 +11:00
Geoffrey McRae
8caa220ad5
[common] link setupapi for ivshmem windows implementation
2020-01-06 20:59:34 +11:00
Geoffrey McRae
b8203bec53
[common] properly detect all versions of Windows 8
2020-01-06 20:55:21 +11:00
Geoffrey McRae
5db4c32035
[c-host] dont use DX12 feature levels on Windows8
...
Fixes #218
2020-01-06 20:53:15 +11:00
Geoffrey McRae
45ee79014d
[common] added back support for shared memory files
2020-01-06 00:20:30 +11:00
Geoffrey McRae
4345d94d68
[client] update client to use the common ivshmem* methods
2020-01-03 15:17:14 +11:00
Geoffrey McRae
89d6ea0b5d
[common] move ivshmem code into the common library
2020-01-03 14:53:56 +11:00
Geoffrey McRae
ba31c78412
[client] switch from SDL_Thread to lgThread
2020-01-02 23:59:06 +11:00
Geoffrey McRae
1c1d2a0568
[common] moved linux agnostic code into the common library
2020-01-02 23:34:35 +11:00
Geoffrey McRae
0c6ff6822d
[common/c-host] move agnostic code into common
library
2020-01-02 22:21:42 +11:00
Geoffrey McRae
547598c61c
[common] locked section macro should use it's argument
2019-12-16 15:47:23 +11:00
Geoffrey McRae
711fbc549a
[c-host] dxgi: interlock so we can map outside of the capture thread
2019-12-16 15:18:26 +11:00
Geoffrey McRae
f85c017184
[c-host] DXGI profiled and tuned again :)
2019-12-15 16:21:21 +11:00
Geoffrey McRae
e1bfb1234b
[common] obey the destination buffer size
2019-10-14 18:08:06 +11:00
Geoffrey McRae
9377fdfc37
[all] bump KVMFR version due to incompatible changes
2019-10-14 17:19:19 +11:00
Geoffrey McRae
8ef1aee35c
[common] fix bug in framebuffer_read
2019-10-09 14:11:45 +11:00
Geoffrey McRae
bca54ab1f6
[client/host] added new asyncronous memory copy
...
This changes the method of the memory copy from the host application to
the guest. Instead of performing a full copy from the capture device
into shared memory, and then flagging the new frame, we instead set a
write pointer, flag the client that there is a new frame and then copy
in chunks of 1024 bytes until the entire frame is copied. The client
upon seeing the new frame flag begins to poll at high frequency the
write pointer and upon each update copies as much as it can into the
texture.
This should improve latency but also slightly increase CPU usage on the
client due to the high frequency polling.
2019-10-09 13:53:02 +11:00