Geoffrey McRae
9d6d137b50
[c-host] fix bounds checking on frame index
2020-01-24 16:31:03 +11:00
Geoffrey McRae
a75b95694b
[c-host] actually use the 2nd LGMP frame
2020-01-24 16:06:38 +11:00
Geoffrey McRae
f9d919bdbb
[client] increase the lgmp queue timeouts
2020-01-20 14:18:45 +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
17df1ebc6b
[c-host] adjust maximum size to account for alignment
2020-01-13 16:06:53 +11:00
Geoffrey McRae
ad8a8b52be
[c-host] ensure frames are page aligned
2020-01-13 15:52:54 +11:00
Geoffrey McRae
7de030bb69
[c-host] nvfbc: free event on deinit
2020-01-12 18:09:11 +11:00
Geoffrey McRae
b5d91ccc21
[c-host] nvfbc: fixed invalid nvfbc init
2020-01-11 22:28:52 +11:00
Geoffrey McRae
0eafa7de5d
[c-host] update NvFBC to use new capture interface
2020-01-11 21:51:59 +11:00
Geoffrey McRae
c2a15ad89d
[c-host] updated to use new LGMP API to increase the timeout
2020-01-10 20:04:46 +11:00
Geoffrey McRae
76fa390e3d
[c-host] increase the pointer queue length
2020-01-10 11:40:56 +11:00
Geoffrey McRae
bea7c94cae
[client/c-host] updated to use new LGMP naming conventions
2020-01-10 11:01:35 +11:00
Geoffrey McRae
e7239c53fd
[c-host] cleanup dxgi cursor code a bit
2020-01-09 21:20:01 +11:00
Geoffrey McRae
7a98a886b6
[c-host] use the correct buffer for the cursor shape
2020-01-09 20:27:55 +11:00
Geoffrey McRae
b0fb7177bb
[c-host] improved intial connection sync
2020-01-09 19:49:47 +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
5db4c32035
[c-host] dont use DX12 feature levels on Windows8
...
Fixes #218
2020-01-06 20:53:15 +11:00
Geoffrey McRae
0dc0e6490c
[c-host] dxgi: check for failure of getDesc1
2020-01-03 17:29:07 +11:00
Geoffrey McRae
074af5d16c
[c-host] init platform app struct
2020-01-03 14:56:13 +11:00
Geoffrey McRae
89d6ea0b5d
[common] move ivshmem code into the common library
2020-01-03 14:53:56 +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
da5ebee3f7
[c-host] fix #220 , invalid handle provided to WaitForObjects
2019-12-19 13:38:05 +11:00
Geoffrey McRae
0bd19cfd38
[c-host] dxgi: fix segfault with maxTextures=1 on client reconnect
2019-12-17 20:56:14 +11:00
Geoffrey McRae
8ada29e25f
[c-host] nvfbc: fix build attempt 2 :)
2019-12-17 16:42:48 +11:00
Geoffrey McRae
3b5c1bd09c
[c-host] nvfbc: fix failure to build due to new event interface
2019-12-17 16:41:02 +11:00
Geoffrey McRae
c82a5e0523
[c-host] dxgi: futher event improvements
2019-12-17 16:36:43 +11:00
Geoffrey McRae
9c5f9906fa
[c-host] add spinlock support to events and alter dxgi to use them
2019-12-17 14:59:58 +11:00
Geoffrey McRae
db2f5b85a9
[c-host] dxgi: added new useAcquireLock
option for quirked GPUs
2019-12-17 13:45:08 +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
2d9f578719
[c-host] windows: don't attach to the debuggers console
2019-12-13 23:33:11 +11:00
Geoffrey McRae
e75f3a7278
[c-host] windows: fix --help output in command prompt
2019-12-13 23:22:11 +11:00
Geoffrey McRae
26fa5c8860
[c-host] readme: change windows instructions to use MSYS2
2019-12-13 21:55:34 +11:00
Geoffrey McRae
ed5140568a
[c-host] readme: added dev setup instructions for Windows
2019-12-13 21:13:17 +11:00
Geoffrey McRae
1d7a2ccf82
[c-host] windows: update ivshmem driver header and usage
2019-10-24 19:46:09 +11:00
Geoffrey McRae
5f1d17ba1f
[host] cosmetics
2019-10-09 19:52:31 +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
Geoffrey McRae
4cf6dec592
[all] allow disable of backtrace support during build
2019-06-19 09:13:03 +10:00
Geoffrey McRae
6d24dd52d6
[c-host] not all versions of mingw support wcstombs_s
...
While the _s functions are for security as they avoid exceeding the
supplied buffer, in our case they are not really required as we are
allocating a buffer large enough to store the entire result.
Fixes #171
2019-06-12 15:31:18 +10:00
Geoffrey McRae
0851fd13e6
[all] made a nicer icon, hopefully just a placeholder for now
2019-05-30 22:21:53 +10:00
Geoffrey McRae
780bb248f7
[c-host] dxgi: fix invalid cursor type define
2019-05-28 15:17:11 +10:00
Geoffrey McRae
026bdb00f2
[c-host] take just the ivshmem headers and omit the kvm-guest submodule
2019-05-28 14:51:47 +10:00
Geoffrey McRae
7d26027752
[c-host] resend the last on client reconnect if a timeout occurs
2019-05-28 14:24:48 +10:00
Geoffrey McRae
3d426ccef8
[all] fix missing cursor when client reconnects
2019-05-28 14:06:15 +10:00
Geoffrey McRae
5e201a32ca
[c-host] dxgi: allow out of order frame mapping
2019-05-27 15:26:58 +10:00
Geoffrey McRae
21b02efb4d
[c-host] dxgi: don't stall the GPU pipeline to map textures to ram
...
ID3D11DeviceContext_Map by default will force a CPU sync if the prior call to
CopyResource has not completed, this change defers the mapping and sets the
D3D11_MAP_FLAG_DO_NOT_WAIT when attempting to map the texture allowing the
capture to continue without incurring an expensive CPU/GPU sync.
A new tuneable has also been added
* dxgi:maxTextures
2019-05-26 23:36:17 +10:00