Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						19db67cfe5 
					 
					
						
						
							
							[client] egl: detect the NVIDIA driver and disable DMA support  
						
						... 
						
						
						
						DMA suport for NVIDIA is advertised as available by the presense of the
extension `EGL_EXT_image_dma_buf_import`, however it is completely
broken. Until this is fixed refuse to use DMA support even if VM->VM
support is possible.
See: https://forums.developer.nvidia.com/t/egl-ext-image-dma-buf-import-broken-egl-bad-alloc-with-tons-of-free-ram/165552  
						
						
					 
					
						2021-01-09 21:25:41 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						78b1f64a61 
					 
					
						
						
							
							[client] require 8 bit colour when creating OpenGL context  
						
						... 
						
						
						
						For some reason, if we don't ask for 8-bit, wayland will give a context with
lower bit depth, which looks terrible. 
						
						
					 
					
						2021-01-04 15:51:36 +11:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						1ca5e439c1 
					 
					
						
						
							
							[client] egl: disable EGL when running on Wayland  
						
						... 
						
						
						
						This commit makes Looking Glass always use the OpenGL renderer when
running on Wayland. The EGL renderer is broken on Wayland and can't
reasonably be fixed until SDL is dropped entirely (as per
https://github.com/gnif/LookingGlass/issues/306 ).
Until that time, the OpenGL renderer provides a much better
Wayland-native experience. 
						
						
					 
					
						2021-01-04 15:47:01 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3016f0c53e 
					 
					
						
						
							
							[client] fix invalid method names  
						
						
						
						
					 
					
						2021-01-04 14:44:33 +11:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						4bceaf5505 
					 
					
						
						
							
							[client] fix hang in eglSwapBuffers when exiting while not visible  
						
						... 
						
						
						
						eglSwapBuffers is allowed to block when called with a nonzero interval
parameter. On Wayland, Mesa will block until a frame callback arrives.
If an application is not visible, a compositor is free to not schedule
frame callbacks (in order to save CPU time rendering something that is
entirely invisible).
Currently, starting Looking Glass from a terminal, hiding it
entirely, and sending ^C will cause Looking Glass to hang joining the
render thread until the window is made visible again.
Calling eglDestroySurface is insufficient to unblock eglSwapBuffers, as
it attempts to grab the same underlying mutex.
Instead, this commit makes it so that we pass a 0 interval to
eglSwapBuffers when running on Wayland, such that we don't block waiting
for a frame callback. This is not entirely ideal as it *does* mean
Looking Glass submits buffers while hidden, but it seems better than
hanging on exit.
It also forces opengl:vsync and egl:vsync flags to off when running on
Wayland, as they are meaningless there. 
						
						
					 
					
						2021-01-04 14:43:21 +11:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						bc2f26b86d 
					 
					
						
						
							
							[client] set default opengl:vsync=off  
						
						... 
						
						
						
						This makes it consistent with the EGL renderer. 
						
						
					 
					
						2021-01-04 14:43:21 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						bf1eba15d1 
					 
					
						
						
							
							[client] egl: actually do front buffer rendering  
						
						
						
						
					 
					
						2020-12-31 15:31:24 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						1e4e582f67 
					 
					
						
						
							
							[client] egl: only use a single texture but multiple PBOs  
						
						
						
						
					 
					
						2020-12-31 14:18:38 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						678ba0f484 
					 
					
						
						
							
							[client] egl: check for EGLImage creation failure  
						
						
						
						
					 
					
						2020-12-31 12:58:40 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2c2008c981 
					 
					
						
						
							
							[client] egl: improve DMA logic  
						
						
						
						
					 
					
						2020-12-31 12:58:22 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						806ff934b2 
					 
					
						
						
							
							[client] egl: detect if egl is even available  
						
						
						
						
					 
					
						2020-11-29 21:43:28 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						cd4dfd7252 
					 
					
						
						
							
							[client] egl: cleanup/refactor of cursor texture code  
						
						
						
						
					 
					
						2020-11-10 20:42:14 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						36726bb349 
					 
					
						
						
							
							[client] egl: fixed typo  
						
						
						
						
					 
					
						2020-11-09 07:42:59 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						dd7e0ea8c6 
					 
					
						
						
							
							[client] egl: added colorblind support (egl:cbMode=0/1/2/3)  
						
						... 
						
						
						
						Based on http://www.daltonize.org/search/label/Daltonize 
0 = Off
1 = Protanope
2 = Deuteranope
3 = Tritanope 
						
						
					 
					
						2020-11-09 07:08:15 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						4c14797319 
					 
					
						
						
							
							[client] egl: no need to create textures when using DMA mode  
						
						
						
						
					 
					
						2020-10-30 22:19:15 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						42fef7a98d 
					 
					
						
						
							
							[client] egl: remove deprecated YUV420 support  
						
						
						
						
					 
					
						2020-10-30 19:31:48 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						267fa6e389 
					 
					
						
						
							
							[client] egl: select the correct fourcc type for dma mode  
						
						
						
						
					 
					
						2020-10-30 11:55:47 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						4f9544d61d 
					 
					
						
						
							
							[client] egl: added DMA texture support for direct upload  
						
						... 
						
						
						
						Note: This only works with the KVMFR kernel module in a VM->VM
configuration. If this causes issues it can be disabled with the new
option `app:allowDMA` 
						
						
					 
					
						2020-10-30 02:36:45 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						0bf73d862d 
					 
					
						
						
							
							[client] added initial framework for dma buffer support  
						
						
						
						
					 
					
						2020-10-30 02:36:45 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						58ba76a27f 
					 
					
						
						
							
							[client] seperate frame setup and data events  
						
						
						
						
					 
					
						2020-10-12 19:43:29 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						90d1ed64e4 
					 
					
						
						
							
							[client] opengl: added RGBA16F support  
						
						
						
						
					 
					
						2020-10-11 20:44:22 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						919b77df71 
					 
					
						
						
							
							[client] egl: fix RGBA16F support  
						
						
						
						
					 
					
						2020-10-11 20:34:34 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						98e0e5fc0b 
					 
					
						
						
							
							[client] egl: correct invalid value for texture row length  
						
						
						
						
					 
					
						2020-10-11 19:59:44 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						8a9f004ff6 
					 
					
						
						
							
							[host/client] fix invalid initialization of RGBA16F  
						
						
						
						
					 
					
						2020-10-11 19:39:47 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						9c6bd888fd 
					 
					
						
						
							
							[host/client] added experimental RGBA16 float support (EGL only)  
						
						
						
						
					 
					
						2020-10-11 19:22:31 +11:00 
						 
				 
			
				
					
						
							
							
								Jonathan Rubenstein 
							
						 
					 
					
						
						
							
						
						66df00cee2 
					 
					
						
						
							
							Add option to skip splash screen fade out  
						
						
						
						
					 
					
						2020-10-09 03:28:58 +11:00 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Mikko Rasa 
							
						 
					 
					
						
						
							
						
						ead09ed110 
					 
					
						
						
							
							[client] opengl: render frame if config didn't change  
						
						
						
						
					 
					
						2020-04-14 12:19:59 +10:00 
						 
				 
			
				
					
						
							
							
								fishery 
							
						 
					 
					
						
						
							
						
						94a35a6558 
					 
					
						
						
							
							[client] fix buffer overflow in opengl_options  
						
						... 
						
						
						
						buffer overflow loading opengl_options 
						
						
					 
					
						2020-04-02 00:17:19 +11: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