Commit graph

79 commits

Author SHA1 Message Date
Geoffrey McRae
db0d966102 [common] option: add debug errors for invalid options 2019-05-21 14:58:11 +10:00
Geoffrey McRae
a29639fceb [common] option: fix another invalid usage of an unset variable 2019-05-21 13:24:28 +10:00
Geoffrey McRae
0605b7df8c [common] option: allow short options to toggle boolean values 2019-05-21 12:58:53 +10:00
Geoffrey McRae
51ca08719e [common] option: trim whitespace from option names and values 2019-05-21 12:34:41 +10:00
Geoffrey McRae
ce9b94e93d [common] option: fix crash on failure to parse invalid config file 2019-05-21 12:28:13 +10:00
Geoffrey McRae
7cc0f7cb99 [common] option: fix incorrect column header padding 2019-05-21 11:38:40 +10:00
Geoffrey McRae
06c229dfd4 [common] option: fix invalid access of null/invalid options 2019-05-21 11:34:50 +10:00
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