Commit Graph

79 Commits

Author SHA1 Message Date
arcnmx
c72afff055 [host] Makefile to build host app with mingw 2017-12-14 15:40:07 -05:00
arcnmx
d052239721 [host] mingw interlocked intrinsics 2017-12-14 15:39:53 -05:00
arcnmx
fdfa3006b4 [host] ICapture portable interface definition 2017-12-14 15:39:33 -05:00
arcnmx
a01d755ab5 [host] configure/ifdef out nvfbc 2017-12-14 15:39:19 -05:00
arcnmx
9a9d84cd1f [host] remove ATL, mingw doesn't support it 2017-12-14 15:39:09 -05:00
arcnmx
892a3970ff [host] remove nonexistent ICapture function 2017-12-14 15:39:03 -05:00
arcnmx
d6fee6bf0b [host] inline the implementation of min() 2017-12-14 15:38:51 -05:00
arcnmx
7691093121 [host] DEBUG_* string format fixes 2017-12-14 15:38:43 -05:00
arcnmx
524183661d [host] fix include paths and casing 2017-12-14 15:38:25 -05:00
Geoffrey McRae
c0b67e7cb2 [host] DXGI: copy based on the actual pitch 2017-12-14 20:34:32 +11: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
b0f83d7106 [host] dxgi reinit timeout was too short 2017-12-12 05:05:21 +11:00
Geoffrey McRae
b2ed80a595 [host] removed ARM build configuration 2017-12-12 04:43:53 +11:00
Geoffrey McRae
219179b375 [misc] added website url to sources 2017-12-12 04:30:47 +11:00
Geoffrey McRae
8c8d0ec7af [host] fixed DXGI cursor offset 2017-12-12 03:59:58 +11:00
Geoffrey McRae
ad6c2ab544 [host] Cropping is still required on NvFBC... :( 2017-12-12 03:59:58 +11:00
Geoffrey McRae
7f3657e5f0 [host] reversed the cropping logic, likely not needed anymore 2017-12-12 03:59:57 +11:00
Geoffrey McRae
a61293b551 [host] fixed support for high DPI desktops (4K+) 2017-12-12 03:59:57 +11:00
Geoffrey McRae
65ba649b36 [host/test] vertical align the text too 2017-12-12 03:59:57 +11:00
Geoffrey McRae
7d7074e9f6 [host/test] center text in the window 2017-12-12 03:59:57 +11:00
Geoffrey McRae
3336f27b5a [host] added sync-test application 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
51bc7631ab [host] fixed incorrect checking of difference map 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
6c9269b64f [host] removed deprecated MTMemcpy from the project 2017-12-12 03:59:56 +11:00
Geoffrey McRae
4a850f531c [host] added new CrashHandler class to project 2017-12-12 03:59:56 +11:00
Geoffrey McRae
df5aa13029 [host] Added a crash handler to write out mini dumps 2017-12-12 03:59:56 +11:00
Geoffrey McRae
d450d792e3 [host] Don't specify D3D11_CREATE_DEVICE_DEBUG in release builds 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
12617479d4 [host] Prevent NvFBC from stalling
NvFBC will wait forever for a change if nothing has changed, instead use
a timeout so that if the guest has re-connected it doesn't stall waiting
for a guest update.
2017-12-12 03:59:55 +11:00
Geoffrey McRae
f91b837172 [host] fixed NvFBC bpp problem in nocrop mode 2017-12-12 03:59:55 +11:00
Geoffrey McRae
3a64f9b96c [host] Use ARGB instead of RGB for performance
This is counter intuative as it consumes more RAM, but performance is
improved on the client as video hardware doesn't work in RGB but BGRA.
2017-12-12 03:59:55 +11:00
Geoffrey McRae
ad9b78a7cc [host] altered to use common memcpySSE 2017-12-12 03:59:55 +11:00
Geoffrey McRae
9de71ed2da [host] memory performance improvements 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
71c6e5d317 [host] NvFBC now takes full screen capture and crops off letterboxing
For this to function correctly the display scaling in the nvidia control
panel must be set to "No scaling", failure to do so will cause incorrect
window cropping. This is due to the inability to capture a non-scaled
image using NvFBC.
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
fcf0976081 [host] removed MTMemcpy, overheads negate performance gains 2017-12-12 03:59:55 +11:00
Geoffrey McRae
5899508a5b [host] add initial buffering support 2017-12-12 03:59:55 +11:00