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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						780cf5f362 
					 
					
						
						
							
							[client] overlay: add modal message dialog support  
						
						
						
						
					 
					
						2022-01-08 18:58:48 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						0080e5f1b9 
					 
					
						
						
							
							[client] overlay: add app_invalidateOverlay method  
						
						
						
						
					 
					
						2022-01-08 15:18:40 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						db2e38ae4d 
					 
					
						
						
							
							[client] overlay: add 25Hz tick function  
						
						... 
						
						
						
						This allows an overlay to manage itself for timed events like
alerts/messages, etc. 
						
						
					 
					
						2022-01-08 14:33:07 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fe7973ea24 
					 
					
						
						
							
							[client] audio: implement record interface and glue  
						
						
						
						
					 
					
						2022-01-06 23:49:20 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e6bd36ec7c 
					 
					
						
						
							
							[client] audio: refactor audio to playback and add record funcs  
						
						
						
						
					 
					
						2022-01-06 22:47:22 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						952ebea2c5 
					 
					
						
						
							
							[all] refresh copyright dates  
						
						
						
						
					 
					
						2022-01-05 19:42:46 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						0d27092ef5 
					 
					
						
						
							
							[all] move min/max and upcast macros into common/util.h  
						
						
						
						
					 
					
						2022-01-05 19:41:57 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						433a5420cb 
					 
					
						
						
							
							[client] audio: update PureSpice and add support for volume control/mute  
						
						
						
						
					 
					
						2021-12-26 11:09:42 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e810577317 
					 
					
						
						
							
							[client] audio: initial addition of PipeWire audio support via SPICE  
						
						
						
						
					 
					
						2021-12-26 11:09:42 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						d69069fb09 
					 
					
						
						
							
							[client] egl: keep the mouse cursor 1:1 when downscaling  
						
						... 
						
						
						
						This keeps the cursor a usable size when the guest is running a high
resolution and downscaling (ie, 4K -> FHD). 
						
						
					 
					
						2021-12-26 11:08:42 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						ad4b40fad6 
					 
					
						
						
							
							[client] opengl: add gl_dynprocs module  
						
						... 
						
						
						
						This is similar to egl_dynprocs, except for OpenGL functions. 
						
						
					 
					
						2021-10-01 01:45:11 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						072c54977e 
					 
					
						
						
							
							[client] egl: use eglCreateImage and eglDestroyImage indirectly  
						
						... 
						
						
						
						The dmabuf path is optional, so we shouldn't require those functions to
link our program. 
						
						
					 
					
						2021-09-29 17:48:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						5c7f168370 
					 
					
						
						
							
							[client] egl_dynprocs: use official prototypes from system headers  
						
						
						
						
					 
					
						2021-09-29 17:48:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						429620c48b 
					 
					
						
						
							
							[client] egl: dynamically import glBufferStorageEXT  
						
						... 
						
						
						
						On some implementations (e.g. llvmpipe), the function can only be queried via
eglGetProcAddress. 
						
						
					 
					
						2021-08-19 21:28:45 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						3a00277e93 
					 
					
						
						
							
							[client] spice: add ability to set keyboard LED state in guest  
						
						... 
						
						
						
						FIXME: update PureSpice 
						
						
					 
					
						2021-08-15 09:46:31 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						9414449408 
					 
					
						
						
							
							[client] app: add ability to receive keyboard typing in overlays  
						
						
						
						
					 
					
						2021-08-14 14:44:26 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						579f998519 
					 
					
						
						
							
							[client] all: replace assert with DEBUG_ASSERT  
						
						
						
						
					 
					
						2021-08-14 12:19:07 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6387bf2d2e 
					 
					
						
						
							
							[client] rework the configuration overlay to allow for tabs  
						
						
						
						
					 
					
						2021-08-12 09:04:45 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						7e982a6658 
					 
					
						
						
							
							[client] util: replace util_mergeOverlappingRects with common version  
						
						
						
						
					 
					
						2021-08-11 19:01:52 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						f4a925a750 
					 
					
						
						
							
							[client] main: destroy and finish fontconfig usage  
						
						... 
						
						
						
						Fixes ASAN reported memory leak 
						
						
					 
					
						2021-08-08 16:21:48 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						30ed563504 
					 
					
						
						
							
							[client] interface: refactor to use camlCase function names  
						
						
						
						
					 
					
						2021-08-08 15:43:42 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						f8ae291090 
					 
					
						
						
							
							[client] interface: switch to using UPCAST for the renderer's data  
						
						
						
						
					 
					
						2021-08-08 15:32:01 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						45d1f27fb4 
					 
					
						
						
							
							[client] interface: rename LG_Renderer to LG_RendererOps  
						
						... 
						
						
						
						Part of the standardisation of using the `Ops` suffix for all interfaces 
						
						
					 
					
						2021-08-08 14:43:04 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						1a8267d55a 
					 
					
						
						
							
							[client] interface: cleanup the renderer interface  
						
						... 
						
						
						
						Removes the silly typedefs and adds some basic documentation as to the
usage of each function. 
						
						
					 
					
						2021-08-08 14:39:40 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						162b1b93db 
					 
					
						
						
							
							[client] main: don't include the swap into the render timings  
						
						... 
						
						
						
						If vsync is enabled the swap will block until vblank skewing the timing
metrics. 
						
						
					 
					
						2021-08-07 01:45:42 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						08f3ad504c 
					 
					
						
						
							
							[client] imgui: implement new widget for displaying URLs  
						
						... 
						
						
						
						Note that actually opening the browser is not implemented yet. 
						
						
					 
					
						2021-08-05 22:43:46 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6e7f39edee 
					 
					
						
						
							
							[client] app: allow selective full invalidation  
						
						... 
						
						
						
						Overlays only need to trigger a new frame if they have changed and not
full window invalidation, this change allows for this. 
						
						
					 
					
						2021-08-05 06:47:36 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6c84c0eca6 
					 
					
						
						
							
							[client] overlay: move keybinds and config into the overlays  
						
						... 
						
						
						
						This adds a new `earlyInit` call which allows the overlay to register
options before actually being intialized. Also the keybind handling and
state tracking for each overlay has been moved internal to the overlay
itself. 
						
						
					 
					
						2021-08-05 06:40:06 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6c44bbb53e 
					 
					
						
						
							
							[client] egl: use a ui switch for damage display instead of a keybind  
						
						
						
						
					 
					
						2021-08-05 00:56:31 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						51b9cd4e5a 
					 
					
						
						
							
							[all] copyright: use unicode copyright sign ©  
						
						... 
						
						
						
						This is done for consistency with the license strings in appstrings.c. 
						
						
					 
					
						2021-08-04 21:16:35 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						c15d0dc672 
					 
					
						
						
							
							[client] ds: waitFrame now returns a bool to force rendering if needed  
						
						... 
						
						
						
						X11 needs to calibrate to get the best possible latency, as such it
needs the scene to render so that the render time of the scene can be
accounted for in the delay calculation. 
						
						
					 
					
						2021-08-04 06:49:35 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						4e435e6199 
					 
					
						
						
							
							[client] ds: tell the display server if jitRender is requested  
						
						
						
						
					 
					
						2021-08-04 06:05:42 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						87aac8cf03 
					 
					
						
						
							
							[client] egl: use buffer age extension to render only damaged parts  
						
						... 
						
						
						
						We avoid rendering any area that has not changed since the buffer was used
and also not covered by an overlay. 
						
						
					 
					
						2021-08-03 21:37:31 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						13d9c84dc9 
					 
					
						
						
							
							[client] egl: replace monolithic EGLTexture with modular version  
						
						... 
						
						
						
						The way things were handled in EGLTexture is not only very hard to
follow, but broken. This change set breaks up EGLTexture into a modular
design making it easier to implement the various versions.
Note that DMABUF is currently broken and needs to be re-implemented. 
						
						
					 
					
						2021-08-02 23:37:33 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e23144aecd 
					 
					
						
						
							
							[client] overlay: add new needs_render for realtime overlays  
						
						
						
						
					 
					
						2021-08-01 21:13:59 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						f64310320a 
					 
					
						
						
							
							[client] ds: add stopWaitFrame to terminate waitFrame early  
						
						... 
						
						
						
						This is used on exit to unblock the render thread. 
						
						
					 
					
						2021-08-01 19:54:28 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						16aa04d539 
					 
					
						
						
							
							[client] ds: add skipFrame method to interface  
						
						... 
						
						
						
						If this exists, it should be called when waitFrame returns but we don't
wish to render. 
						
						
					 
					
						2021-08-01 18:54:55 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						f8e1ab8f31 
					 
					
						
						
							
							[client] renderers: add new needs_render method to the interface  
						
						... 
						
						
						
						With jitRender the renderer needs to tell the main application if it
needs to be rendererd, such as during the initial splash screen fade
out. 
						
						
					 
					
						2021-08-01 18:18:08 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						77b3d45e0e 
					 
					
						
						
							
							[client] ds: change signalNextFrame to waitFrame  
						
						
						
						
					 
					
						2021-08-01 17:29:15 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fcbd255e99 
					 
					
						
						
							
							[client] app: allow overlay exit with KEY_ESC  
						
						
						
						
					 
					
						2021-07-31 20:51:38 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						41c5688fca 
					 
					
						
						
							
							[client] overlay: let the overlay know if it's in interactive mode  
						
						... 
						
						
						
						This also removes the need for the flags member as the overlay can just
opt to not render if it's not in interactive mode. 
						
						
					 
					
						2021-07-31 19:11:40 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						3043296e52 
					 
					
						
						
							
							[client] ds: add optional method signalNextFrame(LGEvent)  
						
						... 
						
						
						
						This method takes an LGEvent and signals it when the next frame should be
rendered in time for the next vblank.
We will be using this to render imgui at screen refresh rate, but this could
potentially be used later to implement a better form of vsync for supported
display servers.
This must be invoked before swapping buffers. 
						
						
					 
					
						2021-07-31 19:05:21 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						7ca5e14938 
					 
					
						
						
							
							[client] imgui: implement mouse wheel motion support  
						
						... 
						
						
						
						The display server should call app_handleWheelMotion as necessary. 
						
						
					 
					
						2021-07-31 14:58:35 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						edabd1bae7 
					 
					
						
						
							
							[client] imgui: remove no longer used overlay_utils.cpp  
						
						
						
						
					 
					
						2021-07-31 14:56:49 +10:00