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
1d7a2ccf82
[c-host] windows: update ivshmem driver header and usage
2019-10-24 19:46:09 +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
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
Geoffrey McRae
1b031582a4
[c-host] nvfbc: expose option to disable cursor decoupling
2019-05-23 15:12:28 +10:00
Geoffrey McRae
afe072adf1
[c-host] nvfbc: print out the SDK version and enable NvFBC
2019-05-23 14:49:38 +10:00
Geoffrey McRae
773dd7773b
[c-host] try to be more compatible with mingw headers
2019-05-22 19:46:18 +10:00
Geoffrey McRae
108c7d3aaa
[c-host] fixed project for cross compliation for Win on Linux
...
Thanks @fatalis for your guidance on this
2019-05-22 14:59:19 +10:00
Geoffrey McRae
3f404905d2
[c-host] added tray icon and context menu
2019-05-21 17:52:58 +10:00
Geoffrey McRae
cc6dd58778
[c-host] windows: fix dxgi option struct syntax
2019-05-17 09:27:04 +10:00
Geoffrey McRae
0ba931cbed
[c-host] windows: add log file output option
2019-05-17 09:26:42 +10:00
Geoffrey McRae
0090580a64
[c-host] be compatible with new option ABI
2019-05-11 20:59:31 +10:00
Paul Götzinger
b5975e0f05
[host] [c-host] added support to specify IVSHMEM device
...
[host] basic IVSHMEM device selecting implemented
Minor fixes for IVSHMEM device scanning
[c-host] added support to specify IVSHMEM device
2019-05-10 22:28:27 +10:00
Geoffrey McRae
5677117c0d
[c-host] nvfbc: remove debug line from prior commit
2019-05-09 22:53:02 +10:00
Geoffrey McRae
558ae5dc45
[c-host] dxgi: initialize option to NULL for consistancy
2019-05-09 22:51:12 +10:00
Geoffrey McRae
83f63f4c42
[c-host] dxgi: add the ability to specify the adapter and/or output.
...
Fixes #132
2019-05-09 22:48:39 +10:00
Geoffrey McRae
63314941f6
[c-host] fix build under windows
2019-05-09 22:13:31 +10:00
Geoffrey McRae
e7345b9711
[c-host] initial agnostic option api and parser
2019-05-09 22:06:58 +10:00
Geoffrey McRae
22f9fa3938
[c-host] windows: fix errors from prior commit
2019-05-09 19:32:19 +10:00
Geoffrey McRae
4617829d41
[c-host] provide a platform agnostic method of passing args to app_main
2019-05-09 19:30:09 +10:00
Geoffrey McRae
338bc2e0dc
[c-host] nvfbc: disable ARGB10 until NVIDIA fix the API (if ever)
2019-04-11 19:30:42 +10:00
Geoffrey McRae
8cedad8241
[c-host] fix NvFBC build after moving headers
2019-04-11 17:15:17 +10:00
Geoffrey McRae
28b12c85f4
[build] make "common" a static library (part 1/2)
2019-04-11 11:03:30 +10:00
Geoffrey McRae
bee221c18d
[c-host] add ability to provide NvFBC privData
2019-04-10 22:23:56 +10:00
Geoffrey McRae
da7c66419a
[c-host] a few build tweaks and updated README.md
2019-04-10 22:04:36 +10:00
Geoffrey McRae
a03075416c
[c-host] cmake: fix bad method of setting CFLAGS
2019-04-10 21:20:15 +10:00
Geoffrey McRae
e4d8cf2d76
[c-host] remove extra NvFBC noise
2019-04-10 21:14:11 +10:00
Geoffrey McRae
0cac3e1c40
[c-host] tons of windows specific fixes
2019-04-10 21:07:56 +10:00
Geoffrey McRae
3f13485ced
[c-host] nvfbc: continued implementation of NvFBC
2019-04-10 16:25:13 +10:00
Geoffrey McRae
24c99c4ff9
[c-host] added initial nvfbc support
2019-04-10 13:07:42 +10:00
Geoffrey McRae
a82b1a2e2f
[c-host] restructure project to use cmake
2019-04-09 16:28:11 +10:00