Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2038517861 
					 
					
						
						
							
							[common] linux: review and fix event logic, events should not be counted  
						
						
						
						
					 
					
						2021-07-19 13:19:59 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						33bf668697 
					 
					
						
						
							
							[client] app: correct FPS to use an actual per second value  
						
						
						
						
					 
					
						2021-07-19 10:58:40 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2736e37e4a 
					 
					
						
						
							
							[common] timer: fix timespec parameters when interval >= 1000  
						
						
						
						
					 
					
						2021-07-19 10:58:10 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e4e1451eaa 
					 
					
						
						
							
							[client] app: give some transparency to the new FPS window  
						
						
						
						
					 
					
						2021-07-18 21:22:16 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						7c872d2d9e 
					 
					
						
						
							
							[client] egl: properly use OpenGL ES  
						
						... 
						
						
						
						Instead of using the desktop <GL/gl.h>, we properly use the OpenGL ES 3.x
headers. Also, we now use GL_EXT_buffer_storage for MAP_PERSISTENT_BIT_EXT
and MAP_COHERENT_BIT_EXT as the core versions are only available in desktop
OpenGL 4.4. Similarly, we need GL_EXT_texture_format_BGRA8888 for GL_BGRA_EXT
as GL_BGRA is desktop-only. 
						
						
					 
					
						2021-07-18 20:44:32 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						ab31040d5f 
					 
					
						
						
							
							[client] all: use imgui for FPS/UPS display  
						
						
						
						
					 
					
						2021-07-18 20:43:17 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						45e1b5bce0 
					 
					
						
						
							
							[common] ringbuffer: add pre value overwrite callback  
						
						... 
						
						
						
						This allows us to set a callback to read a value out before it's about
to be overwritten which can be useful for things like calculating a
running average. 
						
						
					 
					
						2021-07-18 20:42:29 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						42d8f31eba 
					 
					
						
						
							
							[client] imgui: use ES 3.0 and remove glew dependency  
						
						... 
						
						
						
						If we specifically tell ImGui's OpenGL 3.x backend to target OpenGL ES 3.0,
then no extension loader is necessary. 
						
						
					 
					
						2021-07-18 18:50:12 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						c6a6230a56 
					 
					
						
						
							
							[client] egl: revert "only copy damaged areas when using dmabuf"  
						
						... 
						
						
						
						This reverts commit a14de25661 
						
						
					 
					
						2021-07-18 18:48:35 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						a14de25661 
					 
					
						
						
							
							[client] egl: only copy damaged areas when using dmabuf  
						
						... 
						
						
						
						This speeds up the copy significantly when the frame only has small
amount of damage. 
						
						
					 
					
						2021-07-18 17:41:29 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						09893fd728 
					 
					
						
						
							
							[client] wayland: display swap to photon latency graph  
						
						
						
						
					 
					
						2021-07-18 16:15:10 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e87bc3a83e 
					 
					
						
						
							
							[client] wayland: measure presentation time  
						
						
						
						
					 
					
						2021-07-18 16:15:10 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						6da9428d85 
					 
					
						
						
							
							[client] imgui: use struct for graph metrics instead of array  
						
						... 
						
						
						
						This allows the members to be named, making the code much easier to read. 
						
						
					 
					
						2021-07-18 16:15:10 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						15bc6a1509 
					 
					
						
						
							
							[client] imgui: support registering new graphs  
						
						... 
						
						
						
						Currently, our struct ll doesn't support removing elements from the middle,
so we will not be removing anything for now. 
						
						
					 
					
						2021-07-18 16:15:10 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						a4bf3c8088 
					 
					
						
						
							
							[client] egl: use debug context and make it configurable  
						
						... 
						
						
						
						The boolean option egl:debug is used to control whether we want debug
output or not. This defaults to true to aid in debugging. 
						
						
					 
					
						2021-07-18 15:55:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						6472c28473 
					 
					
						
						
							
							[client] egl: upload damage vertices with glBufferSubData  
						
						... 
						
						
						
						This avoids the issues surrounding glMapBuffer and glMapBufferRange in
OpenGL ES. 
						
						
					 
					
						2021-07-18 15:55:27 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						f49f2af6cd 
					 
					
						
						
							
							[client] egl: implement error reporting callback  
						
						... 
						
						
						
						This reports useful information from OpenGL on supported platforms. 
						
						
					 
					
						2021-07-18 13:54:16 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						061b9ba6c2 
					 
					
						
						
							
							[client] egl: use vertex array objects in model.c  
						
						... 
						
						
						
						This eliminates the need to bind the buffers and set up the vertices on
every frame. 
						
						
					 
					
						2021-07-18 11:58:47 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						d4f8426ae4 
					 
					
						
						
							
							[client] egl: correctly clean up vertex buffer objects  
						
						... 
						
						
						
						The code used to use hasBuffer, which was never set to true, so buffer
objects were always leaked instead. 
						
						
					 
					
						2021-07-18 11:58:47 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						ad974cfa0a 
					 
					
						
						
							
							[common] dpi: remove no longer used library  
						
						
						
						
					 
					
						2021-07-18 10:50:57 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e1fae8927f 
					 
					
						
						
							
							[common] kvmfr: remove mouseScalingPercent which is no longer used  
						
						... 
						
						
						
						This used to contain DPI information, but is no longer used. 
						
						
					 
					
						2021-07-18 10:50:57 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						9ab85fd0b8 
					 
					
						
						
							
							[host] capture: stop sending DPI information  
						
						... 
						
						
						
						The client doesn't need DPI information anymore, so there is no point
fetching it. 
						
						
					 
					
						2021-07-18 10:50:57 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e0c9a71cd8 
					 
					
						
						
							
							[client] spice: remove dpi which is no longer used  
						
						... 
						
						
						
						DPI was originally added to workaround cursor movement scaling, but since
due to changes with mouse handling, it's no longer required. 
						
						
					 
					
						2021-07-18 10:50:57 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						d44d87ee7f 
					 
					
						
						
							
							[client] spice: update to use the new epoll version of PureSpice  
						
						
						
						
					 
					
						2021-07-18 10:48:56 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						2b3f31700b 
					 
					
						
						
							
							[client] egl: implement frame damage display  
						
						
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						12cb3e512f 
					 
					
						
						
							
							[client] util: add function for merging overlapping rectangles  
						
						... 
						
						
						
						This will be used to merge overlapping rectangles in order to avoid copying
the same rectangles multiple times. 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						92706caddc 
					 
					
						
						
							
							[common]: move array length into a common helper  
						
						... 
						
						
						
						Since it is more generally useful, and less cryptic this way. 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						893b2500c2 
					 
					
						
						
							
							[host] nvfbc: copy damaged areas only  
						
						... 
						
						
						
						This commit tracks the damage made to the framebuffer and only updates those
areas. Damage is tracked directly with NvFBC provided diffmaps. 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						ef2da1902e 
					 
					
						
						
							
							[common] framebuffer: allow custom framebuffer write implementations  
						
						... 
						
						
						
						This is helpful for only copying damaged areas. 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						9ce4990793 
					 
					
						
						
							
							[host] capture: pass frameIndex to capture backends  
						
						... 
						
						
						
						This allows capture backends to track damage made to each frame. 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						f274bec8fc 
					 
					
						
						
							
							[host] dxgi: compute damage rectangles from moved rectangles  
						
						... 
						
						
						
						This is untested in that I don't have a Windows 8 VM where move rects
are supplied, but seems sound. 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						00eb26a34f 
					 
					
						
						
							
							[client] egl: do not use damage when overlays are visible  
						
						... 
						
						
						
						This allows the overlays to show up correctly. 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e42747f4e3 
					 
					
						
						
							
							[host] nvfbc: better algorithm for merging adjacent regions  
						
						... 
						
						
						
						Use a proper disjoint-set to give a more accurate result. 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						5ed3301cf5 
					 
					
						
						
							
							[host] nvfbc: merge adjacent changed regions  
						
						... 
						
						
						
						For adjacent changed regions, we actually use the bounding box for the
entire polygon. This may result in more area being damaged than strictly
necessary, but is nevertheless desirable since it reduces the number of
rectangles. 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						442ab318fd 
					 
					
						
						
							
							[client] egl: use desktop frame damage information  
						
						
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						6b16bb3ea1 
					 
					
						
						
							
							[host] nvfbc: populate damage rectangles  
						
						
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						d7f9afb3ba 
					 
					
						
						
							
							[host] dxgi: populate damage rectangles  
						
						... 
						
						
						
						Co-Authored-By: Quantum <quantum2048@gmail.com > 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						80ab4b5393 
					 
					
						
						
							
							[host] capture: add damage rectangles to capture interface  
						
						
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						69b20aee05 
					 
					
						
						
							
							[common] kvmfr: add damage rectangles to the protocol  
						
						... 
						
						
						
						Co-Authored-By: Tudor Brindus <me@tbrindus.ca > 
						
						
					 
					
						2021-07-18 10:41:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						38a018ebfa 
					 
					
						
						
							
							[doc] build: remove mentions of SDL  
						
						
						
						
					 
					
						2021-07-18 10:34:41 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						6695ca3f34 
					 
					
						
						
							
							[client] ds: remove SDL display server  
						
						
						
						
					 
					
						2021-07-18 10:34:41 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						eb357fa58a 
					 
					
						
						
							
							[client] egl: use glCopyTexSubImage2D to copy when using DMA  
						
						... 
						
						
						
						This removes the need for the driver to allocate texture storage and deleting
the previous allocation on every frame update. 
						
						
					 
					
						2021-07-18 10:34:21 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e32494f684 
					 
					
						
						
							
							[client] ci: fix clang build by using clang++  
						
						
						
						
					 
					
						2021-07-18 10:32:27 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						39ec32b2ef 
					 
					
						
						
							
							[client] cimgui: build as static library  
						
						
						
						
					 
					
						2021-07-18 10:31:45 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						d8b37a8d81 
					 
					
						
						
							
							[git] update workflow to include new libglew-dev dependency  
						
						
						
						
					 
					
						2021-07-18 10:03:30 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						df2f623599 
					 
					
						
						
							
							[client] app: add keybind to toggle frame timing information display  
						
						
						
						
					 
					
						2021-07-18 09:59:37 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						73357988e6 
					 
					
						
						
							
							[client] main: don't trigger redraws if the video feed is disabled  
						
						... 
						
						
						
						If the video feed is disabled we are not drawing the cursor, so don't
cause needless redraws 
						
						
					 
					
						2021-07-17 21:09:51 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						03c247a9ff 
					 
					
						
						
							
							[client] x11: make use of eglSwapBuffersWithDamage if it's available  
						
						
						
						
					 
					
						2021-07-17 21:09:51 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						092ce61908 
					 
					
						
						
							
							[client] main: copy & release KVMFR messages sooner  
						
						... 
						
						
						
						The renderer may take time to process the cursor update due to various
internal factors, as such it's best we copy the data and mark the
message as done ASAP. This prevents the host from filling up the queue
as easily when a high dpi mouse is in use. 
						
						
					 
					
						2021-07-17 21:09:51 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b9d7674b20 
					 
					
						
						
							
							[client] imgui: calculate min/max/avg/fps and add them to the plots  
						
						
						
						
					 
					
						2021-07-17 21:09:51 +10:00