Geoffrey McRae
04ae9217e8
[client] audio: allow the audiodev to determine the start fill level
2022-01-19 01:52:19 +11:00
Geoffrey McRae
46da447429
[client] audio: fix latency calculation
2022-01-19 00:58:48 +11:00
Geoffrey McRae
4b080f7610
[client] audio: don't lock when consuming frames from the buffer
2022-01-19 00:25:52 +11:00
Geoffrey McRae
d6bbc4f89c
[client] audio/pw: return the actual playback latency
2022-01-19 00:03:16 +11:00
Geoffrey McRae
4fadf3a130
[client] audio: tell the audiodev to stop on the last packet, not after
2022-01-18 23:43:12 +11:00
Geoffrey McRae
73dc08e5f9
[client] audio: remove duplicated line
2022-01-18 23:42:02 +11:00
Geoffrey McRae
07c92ec2e8
[client] audio: drain buffers on stop instead of just discarding them
2022-01-18 23:39:05 +11:00
Geoffrey McRae
b334f22223
[client] audio: rework audiodevs to be pull model from a common buffer
2022-01-18 09:02:44 +11:00
Geoffrey McRae
aad65c1cab
[client] graphs: overlay on removal of graph
2022-01-17 22:53:52 +11:00
Geoffrey McRae
0ad26b7da7
[client] audio: redraw the graphs if they have been updated
2022-01-17 22:49:19 +11:00
Geoffrey McRae
775ac7ce8b
[client] audio: reduce timing graph sample count to 30 seconds
2022-01-17 22:23:37 +11:00
Geoffrey McRae
689cc53255
[client] audio: add audio playback latency interface and graph
2022-01-17 22:13:41 +11:00
Geoffrey McRae
5629655f74
[client] audio/pw: fix memory leak and gracefully shutdown
2022-01-17 22:10:41 +11:00
Geoffrey McRae
54e7542414
[client] overlay/graph: actually remove unregistered overlays
...
ll now supports removal of elements, so actually do it
2022-01-17 22:09:41 +11:00
Geoffrey McRae
464fee3e20
[client] overlay/graphs: allow the graph to have a custom title format
2022-01-17 22:08:56 +11:00
Geoffrey McRae
42ed0d7638
[client] app: allow key-repeat to work with keybinds
2022-01-17 20:33:57 +11:00
Geoffrey McRae
5a3fe151e4
[client] main: don't use Linux keybinds if the guest is not Linux
2022-01-17 20:26:45 +11:00
Quantum
afd5e2d057
[host] dxgi: remove duplicate AcquireLock print
2022-01-17 15:12:54 +11:00
Quantum
508c491967
[host] dxgi: allow the debug layer to be turned on via config
2022-01-17 15:12:54 +11:00
Quantum
b117bbafe5
[host] dxgi: add ability to capture OutputDebugMessage
...
This is how Direct3D 12's debug layer outputs messages. Normally, these
are read by the debugger, but we want them logged instead.
2022-01-17 15:12:54 +11:00
Quantum
5392f815af
[vendor] directx: add d3d12sdklayers.h
...
This is an MIT-licensed header from Microsoft, which contains the
Direct3D 12 debug layer.
This header is slightly modified to be able to compile on older
MinGW versions.
2022-01-17 15:12:54 +11:00
Quantum
4c271f8744
[host] dxgi: move d3d12.h to vendor/directx
2022-01-17 15:12:54 +11:00
Jonathan Rubenstein
745169fae2
[client] Add capture mode support for media keys
...
Supports Play/Pause, Stop, Next, and Previous
2022-01-17 15:09:36 +11:00
Jonathan Rubenstein
7f79352320
[client] Add support for volume keys in capture mode
...
These include Volume Up, Volume Down, and Mute
Co-authored-by: Quantum <quantum2048@gmail.com>
2022-01-17 15:09:36 +11:00
Quantum
b020372972
[client] imgui: allow arrows to be displayed
2022-01-17 15:09:03 +11:00
Quantum
5fe529f213
[client] spice: allow volume control keys to be sent to the guest
...
These are implemented as ScrollLock+Up/Down for volume up and down, and
ScrollLock+M to toggle audio mute. These should prove useful especially
when Looking Glass now supports streaming audio, and the volume is
defined in the guest and set on the output stream.
2022-01-17 15:09:03 +11:00
Quantum
7c91c922e6
[client] input: avoid reentrancy when realigning guest cursor
...
This prevents LGMP_ERR_QUEUE_FULL from happening with high polling rate
mice, which is caused by receiving many more mouse events while the
guest cursor warps, triggering more warps.
2022-01-15 19:25:30 +11:00
Geoffrey McRae
9c49dc6efd
[common] linux/time: fix memory leak
2022-01-14 14:19:16 +11:00
Chris Spencer
f635077a2c
[client] egl: increase texture processing timeout
...
On my machine (Intel UHD Graphics 770), texture processing occasionally
(about 5% of the time) takes more than 20ms (the highest I have seen is
around 32ms) when the host resolution is 2560x1440. This results in the
frame being discarded and the client displays a stale image. Increase the
timeout to 40ms.
2022-01-14 12:31:02 +11:00
arcnmx
a9b5302a51
[module] fix compile on 5.16
...
The `DMA_BUF` namespace was introduced in:
16b0314aa7
2022-01-14 12:14:21 +11:00
Chris Spencer
3d0a8f6987
[host] dxgi: fix frame damage method parameters
...
The buffer input sizes to the `IDXGIOutputDuplication` methods are measured
in bytes. This dramatically increases the number of dirty/move rects that
can be handled.
2022-01-13 09:34:14 +11:00
Chris Spencer
786a252b23
[client] x11: don't use primary selection for clipboard
...
This behaviour is more consistent with other applications where text
selections do not influence explicit clipboard operations.
2022-01-13 08:18:56 +11:00
Chris Spencer
f145225dbc
[host] dxgi: fix d3d11 assertion failure
...
`DEBUG_ASSERT(!this)` in `d3d11_create` is firing on the second
instantiation because we are not clearing `this` in `d3d11_free`.
2022-01-13 08:17:59 +11:00
Geoffrey McRae
b38a5ce89e
[client] spice: update submodule to fix corrpution during connect
2022-01-13 02:21:48 +11:00
Geoffrey McRae
344d2ec599
[common] linux: replace create_timer
with a single threaded timer
...
Now LG uses a 25Hz tick timer it is an issue that `create_timer` spawns
a new thread for every single timer event, so instead multiplex all the
timers into a single thread with a 1ms resolution.
2022-01-12 13:00:12 +11:00
Geoffrey McRae
6bba9bc25d
[client/common] move ll from the client into the common code module
2022-01-12 12:22:18 +11:00
Geoffrey McRae
1851002fc1
[client] all: remove ll_walk
and migrate over to ll_forEachNL
2022-01-12 12:17:29 +11:00
Geoffrey McRae
b99e1ea38e
[client] ll: fix error in ll_forEachNL macro
2022-01-12 12:17:06 +11:00
Geoffrey McRae
2ecfa0a3ec
[client] msg: add missing header file
2022-01-12 10:08:29 +11:00
Geoffrey McRae
ca0bc7c514
[client] close message boxes if the client connects
2022-01-12 10:04:16 +11:00
Geoffrey McRae
4122841b09
[client] spice: fix memory leak
2022-01-12 10:03:56 +11:00
Geoffrey McRae
e94252ad65
squash with ll
2022-01-12 10:03:31 +11:00
Geoffrey McRae
6fc0c69b2e
[client] overlay/msg: provide a method to close messages from code
2022-01-12 09:35:09 +11:00
Geoffrey McRae
ced952a4c6
[client] ll: add new functionallity to allow removal of items
2022-01-12 09:33:36 +11:00
Geoffrey McRae
4411d21135
[client] spice: update submodule to prevent segfault on shutdown
2022-01-12 07:42:01 +11:00
Geoffrey McRae
70683010a6
[client] spice: update submodule to fix double free bug
2022-01-12 07:16:00 +11:00
vmfortress
7da2becfbd
[host] dxgi: Replace standard asserts with DEBUG_ASSERT
2022-01-11 11:11:42 +11:00
Chris Spencer
8a61c8ebc2
[client] audio/pw: use rate matching
...
This can prevent glitches when the PipeWire quantum size changes.
2022-01-11 09:45:30 +11:00
Chris Spencer
ef9b2958ec
[client] audio/pw: set maximum node latency
...
This prevents severe buffer underruns if the PipeWire quantum is bigger
than the ring buffer size. This could happen if a media player is running
at the same time as Looking Glass if it requests a very large quantum size,
for example.
2022-01-11 09:45:30 +11:00
Chris Spencer
e72e138267
[client] audio/pw: delay playback to avoid glitches
2022-01-11 09:45:30 +11:00