Commit Graph

344 Commits

Author SHA1 Message Date
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
Geoffrey McRae
e379f70784 [host] switch to fast polling mode, fixes stuttering issues 2017-12-14 02:23:11 +11:00
Geoffrey McRae
edecd922ea [common] added restart session flag to KVMFR spec 2017-12-13 20:46:25 +11:00
Geoffrey McRae
b5a5d4cda2 [common/client] add pitch to cursor shape structure 2017-12-13 04:42:09 +11:00
Geoffrey McRae
a157f40690 [common] updateCount should be unsigned 2017-12-12 08:15:43 +11:00
Geoffrey McRae
818164da7f [host] updated to use new protocol design 2017-12-12 07:56:50 +11:00
Geoffrey McRae
0c90032db1 [common] more OCD adjustments to debug.h 2017-12-12 05:15:39 +11:00
Geoffrey McRae
4634df91ba [common] ocd cleanup debug output for windows 2017-12-12 05:08:35 +11:00
Geoffrey McRae
219179b375 [misc] added website url to sources 2017-12-12 04:30:47 +11:00
Geoffrey McRae
6849efcb0d [common] shorten debug filename field 2017-12-12 03:59:58 +11:00
Geoffrey McRae
1173fc4ae4 [common] strip paths from debug filenames at compile time 2017-12-12 03:59:58 +11:00
Geoffrey McRae
10e6408022 [misc] common and client project rename to "Looking Glass"
See: https://forum.level1techs.com/t/headless-pci-passthrough-program-name-vote/121779/36
2017-12-12 03:59:57 +11:00
Geoffrey McRae
2da40012ca [common] corrected memcpySSE overflow error 2017-12-12 03:59:56 +11:00
Geoffrey McRae
cb96bd6493 [common] removed deprecated image formats 2017-12-12 03:59:55 +11:00
Geoffrey McRae
34e67b1b57 [client] added KVMGFX_HEADER_VERSION define 2017-12-12 03:59:55 +11:00
Geoffrey McRae
e774a0bb06 [client] removed deprectaed drawFunc and improved error handling 2017-12-12 03:59:55 +11:00
Geoffrey McRae
05d83d2311 [client] added memcpySSE 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
5899508a5b [host] add initial buffering support 2017-12-12 03:59:55 +11:00
Geoffrey McRae
3dd205bafc [host] initial service framework implemented 2017-10-31 23:21:05 +11:00
Geoffrey McRae
f24cf74238 [common] updated debug.h to be compatible with MS VC 2017-10-31 22:08:47 +11:00
Geoffrey McRae
aa0d3d27d4 added licensing to sources 2017-10-31 19:07:16 +11:00
Geoffrey McRae
6e7b65023b [client] moved common headers outside of the client project's directory 2017-10-31 16:54:09 +11:00