Quantum 
							
						 
					 
					
						
						
							
						
						009ae02e32 
					 
					
						
						
							
							[client] egl: add graph tracking time taken to import frame  
						
						... 
						
						
						
						This tracks the time taken to load the frame buffer into an OpenGL texture. 
						
						
					 
					
						2021-07-29 10:08:52 +10:00 
						 
				 
			
				
					
						
							
							
								arcnmx 
							
						 
					 
					
						
						
							
						
						552a37122a 
					 
					
						
						
							
							[host] app: add throttleFPS option  
						
						
						
						
					 
					
						2021-07-28 02:47:24 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						6ed1f4662d 
					 
					
						
						
							
							[client] imgui: report failed font atlas building  
						
						... 
						
						
						
						Also removed the inefficient code to build the default atlas. 
						
						
					 
					
						2021-07-26 17:08:02 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						5f5f497cbd 
					 
					
						
						
							
							[host/common] windows: provide delayExecution via nsleep  
						
						... 
						
						
						
						This change moves this platform specific sleep to `common` as the OS
agnostic `nsleep` function.
Ref PR #661  
						
						
					 
					
						2021-07-26 16:36:56 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						120fe63c0f 
					 
					
						
						
							
							[client] egl: keep x/y coordinates of cursor rectangle non-negative  
						
						... 
						
						
						
						This shifts the rectangles upwards instead of cutting off the rectangles,
but it keeps the code simple. 
						
						
					 
					
						2021-07-26 07:56:46 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						181b165a4b 
					 
					
						
						
							
							[client] egl: generate correct cursor damage with cursor rotation  
						
						
						
						
					 
					
						2021-07-25 17:35:29 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						dafd7e7b42 
					 
					
						
						
							
							[host] app: when running in sync mode send frame repeats as needed  
						
						
						
						
					 
					
						2021-07-25 17:10:51 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						d9cdc8d26c 
					 
					
						
						
							
							[client] egl: rotate damage rectangles according to client side rotation  
						
						
						
						
					 
					
						2021-07-25 16:56:48 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						d0722349e6 
					 
					
						
						
							
							[client] egl: make damage overlay support rendering rotated rectangles  
						
						
						
						
					 
					
						2021-07-25 16:56:48 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2ef80a5d34 
					 
					
						
						
							
							[client] overlay: cosmetic changes to the overlay display  
						
						
						
						
					 
					
						2021-07-25 16:49:25 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e7761abf3c 
					 
					
						
						
							
							[client] wayland: invalidate window on configure  
						
						... 
						
						
						
						This avoids sending potentially meaningless damage values after a surface
configuration event. 
						
						
					 
					
						2021-07-25 15:36:44 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3905834807 
					 
					
						
						
							
							[client] x11: call app_invalidateWindow on expose  
						
						
						
						
					 
					
						2021-07-25 15:30:56 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						60a58d4d8d 
					 
					
						
						
							
							[client] all: make it possible to signal full window invalidation  
						
						... 
						
						
						
						Now that we are drawing with damage rects, when the window is hidden and
then exposed the window may not get fully redrawn. This provides
`app_invalidateWindow` for the display server backend to call when the
screen needs a full redraw. 
						
						
					 
					
						2021-07-25 15:29:29 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						8c2a77e84e 
					 
					
						
						
							
							[client] don't skip the first frame if we do not yet have a frame  
						
						... 
						
						
						
						A frame serial of `0` is valid and will happen if either the host app
has just started, or the serial has overflowed. 
						
						
					 
					
						2021-07-25 15:10:40 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e35facbb15 
					 
					
						
						
							
							[spice] bump PureSpice version  
						
						
						
						
					 
					
						2021-07-25 15:10:40 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						8528969efd 
					 
					
						
						
							
							[host] nvfbc: clamp damage rectangles to screen size  
						
						
						
						
					 
					
						2021-07-25 14:34:10 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						9dffde74b2 
					 
					
						
						
							
							[client] main: skip duplicate frames  
						
						... 
						
						
						
						When a new client connects to our session the host will repeat the last
valid frame for the new client. This change will detect this and skip
the duplicated frame. 
						
						
					 
					
						2021-07-25 13:46:48 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b39f38350f 
					 
					
						
						
							
							[common] kvmfr: add a new frameSerial field to the KVMFRFrame struct  
						
						... 
						
						
						
						This new field is used so that when a new client connects an already
connected client can identify any repeated frame that is sent and ignore
it. 
						
						
					 
					
						2021-07-25 13:46:48 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						f4daa9f527 
					 
					
						
						
							
							[all] cmake: fix OptimizeForNative  
						
						... 
						
						
						
						1. Correctly detect ON state so that host is not built as -march=native by
   default.
2. Merge OFF and GENERIC options as we need at least -march=nehalem to build
   properly. 
						
						
					 
					
						2021-07-25 13:46:13 +10:00 
						 
				 
			
				
					
						
							
							
								arcnmx 
							
						 
					 
					
						
						
							
						
						2c745db544 
					 
					
						
						
							
							[host] windows: use CMAKE_DLLTOOL if available  
						
						... 
						
						
						
						cmake automatically finds dlltool as of version 3.16 
						
						
					 
					
						2021-07-24 14:52:32 +10:00 
						 
				 
			
				
					
						
							
							
								arcnmx 
							
						 
					 
					
						
						
							
						
						3b37898eb2 
					 
					
						
						
							
							[all] use cmake FindPkgConfig IMPORTED_TARGETs  
						
						
						
						
					 
					
						2021-07-24 12:35:48 +10:00 
						 
				 
			
				
					
						
							
							
								arcnmx 
							
						 
					 
					
						
						
							
						
						aa2ea05af9 
					 
					
						
						
							
							[client] removed unused GMP dependency  
						
						
						
						
					 
					
						2021-07-24 12:35:48 +10:00 
						 
				 
			
				
					
						
							
							
								arcnmx 
							
						 
					 
					
						
						
							
						
						7316c1c46c 
					 
					
						
						
							
							[all] include OPTIMIZE_FOR_NATIVE in feature summary  
						
						
						
						
					 
					
						2021-07-24 12:35:17 +10:00 
						 
				 
			
				
					
						
							
							
								arcnmx 
							
						 
					 
					
						
						
							
						
						38cb348201 
					 
					
						
						
							
							[all] make OPTIMIZE_FOR_NATIVE a tristate option  
						
						
						
						
					 
					
						2021-07-24 12:35:17 +10:00 
						 
				 
			
				
					
						
							
							
								arcnmx 
							
						 
					 
					
						
						
							
						
						be664c49c8 
					 
					
						
						
							
							[all] cmake: use -march=x86-64-v2 when it becomes available  
						
						... 
						
						
						
						Moves the logic in 0525515 
						
						
					 
					
						2021-07-24 12:35:17 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						f09738678e 
					 
					
						
						
							
							[client] fonts: remove font rendering machinery  
						
						
						
						
					 
					
						2021-07-23 20:18:12 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						0c35d9b057 
					 
					
						
						
							
							[client] opengl: remove font management  
						
						
						
						
					 
					
						2021-07-23 20:18:12 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						cb9774bbd2 
					 
					
						
						
							
							[client] egl: remove font management  
						
						
						
						
					 
					
						2021-07-23 20:18:12 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						dd0edc1394 
					 
					
						
						
							
							[client] renderers: remove alert handling  
						
						
						
						
					 
					
						2021-07-23 20:18:12 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						be44249c05 
					 
					
						
						
							
							[client] imgui: converted alerts to use imgui  
						
						
						
						
					 
					
						2021-07-23 20:18:12 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						efb5019176 
					 
					
						
						
							
							[client] overlay/help: switch to using ImGui's table facility  
						
						
						
						
					 
					
						2021-07-23 18:04:05 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						5153d35bb5 
					 
					
						
						
							
							[client] renderer: remove on_help from renderer interface  
						
						
						
						
					 
					
						2021-07-23 18:04:05 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						036f16b9ef 
					 
					
						
						
							
							[client] imgui: convert help overlay to use imgui  
						
						
						
						
					 
					
						2021-07-23 18:04:05 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						436986d182 
					 
					
						
						
							
							[client] imgui: make UI font and size configurable  
						
						
						
						
					 
					
						2021-07-23 16:07:42 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						5d053128ac 
					 
					
						
						
							
							[client] imgui: use improved high DPI rendering  
						
						... 
						
						
						
						This actually makes imgui render at a higher resolution, avoiding scaling
and resulting blurriness. 
						
						
					 
					
						2021-07-23 16:07:42 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						b5c5ecc074 
					 
					
						
						
							
							[client] imgui: support high DPI by scaling framebuffer  
						
						... 
						
						
						
						This allows overlays to render at correct positions on high DPI displays. 
						
						
					 
					
						2021-07-23 16:07:42 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						56308fcbd1 
					 
					
						
						
							
							[client] overlay: use utility function to get ImGui rectangle  
						
						
						
						
					 
					
						2021-07-23 15:54:18 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						628bdab21b 
					 
					
						
						
							
							[client] overlay: remove space checking  
						
						... 
						
						
						
						Every overlay is now guaranteed to be able to write MAX_OVERLAY_RECTS rects,
and running out of space is now an error. 
						
						
					 
					
						2021-07-23 15:54:18 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						df0397b10b 
					 
					
						
						
							
							[client] imgui: track last rectangles for overlays  
						
						... 
						
						
						
						This is necessary in case overlays change size. When this happens, we must
damage the larger of the overlays' rectangles this frame and last frame.
This erases the overlay from where it is no longer appears.
In order to do this, we must keep track of the rectangles for every overlay
with no exception. We cannot short-circuit the generation of rectangles if
we run out of buffer space, and we must allocate space for MAX_OVERLAY_RECTS
rectangles for every frame. Otherwise, we will not know where to erase the
overlay if it disappears. 
						
						
					 
					
						2021-07-23 15:54:18 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						334bfeecea 
					 
					
						
						
							
							[client] egl: correctly handle mixing imgui and non-imgui overlays  
						
						... 
						
						
						
						This allows the full frame to be damaged when both types are visible. 
						
						
					 
					
						2021-07-23 15:53:59 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						3cf0257f34 
					 
					
						
						
							
							[host] windows: do not complain about failed timer destruction at exit  
						
						... 
						
						
						
						When our window is destroyed, our timers are also destroyed. This causes our
attempt at destruction to fail. Instead, set MessageHWND to NULL in the
WM_DESTROY handler and don't try destroying the timers if the window is gone. 
						
						
					 
					
						2021-07-23 15:52:45 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						6382fc11af 
					 
					
						
						
							
							[client] ci: run all build combinations to completion  
						
						... 
						
						
						
						This is desirable because certain uncommon configurations like libdecor or
clang may break, and this shouldn't stop us from seeing if unrelated changes
pass. 
						
						
					 
					
						2021-07-23 15:52:22 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						b26067b0a0 
					 
					
						
						
							
							[client] wayland: use new libdecor pkgconfig package name  
						
						
						
						
					 
					
						2021-07-23 15:52:05 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						947eac52f6 
					 
					
						
						
							
							[client] renderers: treat -1 as full damage and 0 as no overlay  
						
						... 
						
						
						
						This makes everything consistent. 
						
						
					 
					
						2021-07-22 18:57:34 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						4c60409aaf 
					 
					
						
						
							
							[host] windows: use WM_CLOSE to signal window destruction  
						
						... 
						
						
						
						DestroyWindow can only be invoked on the thread that created the window.
All other threads must use WM_CLOSE or another message to signal tell the
window to destroy itself. 
						
						
					 
					
						2021-07-22 18:55:11 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						eb5c588af9 
					 
					
						
						
							
							[client] overlay: call igEnd before return  
						
						
						
						
					 
					
						2021-07-22 18:38:32 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3b6ad957e3 
					 
					
						
						
							
							[client] overlay: increment totalRects  
						
						
						
						
					 
					
						2021-07-22 18:38:00 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						4acbf2e9a0 
					 
					
						
						
							
							[client] overlay: rework the interface to avoid possible race conditions  
						
						
						
						
					 
					
						2021-07-22 18:33:50 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						50f7a1a99c 
					 
					
						
						
							
							[client] overlay: properly free the graphs before ll free  
						
						
						
						
					 
					
						2021-07-22 18:32:28 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						515f08d2da 
					 
					
						
						
							
							[client] egl: transform overlay damage coordinates  
						
						... 
						
						
						
						EGL uses bottom-up y-coordinate while we use top-down. 
						
						
					 
					
						2021-07-22 18:32:18 +10:00