Geoffrey McRae
a6d2fe73ae
[common] fixed bug in memcpySSE skipping remaining bytes
2017-12-30 18:39:57 +11:00
Geoffrey McRae
e854723aa3
[client] fixed incorrect cursor dataPos validation
2017-12-30 13:48:32 +11:00
Geoffrey McRae
9b7f54fa35
[host] service restarts now restart capture interfaces
2017-12-30 13:35:45 +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
076a45acc5
[client] added initial decoder framework
2017-12-29 22:48:21 +11:00
Geoffrey McRae
c239306d82
[client] initial support for compressed frames
2017-12-29 21:20:51 +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
2f2813037b
[host] improved latency of multimemcpy with hybrid locking and preempt
2017-12-29 07:00:27 +11:00
Geoffrey McRae
f6f4c8070a
[host] adjusted frame and cursor offset calculations
2017-12-29 06:11:32 +11:00
Geoffrey McRae
40bfdcdf8c
[client] added configuration file loading support
...
the client now will look for a configuration file in the following
locations by default.
* /etc/looking-glass.conf
* ~/.looking-glass.conf
All configuration files are loaded and may override values specified by
any prior configuration files loaded.
Sample Config:
global:
{
fullScreen=false;
showFPS=true;
x=0;
y=0;
w=800;
h=600;
}
OpenGL:
{
mipmap="false";
}
2017-12-28 19:58:19 +11:00
Geoffrey McRae
59fa025292
[host] add store fence to shm writes as we are using writecombine
2017-12-28 15:42:44 +11:00
Geoffrey McRae
e09d7f0ad0
[host] Update IVSHMEM class to support incoming driver version
2017-12-28 15:42:44 +11:00
Geoffrey McRae
6a6e53f728
[client] removed the dependency on the ivshmem-server
...
Since we do not use IRQs anymore we can use the ivshmem-plain device
which doesn't need the ivshmem-server. The QEMU arguments now should be
as follows:
-device ivshmem-plain,memdev=ivshmem
-object memory-backend-file,id=ivshmem,share=on,mem-path=/dev/shm/looking-glass,size=32M
Obviously adjusting the memory size as required. It is suggested that
the shared memory file be created before the guest is started with the
appropriate permissions, for example:
touch /dev/shm/looking-glass
chown user:kvm /dev/shm/looking-glass
chmod 660 /dev/shm/looking-glass
2017-12-28 15:34:18 +11:00
Geoffrey McRae
16e804b068
[host] added tracing class to help profile slow code points
2017-12-23 18:15:15 +11:00
Geoffrey McRae
db52a55b36
[client] opengl: remove deprecated glScissor, fixes FPS display
2017-12-23 17:40:50 +11:00
Geoffrey McRae
0574daca13
[client] removed unused function argument
2017-12-23 17:38:25 +11:00
arcnmx
d9397610f3
[host] compile MultiMemcpy on mingw
2017-12-21 14:42:49 +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
a08aad8009
[client] opengl: don't scale the FPS readout
2017-12-21 06:50:57 +11:00
Geoffrey McRae
2b66fa6136
[client] warn about unreliable cursor scaling
...
This also logs the scaling information to assist with reports about
improper mouse alignment
2017-12-21 06:39:41 +11:00
Geoffrey McRae
e3a426f378
[client] update dimension information after the first frame
2017-12-21 06:38:34 +11:00
Geoffrey McRae
e5f86a824a
[client] switch back to atomic locking as the default
...
The prior patch to correct the mouse loop resolves the CPU load issue
with the atomic locking method. SDL mutexes are still available if
desired but full mutex locking is far slower then fast spinlocks
2017-12-21 02:12:19 +11:00
Geoffrey McRae
c0b2c8e655
[client] added missing wait to cursor update thread
2017-12-21 01:56:59 +11:00
Geoffrey McRae
c5cbb948e2
[client] report locking mode used for diagnostics
2017-12-21 01:35:36 +11:00
Geoffrey McRae
58ed978767
[client] opengl: switch to SDL_mutex locking
2017-12-21 01:23:25 +11:00
Geoffrey McRae
c098967293
[client] opengl: update FPS even when there is no updates
2017-12-21 01:17:45 +11:00
Geoffrey McRae
8fbacba82e
[client] make startup sleep nicer on the CPU
2017-12-21 01:15:16 +11:00
Geoffrey McRae
0753e63644
[client] fixed unlock define
2017-12-21 01:11:42 +11:00
Geoffrey McRae
5501d22a2d
[client] fixed missed usage of new locking semantics
2017-12-21 01:03:21 +11:00
Geoffrey McRae
2f6b7e08f8
[client] define locking types and semantics to allow for alt methods
2017-12-21 00:58:16 +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
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
a70adb2568
[client] correct help text for new -o argument
2017-12-19 15:40:52 +11:00
Geoffrey McRae
21a4e15868
[client] cosmetics
2017-12-19 15:37:49 +11:00
Geoffrey McRae
0cc149dd48
[misc] fix typo in readme url
2017-12-19 13:47:14 +11:00
Geoffrey McRae
af8d6c4d27
[misc] added support information to the readme
2017-12-19 13:46:19 +11:00
Geoffrey McRae
2a93e2ed55
[host] removed comments from prior testing
2017-12-19 13:40:59 +11:00
Geoffrey McRae
8b25f8a344
[client] opengl: show actual FPS seperate from updates per second (UPS)
2017-12-19 12:17:50 +11:00
Geoffrey McRae
7d307c0a9c
[client] improved option parsing
2017-12-19 11:58:38 +11:00
Geoffrey McRae
133d8ec21f
[client] opengl: added preventBuffer option
2017-12-19 11:02:35 +11:00
Geoffrey McRae
f4b95eeda9
[client] fix option output counts and dynamic name padding
2017-12-19 10:56:23 +11:00
Geoffrey McRae
c38e38d43d
[client] opengl: add splitmouse option
...
This feature was previously hardcoded enabled, it is now optional as
some hardware pipelines stall with the excessive flushes resulting in a
jumpy cursor. Default is disabled and may be re-enabled with
`-o opengl:splitmouse=1` or `-o opengl-basic:splitmouse=1` depending on
the renderer selected.
2017-12-19 10:21:45 +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