Commit Graph

80 Commits

Author SHA1 Message Date
Geoffrey McRae
31a25c94c6 [host] fix failure to re-init 2018-10-19 21:16:42 +11:00
Geoffrey McRae
df7e9b1184 [host] remove unused critical sections 2018-10-19 20:15:42 +11:00
Geoffrey McRae
1350ba6c4b [host] accumulate cursor updates rather then queue 2018-10-19 20:14:43 +11:00
Geoffrey McRae
f36fd5ac1a [host] correct cursor visibility information 2018-10-09 18:28:08 +11:00
Geoffrey McRae
0e8678b182 [host] correct mouse position with hotspot offset 2018-10-09 18:10:59 +11:00
Geoffrey McRae
ce4f1be2a6 [host] fix cursor visibility bug 2018-10-09 17:52:13 +11:00
Geoffrey McRae
db907b1b67 [host] improve mouse sync with the client 2018-10-09 17:48:59 +11:00
Geoffrey McRae
fb37174e5f [dxgi] cleaned up retry logic 2018-10-04 17:05:32 +10:00
Geoffrey McRae
8f0a6cd810 [host] general performance improvements 2018-10-04 00:07:34 +10:00
Geoffrey McRae
471303a179 [host] better sync, helps enormously with 4K!!! 2018-09-30 03:50:43 +10:00
Geoffrey McRae
73a2597c8a [dxgi] fix crash caused by failure to release in some instances. 2018-09-27 12:49:52 +10:00
Geoffrey McRae
3cd152c9d5 [host] DXGI capture improvements 2018-09-26 21:20:17 +10:00
Geoffrey McRae
a989914fef [host] remove the invalid usage of SafeRelease
SafeRelease was really useless, derefencing the smart pointers through
the use of & releases the value before SafeRelease get's to it. Instead
either allow the destructor to handle it's release, or explicityly
release it by assigning NULL
2018-07-28 10:27:50 +10:00
Geoffrey McRae
d292d46fcb [host] correct YUV output, do not copy padding bytes 2018-07-28 07:48:10 +10:00
Geoffrey McRae
63b4dd633c [host] correct invalid copy size for U & V planes 2018-07-28 07:25:00 +10:00
Geoffrey McRae
e515cdc8dd [host] added YUV420 output support 2018-07-28 06:19:59 +10:00
Geoffrey McRae
3799929f59 [host] remove the depth buffer, it's unused 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
c650c2e474 [dxgi/h264] fix failure to re-init h264 correctly 2018-07-28 06:19:58 +10:00
Geoffrey McRae
e4cdc58399 [host] move H264 out of DXGI into seperate class 2018-07-26 05:50:06 +10:00
Geoffrey McRae
af143bdd82 [dxgi] update DXGI to use timeout return value 2018-07-26 03:09:59 +10:00
Geoffrey McRae
5cabf155ab [host] flag paused when waiting for sec desktop 2018-07-24 01:12:24 +10:00
Geoffrey McRae
43593d8aea [host] replaced MultiMemcpy with plain memcpySSE 2018-07-23 15:21:43 +10:00
Geoffrey McRae
8a9d0b0bfb [host] fix crash on screen blanking 2018-06-01 00:39:18 +10:00
Geoffrey McRae
d4c41d2d94 [host] improve capture performance
Contrary to the MS documentation, benchmarking shows a substantial
increase in performance when releasing the captured frame as soon
as possible. This change makes it possible to achieve 60FPS at 4K
resolutions.
2018-05-31 18:53:11 +10:00
Geoffrey McRae
d753af9d17 [host] remove debug tracing noise 2018-05-29 18:37:21 +10:00
Geoffrey McRae
871aee2aae [host] fixed missed cursor shape updates 2018-05-28 10:34:24 +10:00
Geoffrey McRae
b29f1c62bb [host] update to KVMFR v6 and decouple mouse 2018-05-24 11:24:24 +10:00
Geoffrey McRae
15a337fee8 [host] use the new memcpySSE implementation 2018-05-22 18:59:24 +10:00
arcnmx
35b4d75eea [host] mingw-w64 compile fixes (#44)
* [host] rename min() to LG_MIN()

* [host] format string type fixes, %Ix doesn't exist in mingw

* [host] DXGI minor fixes

* [host] mingw lacks media foundation api headers and QISearch
2018-01-30 21:07:46 +11:00
Geoffrey McRae
6653340bac [host] dxgi: follow suit and use h264 high profile 2018-01-04 09:30:27 +11:00
Geoffrey McRae
9000fdf6fc [host] fix frame duplication problem with new MFT implementation 2017-12-31 00:32:39 +11:00
Geoffrey McRae
9ef9f60505 [host] dxgi: fixed MFT memory leak and re-init failure 2017-12-30 13:35:45 +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
3d9230ac93 [host] dxgi: fixed frame update regression 2017-12-29 07:15:59 +11:00
Geoffrey McRae
2d746cbfd4 [host] dxgi: performance improvements 2017-12-29 07:01:13 +11:00
Geoffrey McRae
16e804b068 [host] added tracing class to help profile slow code points 2017-12-23 18:15:15 +11:00
arcnmx
f26d8fbd3e [host] remove unused variables 2017-12-21 14:42:49 +11:00
Geoffrey McRae
43b096a5e7 [host] added multi-threaded memcopy for high resolutions 2017-12-21 13:49:36 +11:00
Geoffrey McRae
2fe800f502 [host] dxgi: corrected timeout alteration left behind from debugging 2017-12-20 04:35:07 +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
2a93e2ed55 [host] removed comments from prior testing 2017-12-19 13:40:59 +11:00
Geoffrey McRae
1f004472cc [host] dxgi: re-mapping is required to sync memory changes properly 2017-12-18 21:34:44 +11:00
Geoffrey McRae
0d1d49b00e [host] dxgi: wait for sync before trying to read the memory map 2017-12-18 17:35:35 +11:00
Geoffrey McRae
e298f9169c [client] dxgi: persistant map the texture memory 2017-12-18 17:18:37 +11:00
Geoffrey McRae
8dec59f3ff [host] dxgi: don't release the frame until we need a new one
Per Microsoft spec we should not release the frame until we are about to
acquire another frame, this pervents additional GPU overhead on the
guest.
2017-12-18 12:03:22 +11:00
Geoffrey McRae
49acc6ec0b [host] dxgi: fix termination due to wait timeout 2017-12-18 00:10:42 +11:00
Geoffrey McRae
24709ef186 [host] dxgi: set the pitch on new frames 2017-12-17 05:20:40 +11:00
Geoffrey McRae
db59e67ddb [host] update capture classes to return the pitch 2017-12-17 05:05:56 +11:00