Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						c66a339bbc 
					 
					
						
						
							
							[client] egl: ensure overflow occurs for state value checks  
						
						
						
						
					 
					
						2020-08-15 22:39:10 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						76e119f8ad 
					 
					
						
						
							
							[client] egl: don't fade the splash when restarting  
						
						
						
						
					 
					
						2020-08-11 14:54:48 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						da8b2d0cec 
					 
					
						
						
							
							[client] egl: properly wait for a new frame on restart  
						
						
						
						
					 
					
						2020-08-11 14:45:08 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						74649ddb96 
					 
					
						
						
							
							[client] gracefully restart if the host application restarts  
						
						
						
						
					 
					
						2020-08-11 14:30:44 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						06aee158de 
					 
					
						
						
							
							[client] egl: make better use of atomics and fix modulus bug  
						
						
						
						
					 
					
						2020-07-24 17:39:16 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						ede96fa486 
					 
					
						
						
							
							[client] egl: don't map the texture until it's needed  
						
						... 
						
						
						
						The texture buffer may still be in use if we try to re-map it
immediately, instead only map when we need it mapped, and unmap
immediately after advancing the offset allowing the render thread to
continue while the unmap operation occurs 
						
						
					 
					
						2020-05-30 16:50:27 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fcbdf7ba4f 
					 
					
						
						
							
							[client] egl: fix non-streaming texture updates  
						
						
						
						
					 
					
						2020-05-29 16:54:25 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e8c949c1e7 
					 
					
						
						
							
							[client] egl: dont re-setup the fps texture on each update  
						
						
						
						
					 
					
						2020-05-29 16:47:21 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						28c93ef5ac 
					 
					
						
						
							
							[client] egl: don't unmap/map all buffers for each frame  
						
						
						
						
					 
					
						2020-05-29 15:48:59 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						075c82b32c 
					 
					
						
						
							
							[client] egl: fix context binding enabling a lock free implementation  
						
						
						
						
					 
					
						2020-05-22 17:47:19 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						c9ff1e1949 
					 
					
						
						
							
							[client] egl: alter warning about low fps as it doesn't apply anymore  
						
						
						
						
					 
					
						2020-05-21 14:09:51 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e31f38eadc 
					 
					
						
						
							
							[client] allow frame updates to be triggered by a timed event  
						
						... 
						
						
						
						This is a major change to how the LG client performs it's updates. In
the past LG would operate a fixed FPS regardless of incoming update
speed and/or frequency. This change allows LG to dynamically increase
it's FPS in order to better sync with the guest as it's rate changes. 
						
						
					 
					
						2020-05-21 13:41:59 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						756b57400b 
					 
					
						
						
							
							[client] egl: move context init to lock function  
						
						
						
						
					 
					
						2020-05-21 11:55:35 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						01bfd2e090 
					 
					
						
						
							
							[client] egl: make better use of the second thread for streaming  
						
						
						
						
					 
					
						2020-05-21 11:44:56 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						a6d6a49f82 
					 
					
						
						
							
							[client] egl: use atomic members instead of locking the entire state  
						
						
						
						
					 
					
						2020-05-21 08:20:30 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						d899c26617 
					 
					
						
						
							
							[client] egl: add low FPS warning when failing to keep up  
						
						
						
						
					 
					
						2020-05-19 22:42:55 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						73ba325072 
					 
					
						
						
							
							[client] egl: reworked the streaming texture pipeline  
						
						
						
						
					 
					
						2020-05-19 22:03:36 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						f96f0fecda 
					 
					
						
						
							
							[client] egl: use proper atomics for pbo counting  
						
						
						
						
					 
					
						2020-05-18 09:06:11 +10:00 
						 
				 
			
				
					
						
							
							
								feltcat 
							
						 
					 
					
						
						
							
						
						e7f088ef52 
					 
					
						
						
							
							[client] egl: typo fix in info message  
						
						... 
						
						
						
						"Multsampling" to "Multisampling" 
						
						
					 
					
						2020-04-24 19:01:42 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						f6691a90c0 
					 
					
						
						
							
							[client/obs] improve frambuffer_read functions to support copy pitch  
						
						... 
						
						
						
						Fixes  #244  
					
						2020-04-14 13:27:07 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						4746c89227 
					 
					
						
						
							
							[all] moved time and locking methods to the common library  
						
						
						
						
					 
					
						2020-01-17 14:35:08 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						278d851c7c 
					 
					
						
						
							
							[egl] added fallback for platforms not supporting eglGetPlatformDisplay  
						
						
						
						
					 
					
						2020-01-17 11:50:00 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						17e05c6fd5 
					 
					
						
						
							
							[all] expose the FrameBuffer struct for correct sizeof calculations  
						
						
						
						
					 
					
						2020-01-13 19:30:49 +11:00 
						 
				 
			
				
					
						
							
							
								Andrew Sheldon 
							
						 
					 
					
						
						
							
						
						70110b4a5a 
					 
					
						
						
							
							[client] Use eglGetPlatformDisplay() to fix surface creation  
						
						... 
						
						
						
						[Why]
Recent versions of Mesa may have trouble with surface creation, resulting in
errors like:
egl.c:428  | egl_render_startup             | Failed to create EGL surface (eglError: 0x300b)
[How]
Replace eglGetDisplay() with eglGetPlatformDisplay(). Requires EGL 1.5, but should
be supported with any desktop driver released in the past few years. 
						
						
					 
					
						2019-12-13 00:35:35 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						66891aa536 
					 
					
						
						
							
							[client] don't require wayland-egl,  fixes   #204  
						
						
						
						
					 
					
						2019-10-26 11:23:04 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						4c0ca1c8e7 
					 
					
						
						
							
							[client] fix xor support for masked color cursors  
						
						... 
						
						
						
						fixes  #200  
					
						2019-10-09 19:48:42 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						bca54ab1f6 
					 
					
						
						
							
							[client/host] added new asyncronous memory copy  
						
						... 
						
						
						
						This changes the method of the memory copy from the host application to
the guest. Instead of performing a full copy from the capture device
into shared memory, and then flagging the new frame, we instead set a
write pointer, flag the client that there is a new frame and then copy
in chunks of 1024 bytes until the entire frame is copied. The client
upon seeing the new frame flag begins to poll at high frequency the
write pointer and upon each update copies as much as it can into the
texture.
This should improve latency but also slightly increase CPU usage on the
client due to the high frequency polling. 
						
						
					 
					
						2019-10-09 13:53:02 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6d2c464436 
					 
					
						
						
							
							[client] egl: improved streaming texture syncronization  
						
						
						
						
					 
					
						2019-08-30 12:09:05 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						da94075e7b 
					 
					
						
						
							
							[client] egl: more verbose error on texture egl failures  
						
						
						
						
					 
					
						2019-08-30 11:40:38 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fce88fc72c 
					 
					
						
						
							
							[EGL] add debug printf helper  
						
						
						
						
					 
					
						2019-08-30 11:33:43 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b979752989 
					 
					
						
						
							
							[client] added missing include  
						
						
						
						
					 
					
						2019-07-15 18:30:39 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						607539a2af 
					 
					
						
						
							
							[client] improve streaming texture performance  
						
						
						
						
					 
					
						2019-06-13 08:54:51 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3d426ccef8 
					 
					
						
						
							
							[all] fix missing cursor when client reconnects  
						
						
						
						
					 
					
						2019-05-28 14:06:15 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b31e8e1cee 
					 
					
						
						
							
							[client] egl: remove accidental commit of debug code  
						
						
						
						
					 
					
						2019-05-27 18:46:05 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						f0923c4ed7 
					 
					
						
						
							
							[client] egl: expose a few new tuneables  
						
						
						
						
					 
					
						2019-05-27 18:42:46 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						4cf2c7a350 
					 
					
						
						
							
							[client] check for failure to map pbo memory  
						
						
						
						
					 
					
						2019-05-27 01:39:01 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						dba9764c5e 
					 
					
						
						
							
							[egl] alert: fix fuzzy font bug and make alerts a little more plesant  
						
						
						
						
					 
					
						2019-05-23 19:58:12 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						d2d427b533 
					 
					
						
						
							
							[client] egl: query maximum multisample support for MSAA context  
						
						... 
						
						
						
						Based on @rLink234's work in 4ac781b4516678b6c59d9ecf4a61df64a01ec8c1
Fixes  #128  
						
						
					 
					
						2019-05-23 16:56:50 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3585e02993 
					 
					
						
						
							
							[client] egl: add options for maximum NV level and initial level  
						
						... 
						
						
						
						Adds options:
 * egl:nvGain
 * egl:nvGainMax
Fixes  #153  
						
						
					 
					
						2019-05-23 16:33:40 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						86f4256b5a 
					 
					
						
						
							
							[client] egl: fix streaming texture re-init crash  
						
						
						
						
					 
					
						2019-05-22 12:19:03 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fc66a4a19c 
					 
					
						
						
							
							[client] egl: use persistant mapped texture buffers  
						
						... 
						
						
						
						While it is recommended to use memory barriers when updating a buffer
like we are, since we double buffer it is unlikely we will corrupt a
prior frame, and even if we do since it's just texture data at worst
we might see a tear. 
						
						
					 
					
						2019-05-22 11:37:27 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						087387087e 
					 
					
						
						
							
							[client] fix race condition on initial uniform access  
						
						
						
						
					 
					
						2019-05-22 11:36:47 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e3c98ddc35 
					 
					
						
						
							
							[client] port all configuration parsing to use the new option helper  
						
						
						
						
					 
					
						2019-05-21 15:03:59 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						ba50fbdc3e 
					 
					
						
						
							
							[client] egl: implement pixel perfect upscaling  
						
						
						
						
					 
					
						2019-04-19 11:23:51 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						d8915dbfc9 
					 
					
						
						
							
							[build] make "common" a static library (part 2/2)  
						
						
						
						
					 
					
						2019-04-11 11:12:59 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						1fbba5cf2d 
					 
					
						
						
							
							[client] egl: make nightvision enhance luminosity before gain  
						
						
						
						
					 
					
						2019-03-31 00:08:52 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						35094a57cb 
					 
					
						
						
							
							[client] more cleanup and added alerts for new events  
						
						
						
						
					 
					
						2019-03-30 12:26:06 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						c4001c727a 
					 
					
						
						
							
							[client] egl: added new super+N binding to increase image gain  
						
						... 
						
						
						
						This feture is to allow the use of the key combination <super>+N to
increase the brightness of the screen when using monitors with poor
backlighting. Can help in some games.
N = Night vision 
						
						
					 
					
						2019-03-29 00:15:14 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3e021f3a6b 
					 
					
						
						
							
							[client] use cmake to generate renderers/fonts/clipboards headers/code  
						
						... 
						
						
						
						This is in preperation of cmake options to enable/disable various
functionallity. 
						
						
					 
					
						2019-03-28 19:56:14 +11:00