Quantum 
							
						 
					 
					
						
						
							
						
						ba527761ef 
					 
					
						
						
							
							[common] vector: inline common operations  
						
						
						
						
					 
					
						2021-08-28 19:17:15 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						ceff9dca9b 
					 
					
						
						
							
							[client] egl: simplify filter moving logic with memmove  
						
						... 
						
						
						
						This avoids duplicating the entire array of filters. 
						
						
					 
					
						2021-08-25 05:35:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e040b88bf0 
					 
					
						
						
							
							[common] ivshmem: switch to using vectors  
						
						
						
						
					 
					
						2021-08-24 22:10:36 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						7c7eff8dba 
					 
					
						
						
							
							[client] egl: make texture_dmabuf.c use vector  
						
						... 
						
						
						
						This replaces the custom memory management code. 
						
						
					 
					
						2021-08-24 22:10:36 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						377757e743 
					 
					
						
						
							
							[common] vector: add indexed iteration modes  
						
						
						
						
					 
					
						2021-08-24 22:10:36 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						53b4b4818b 
					 
					
						
						
							
							[common] vector: allow inplace construction with vector_push  
						
						... 
						
						
						
						This makes vector_push return a pointer to the pushed element.
It also allows the user to push a NULL pointer, which means allocating the
memory for the element but do not copy anything into it. 
						
						
					 
					
						2021-08-24 22:10:36 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						07d3d6cbe7 
					 
					
						
						
							
							[common] vector: implement a clear operation  
						
						
						
						
					 
					
						2021-08-24 22:10:36 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						b71838a530 
					 
					
						
						
							
							[common] vector: allow vector_free to be used with NULL  
						
						... 
						
						
						
						This is done for consistency with free. 
						
						
					 
					
						2021-08-24 22:10:36 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b118c3b681 
					 
					
						
						
							
							[client] egl: implement nicer drag & drop re-ordering of filters  
						
						
						
						
					 
					
						2021-08-24 22:05:46 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e5e76d784e 
					 
					
						
						
							
							[client] egl: allow postprocessing filters to be reordered by dragging  
						
						
						
						
					 
					
						2021-08-22 21:36:13 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						99761b195f 
					 
					
						
						
							
							[client] egl: switch postprocessing filters to use vectors  
						
						... 
						
						
						
						This will allow them to be reordered much more easily. 
						
						
					 
					
						2021-08-22 21:36:13 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						24e0343156 
					 
					
						
						
							
							[common] vector: add new data structure  
						
						
						
						
					 
					
						2021-08-22 21:36:13 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						0b70aa49d0 
					 
					
						
						
							
							[doc] add documentation about libdecor  
						
						
						
						
					 
					
						2021-08-21 23:02:20 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						1e2caf4c9f 
					 
					
						
						
							
							[host] pipewire: implement basic capture  
						
						... 
						
						
						
						It works, with the following limitations:
1. user is forced to select the monitor through platform-specific mechanisms
   every time the client starts.
2. cursor is composed onto the screen, and no position can be reported. 
						
						
					 
					
						2021-08-21 23:01:11 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						28eae3bd86 
					 
					
						
						
							
							[host] linux: add skeleton pipewire capture backend  
						
						
						
						
					 
					
						2021-08-21 23:01:11 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						4b3aaa7e0c 
					 
					
						
						
							
							[host] cmake: report capture backends enabled  
						
						
						
						
					 
					
						2021-08-20 21:03:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						164dd00490 
					 
					
						
						
							
							[common] rects: fix typo in rectContains  
						
						
						
						
					 
					
						2021-08-20 17:13:04 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						9bd205a527 
					 
					
						
						
							
							[client] imgui: fix modifier key modification race  
						
						... 
						
						
						
						imgui really hates it when we update the modifier key state after igNewFrame.
The result is:
    void ImGui::ErrorCheckEndFrameSanityChecks(): Assertion
    `(key_mod_flags == 0 || g.IO.KeyMods == key_mod_flags) &&
    "Mismatching io.KeyCtrl/io.KeyShift/io.KeyAlt/io.KeySuper vs io.KeyMods"'
    failed.
Therefore, we buffer the modifier state information and update it in the IO
object right before we call igNewFrame. 
						
						
					 
					
						2021-08-20 13:21:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						c0fa6c414c 
					 
					
						
						
							
							[client] spice: do not warp host cursor if guest cursor is not visible  
						
						... 
						
						
						
						This avoids warping the host cursor when the guest-side warp has not finished,
which will result in the host cursor exiting at the wrong position if it exits
at that moment. 
						
						
					 
					
						2021-08-20 13:21:26 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						11a661ce3a 
					 
					
						
						
							
							[client] spice: don't display mouse before realignment finishes  
						
						... 
						
						
						
						This avoids showing the mouse briefly at the old position when reentering
the window. 
						
						
					 
					
						2021-08-20 13:21:26 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						c246b4a719 
					 
					
						
						
							
							Revert "[client] core: realign in the enter/focus handlers if possible"  
						
						... 
						
						
						
						This reverts commit 17617cc421 
						
						
					 
					
						2021-08-19 23:19:59 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						17617cc421 
					 
					
						
						
							
							[client] core: realign in the enter/focus handlers if possible  
						
						
						
						
					 
					
						2021-08-19 22:57:03 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e1a4401ffa 
					 
					
						
						
							
							[client] core: wait for the host to process the cursor move  
						
						
						
						
					 
					
						2021-08-19 22:17:22 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						4b3a79c110 
					 
					
						
						
							
							[client] x11: remove print from debugging  
						
						
						
						
					 
					
						2021-08-19 21:35:54 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3c3c0f70be 
					 
					
						
						
							
							[all] bump the LGMP version to obtain access to data serial tracking  
						
						
						
						
					 
					
						2021-08-19 21:29:03 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2d470b8deb 
					 
					
						
						
							
							[client] x11: filter out virtual/grabbed XIEnterEvents  
						
						
						
						
					 
					
						2021-08-19 21:29:03 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						9aa0d3ddab 
					 
					
						
						
							
							[client] egl: fix context creation on EGL 1.4  
						
						... 
						
						
						
						EGL_CONTEXT_OPENGL_DEBUG is only defined in EGL 1.5, and therefore, we should
not be passing it on older versions of EGL. 
						
						
					 
					
						2021-08-19 21:28:56 +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 
							
						 
					 
					
						
						
							
						
						5a906131eb 
					 
					
						
						
							
							[all] cmake: tell users to clone submodules when they haven't  
						
						... 
						
						
						
						This gives users a command to run that will automagically fix the submodule
situation, and should reduce the amount of support requests. 
						
						
					 
					
						2021-08-19 21:28:36 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						1021c9ce92 
					 
					
						
						
							
							[client] x11: implement keyboard modifiers  
						
						
						
						
					 
					
						2021-08-19 21:28:21 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						ce3f11fd40 
					 
					
						
						
							
							[client] x11: implement keyboard typing  
						
						
						
						
					 
					
						2021-08-19 21:28:21 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						bb91b41c64 
					 
					
						
						
							
							[client] egl: look at 3x3 around the pixel instead of 4x4  
						
						... 
						
						
						
						Using 4x4 means that some pixels will be outside of the lanczos window. The
ideal lanczos function should in fact be zero in those areas, so we shouldn't
waste time processing those pixels.
I can't notice any difference in the results. 
						
						
					 
					
						2021-08-19 15:52:44 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						520460669c 
					 
					
						
						
							
							[client] egl: set gl_Position.z in cursor vertex shader  
						
						
						
						
					 
					
						2021-08-19 12:24:55 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						1c7d14169e 
					 
					
						
						
							
							[client] kb: rename key code arrays from xfree86_* to linux_*  
						
						... 
						
						
						
						We are using Linux key codes defined in input-event-codes.h, not XFree86
stuff. 
						
						
					 
					
						2021-08-17 19:08:07 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						ccda264648 
					 
					
						
						
							
							[common] windebug: pass FORMAT_MESSAGE_IGNORE_INSERTS to FormatMessage  
						
						... 
						
						
						
						This avoids problems when the error message we are told to format contains
inserts like %1.
See https://devblogs.microsoft.com/oldnewthing/20071128-00/?p=24353  for
details (or for fun). 
						
						
					 
					
						2021-08-17 19:07:41 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						2ff32b230e 
					 
					
						
						
							
							[client] cmake: don't install cimgui.a into CMAKE_INSTALL_PREFIX  
						
						
						
						
					 
					
						2021-08-16 20:02:43 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						2dbd4f168e 
					 
					
						
						
							
							[all] cmake: provide an uninstall target  
						
						
						
						
					 
					
						2021-08-16 19:56:37 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						4ecf749f7e 
					 
					
						
						
							
							[host] remove all casts around malloc  
						
						
						
						
					 
					
						2021-08-16 16:26:58 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						2de9e3e9be 
					 
					
						
						
							
							[common] remove all casts around malloc  
						
						
						
						
					 
					
						2021-08-16 16:26:58 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						81c38e825c 
					 
					
						
						
							
							[client] remove all casts around malloc  
						
						... 
						
						
						
						The cast is unnecessary in C and should be removed to avoid clutter. 
						
						
					 
					
						2021-08-16 16:26:58 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						fd4a4114e6 
					 
					
						
						
							
							[client] egl: pad areas of the desktop repainted to cover overlays  
						
						... 
						
						
						
						We pad the screen coordinates and then convert to desktop coordinates,
so that the padding will always be a pixel wide on screen. 
						
						
					 
					
						2021-08-16 16:26:18 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						cdda89cef7 
					 
					
						
						
							
							[host] use correct argument order for calloc  
						
						
						
						
					 
					
						2021-08-16 16:25:59 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						104141eec1 
					 
					
						
						
							
							[client] use correct argument order for calloc  
						
						
						
						
					 
					
						2021-08-16 16:25:59 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						4d907cecab 
					 
					
						
						
							
							[common] use correct argument order for calloc  
						
						... 
						
						
						
						The signature for calloc is void *calloc(size_t num, size_t size), where num
is the number of elements to allocate, and size is the size. Therefore, to
allocate a single struct, we should pass 1 for num and the size of the struct
as size.
In some places, we use the opposite order, and we should flip it. 
						
						
					 
					
						2021-08-16 16:25:59 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						b7d3bbbd82 
					 
					
						
						
							
							[client] egl: use standard-compliant way of EGL detection  
						
						... 
						
						
						
						According to the documentation for eglQueryString:
> EGL_BAD_DISPLAY is generated if display is not an EGL display connection,
> unless display is EGL_NO_DISPLAY and name is EGL_EXTENSIONS.
Therefore, we should check EGL by doing:
    eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS)
Indeed, the old way of eglQueryString(EGL_NO_DISPLAY, EGL_VERSION) works on
libglvnd but not using mesa's libEGL.so directly.
Also added a warning to make it more obvious that EGL is not available. 
						
						
					 
					
						2021-08-16 16:25:48 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						8a5efef622 
					 
					
						
						
							
							[client] spice: avoid spice_key_modifiers when input is disabled  
						
						
						
						
					 
					
						2021-08-16 16:25:11 +10:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						14ad83c6b8 
					 
					
						
						
							
							[client] use variable-relative sizeof where possible  
						
						
						
						
					 
					
						2021-08-16 16:22:55 +10:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						1c5620ba25 
					 
					
						
						
							
							[common] use variable-relative sizeof where possible  
						
						
						
						
					 
					
						2021-08-16 16:22:55 +10:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						982b4e6625 
					 
					
						
						
							
							[host] use variable-relative sizeof where possible  
						
						
						
						
					 
					
						2021-08-16 16:22:55 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						c3f7327187 
					 
					
						
						
							
							[obs] display DMABUF option but disable it on older OBS  
						
						... 
						
						
						
						This allows users to be aware that the option exists and they should upgrade. 
						
						
					 
					
						2021-08-15 18:01:15 +10:00