Geoffrey McRae
2d5f6d65ce
[common] option: added shortopt support and pretty help print
2019-05-21 11:31:31 +10:00
Geoffrey McRae
b9841351b4
[common] added stringutils with alloc_sprintf helper
2019-05-21 11:31:19 +10:00
Geoffrey McRae
d9b6d115d1
[common] fix stringlist const free bug
2019-05-21 11:30:05 +10:00
Geoffrey McRae
a7daeb2a12
[c-host] option: fix memory corruption due to usage of old pointers
2019-05-17 09:25:57 +10:00
Geoffrey McRae
2fe9dc7ca1
[common] track if option set failed and print help if so
2019-05-12 16:51:37 +10:00
Geoffrey McRae
e22f33a44b
[common] add getValues callback for options
2019-05-12 16:13:50 +10:00
Geoffrey McRae
5d69d2aba9
[common] added new StringList helper module
2019-05-12 16:12:12 +10:00
Geoffrey McRae
538a6dc08e
[common] rework option API to allow for custom types
2019-05-11 20:58:49 +10:00
Geoffrey McRae
5b199d8f25
[common] make local struct local
2019-05-11 19:07:10 +10:00
Geoffrey McRae
785bc33192
[common] added config file loading capability
2019-05-11 18:22:01 +10:00
Geoffrey McRae
cf030f6f0c
[common] remove "Option" from the option help output
2019-05-11 11:51:29 +10:00
Geoffrey McRae
823164a924
[common] further option help cleanup
2019-05-11 11:50:26 +10:00
Geoffrey McRae
86c7286aad
[common] seperate validator and clean up output
2019-05-11 11:35:17 +10:00
Geoffrey McRae
32d5f1db85
[common] validate all options including defaults
2019-05-11 11:21:00 +10:00
Geoffrey McRae
53ade56b4e
[common] fix option parser memory leak
2019-05-09 23:05:33 +10:00
Geoffrey McRae
247e92937c
[common] match the correct option
2019-05-09 22:47:48 +10:00
Geoffrey McRae
e7345b9711
[c-host] initial agnostic option api and parser
2019-05-09 22:06:58 +10:00
Geoffrey McRae
972ff93e6c
[common] fix build under arch, thanks @techfreak for pointing this out
2019-04-12 12:20:24 +10:00
Geoffrey McRae
32bd6d96e3
[common] implemented crash handler for linux (including backtrace)
2019-04-11 16:41:52 +10:00
Geoffrey McRae
611216286e
[c-host] added initial crash handler stub
2019-04-11 11:34:46 +10:00
Geoffrey McRae
28b12c85f4
[build] make "common" a static library (part 1/2)
2019-04-11 11:03:30 +10:00
Geoffrey McRae
eedde4abcb
[c-host] fixed build under linux
2019-03-04 09:45:45 +11:00
Geoffrey McRae
fcc06dfad4
[c-host] app: inital capture is now working
2019-03-04 09:37:50 +11:00
Geoffrey McRae
810fb73362
[common] gnuc on windows still uses / as the directory separator
2019-02-28 19:21:00 +11:00
Geoffrey McRae
5a37a53cb0
[host] move windows specific debug code to the host
2019-02-28 16:23:31 +11:00
Geoffrey McRae
08bf01b649
[all] update copyright dates
2019-02-22 22:16:14 +11:00
Geoffrey McRae
2cb18a3f8f
[host] removed incomplete h264
2018-12-07 20:54:30 +11:00
Geoffrey McRae
75ffcacfe4
[client] added support for RGBA, BGRA and 10-bit RGBA
2018-12-04 21:24:01 +11:00
Geoffrey McRae
e515cdc8dd
[host] added YUV420 output support
2018-07-28 06:19:59 +10:00
Geoffrey McRae
2019766989
[host] added format converter class
2018-07-28 06:19:58 +10:00
Geoffrey McRae
48d3403c40
[memcpy] fix error caused by switch to shorter OPs
2018-07-26 05:49:24 +10:00
Geoffrey McRae
9f8c20c3e7
[common] no need to use AVX operands here either
2018-07-10 16:38:07 +10:00
Geoffrey McRae
a72ad4e46c
[host] replaced use of AVX in memcpySSE
...
There is no need to use AVX instructions as we are not using the
wider registers. Removing their use removes the requirement to run
a AVX capable guest CPU.
2018-07-10 16:32:50 +10:00
Geoffrey McRae
df7183a572
[kvmfr] decouple cursor flags from frame flags and fix timings
2018-05-24 09:01:53 +10:00
Geoffrey McRae
15a337fee8
[host] use the new memcpySSE implementation
2018-05-22 18:59:24 +10:00
Geoffrey McRae
e8b1b8fbdf
[common] tune windows memcpySSE asm implementation:wq
2018-05-19 21:40:13 +10:00
Geoffrey McRae
e9d77e6c52
[common] inline memcpy into memcpySSE for the final bytes
2018-05-19 18:31:49 +10:00
Geoffrey McRae
56f0a8525b
[common] more SSE improvements
...
* 32bit inlined is slow for only large copies, warn if memcpySSE is
used when it shouldn't be.
* Removed 64bit memcpySSE as native inlined is faster
See: https://stackoverflow.com/questions/50422510/why-is-i386-memcpy-slow-on-x86-64
2018-05-19 18:27:04 +10:00
Geoffrey McRae
778af24d82
[common] inline get_pc to memcpySSE
2018-05-19 16:21:12 +10:00
Geoffrey McRae
cd6caea4b0
[x86] use a proper call/ret to obtain the current IP
...
See: https://blogs.msdn.microsoft.com/oldnewthing/20041216-00/?p=36973
2018-05-19 16:16:01 +10:00
Geoffrey McRae
f63c8043af
[common] new sse2 memcpy improvements
2018-05-18 20:56:57 +10:00
Geoffrey McRae
3c77c1eb2b
NASM version of a SSE2 memcpy
2018-05-18 18:50:07 +10:00
Geoffrey McRae
ffec6c2014
Incoming new memcpy implementation
2018-05-18 01:59:00 +10:00
Geoffrey McRae
a6d2fe73ae
[common] fixed bug in memcpySSE skipping remaining bytes
2017-12-30 18:39:57 +11:00
Geoffrey McRae
b5f2092e9c
[host] return the compressed frame size in the pitch field
2017-12-29 21:01:02 +11:00
Geoffrey McRae
03622f61b0
[host] Added experimental H264 compression to DXGI (disabled by default)
...
This is not yet working, the client is yet to be updated to support
decompressing this stream.
2017-12-29 20:53:52 +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
695822bd6d
[client] redesign of the renderer archiceture for mt support
...
This is the first of two commits that completely turn the rendering code
on it's head. This change set decouples the guest's capture rate from
the host's render rate for both cursor and frame updates. This helps
prevent the host application from stalling when waiting for frame draws
when all it want's to do is send cursor updates.
* Breaks OpenGL-Basic for now
2017-12-20 00:53:45 +11:00
Geoffrey McRae
6595374a2c
[common] cleanup header format and move resettable members
2017-12-17 05:03:16 +11:00
Geoffrey McRae
110aced7d1
[common] changed KVMFR to allow for variable cursor buffer sizes
2017-12-15 10:51:10 +11:00