Commit Graph

48 Commits

Author SHA1 Message Date
Geoffrey McRae
871aee2aae [host] fixed missed cursor shape updates 2018-05-28 10:34:24 +10:00
Geoffrey McRae
3adcbfaa7d [host] cosmetics 2018-05-24 18:08:59 +10:00
Geoffrey McRae
213c220d83 [host] don't assume the capture was successful 2018-05-24 17:05:49 +10:00
Geoffrey McRae
eef18dd655 [host] add critical section for m_cursorInfo 2018-05-24 16:50:50 +10:00
Geoffrey McRae
b29f1c62bb [host] update to KVMFR v6 and decouple mouse 2018-05-24 11:24:24 +10:00
arcnmx
35b4d75eea [host] mingw-w64 compile fixes (#44)
* [host] rename min() to LG_MIN()

* [host] format string type fixes, %Ix doesn't exist in mingw

* [host] DXGI minor fixes

* [host] mingw lacks media foundation api headers and QISearch
2018-01-30 21:07:46 +11:00
Geoffrey McRae
9b7f54fa35 [host] service restarts now restart capture interfaces 2017-12-30 13:35:45 +11:00
Geoffrey McRae
f6f4c8070a [host] adjusted frame and cursor offset calculations 2017-12-29 06:11:32 +11:00
Geoffrey McRae
59fa025292 [host] add store fence to shm writes as we are using writecombine 2017-12-28 15:42:44 +11:00
arcnmx
f26d8fbd3e [host] remove unused variables 2017-12-21 14:42:49 +11:00
Geoffrey McRae
43b096a5e7 [host] added multi-threaded memcopy for high resolutions 2017-12-21 13:49:36 +11:00
Geoffrey McRae
ec6c35010b [host] updated host application for the new mt client format
See prior commit for details on this update
2017-12-20 00:58:42 +11:00
Geoffrey McRae
db59e67ddb [host] update capture classes to return the pitch 2017-12-17 05:05:56 +11:00
Geoffrey McRae
1815387bbb [host] update to use the new header format 2017-12-17 05:03:47 +11:00
Geoffrey McRae
9d8f3a79b0 [host] detect switch user event and wait instead of terminating
Fixes #22
2017-12-17 04:50:04 +11:00
Geoffrey McRae
758b7af754 [host] use a local copy of the header and then update it all in one go
Writing to shared memory is much faster then reading as the shared
memory is not cached, this change ensures we are using a local copy
of the header performing the final update all in one go.
2017-12-16 10:06:55 +11:00
Geoffrey McRae
d08fba9cf9 [host] fix cursor not visible on client reconnect 2017-12-15 12:56:39 +11:00
Geoffrey McRae
df13340439 [host] reset the update count when the guest flags a restart 2017-12-15 12:08:41 +11:00
Geoffrey McRae
0948dda12f [host] implemented variable cursor buffer size 2017-12-15 11:30:25 +11:00
arcnmx
d052239721 [host] mingw interlocked intrinsics 2017-12-14 15:39:53 -05:00
arcnmx
524183661d [host] fix include paths and casing 2017-12-14 15:38:25 -05:00
Geoffrey McRae
163f612efa [host] treat flags field as volatile 2017-12-14 06:56:33 +11:00
Geoffrey McRae
e379f70784 [host] switch to fast polling mode, fixes stuttering issues 2017-12-14 02:23:11 +11:00
Geoffrey McRae
15830a81f7 [host] save the last cursor shape and send it to the client on restarts 2017-12-13 21:46:23 +11:00
Geoffrey McRae
a216655582 [host] reduce event timeout to speed up client reset 2017-12-13 21:07:56 +11:00
Geoffrey McRae
fc49c10ea6 [host] added clean guest restart mechanisim 2017-12-13 21:06:03 +11:00
Geoffrey McRae
f633c63d51 [host] added support for cursor pitch 2017-12-13 04:47:28 +11:00
Geoffrey McRae
4b4aca841c [host] don't spam the client with mouse updates when nothing has changed 2017-12-13 02:30:19 +11:00
Geoffrey McRae
818164da7f [host] updated to use new protocol design 2017-12-12 07:56:50 +11:00
Geoffrey McRae
219179b375 [misc] added website url to sources 2017-12-12 04:30:47 +11:00
Geoffrey McRae
a61293b551 [host] fixed support for high DPI desktops (4K+) 2017-12-12 03:59:57 +11:00
Geoffrey McRae
b1d48943c7 [host] the client doesn't use interrupts anymore, no need to ring it 2017-12-12 03:59:57 +11:00
Geoffrey McRae
0b290d83d3 [host] Numerous performance improvements and minor bug fixes 2017-12-12 03:59:57 +11:00
Geoffrey McRae
ec13fc161d [host] rename project to "Looking Glass" 2017-12-12 03:59:57 +11:00
Geoffrey McRae
a54f3000f5 [host] reworked capture to capture at the hosts's frame rate
This will help frame delivery to the host arrive on time, as well as
allow lower latency with a higher host refresh rate.

Data offset addresses are now also pre-calculated rather then
updated on every frame.
2017-12-12 03:59:56 +11:00
Geoffrey McRae
3bc6f29dc3 [host] syncronization improvements 2017-12-12 03:59:56 +11:00
Geoffrey McRae
5ecf2d36c1 [host] Updated to use the new header format 2017-12-12 03:59:55 +11:00
Geoffrey McRae
534e9425f1 [host] Added SMID BGRAToRGB support and implemented it in DXGI 2017-12-12 03:59:55 +11:00
Geoffrey McRae
6eb40a1897 [host] added option parsing to application 2017-12-12 03:59:55 +11:00
Geoffrey McRae
16a8acb303 [host] implemented double buffering 2017-12-12 03:59:55 +11:00
Geoffrey McRae
5899508a5b [host] add initial buffering support 2017-12-12 03:59:55 +11:00
Geoffrey McRae
44d7e9e77c [host] added initial framework for DXGI capture 2017-11-02 17:57:11 +11:00
Geoffrey McRae
23b0dc7c81 [host] Added GPLv2 license to host project 2017-11-01 03:53:06 +11:00
Geoffrey McRae
01b10b3ee1 [host] converted program to a windows hidden/background user app.
NvFBC will not start when running as a service, likely intentional
security of the API to prevent it from being abused.
2017-11-01 03:23:46 +11:00
Geoffrey McRae
ffbd89fb77 [host] NvFBC is now functional 2017-11-01 01:46:47 +11:00
Geoffrey McRae
85f39b7070 [host] initial NvFBC implementation 2017-11-01 00:51:53 +11:00
Geoffrey McRae
5f19092e4e [cosmetics] fixed case of filenames and includes 2017-10-31 23:22:55 +11:00
Geoffrey McRae
3dd205bafc [host] initial service framework implemented 2017-10-31 23:21:05 +11:00