Geoffrey McRae
106136afd6
[host] corrections to build with VC++
2017-12-15 09:51:23 +11:00
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
Geoffrey McRae
c18e5a13aa
[host] corrected error in DXGI retry logic
2017-11-04 11:15:06 +11:00
Geoffrey McRae
346f62a48a
[host] added getc to wait around when debugging
2017-11-04 06:12:44 +11:00
Geoffrey McRae
1975bc13bc
[host] make DXGI detect the secure desktop and wait
...
While we can't interact with UAC and CTL+ALT+DEL stuff, we can alteast
wait around for it to return so we can re-init and continue to stream.
2017-11-04 06:11:24 +11:00
Geoffrey McRae
00c96a7dec
[host] removed left behind change from debugging
2017-11-04 04:02:55 +11:00
Geoffrey McRae
9287ec97eb
[host] made DXGI ReInitialization more robust on mode changes
...
DXGI doesn't like to restart too fast, com exceptions are logged and the
duplication device fails to create with an E_ACCESS_DENIED error. Adding
a 200ms sleep between teardown and re-init resolves this issue.
2017-11-04 04:00:00 +11:00
Geoffrey McRae
32d61023e5
[host] fixed debug message output
2017-11-04 03:58:19 +11:00
Geoffrey McRae
902a653ab2
[host] removed deprecated DXGICapture code from the project
2017-11-04 00:19:06 +11:00
Geoffrey McRae
8fadf0a80c
[host] Added cursor support to DXGI capture
2017-11-04 00:14:30 +11:00
Geoffrey McRae
f90c258c34
[host] initial rewrite of DXGI capture
2017-11-03 22:20:48 +11:00
Geoffrey McRae
ffd2fc1824
[host] Fixed the DXGIManager to capture the cursor properly.
...
Note: This class will be entirely re-written when I find some time,
it is very poorly implemented, full of assumptions and creates a new
texture for every single frame 🤦 .
2017-11-03 00:18:37 +11:00
Geoffrey McRae
7d83af9410
[host] added DXGI Desktop Duplication support
2017-11-02 22:37:19 +11:00
Geoffrey McRae
44d7e9e77c
[host] added initial framework for DXGI capture
2017-11-02 17:57:11 +11:00
Geoffrey McRae
fc192c0016
[host] removed namespace sillyness
2017-11-02 17:57:10 +11:00
Geoffrey McRae
23b0dc7c81
[host] Added GPLv2 license to host project
2017-11-01 03:53:06 +11:00
Geoffrey McRae
bcc2fb1f74
[host] removed obsolete TODO placeholder
2017-11-01 03:52:49 +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
e935a09441
[host] removed nvidia lib path and fixed subsystem type for other builds
2017-11-01 02:19:21 +11:00
Geoffrey McRae
9ac3cadc7d
[host] added multithreaded memcopy implementation
2017-11-01 02:15:47 +11:00
Geoffrey McRae
de8403dcd6
[cosmetics] fixed unintentional de-indent of code
2017-11-01 02:03:26 +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
b03254b7c2
[host] no need to create a thread when running directly
2017-10-31 23:30:16 +11:00
Geoffrey McRae
8c719ff01a
[host] fixed failure to set m_memory in IVSHMEM
2017-10-31 23:29:54 +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
Geoffrey McRae
941f0f1c16
[host] added IVSHMEM::CreateVectorEvent
2017-10-31 22:17:27 +11:00
Geoffrey McRae
215d2c7a4b
[host] implemented initial IVSHMEM interface class
2017-10-31 22:09:57 +11:00
Geoffrey McRae
773c0b52c3
[host] initial host service project
2017-10-31 20:20:37 +11:00
Geoffrey McRae
052e2c1e86
[host] renamed from server->host
2017-10-31 19:14:32 +11:00