Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2f36aaff5c 
					 
					
						
						
							
							[client] egl: prepare for DXGI HDR10 support  
						
						
						
						
					 
					
						2023-10-27 01:03:22 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						eeea24ebfb 
					 
					
						
						
							
							[client] egl: invalidate the window when HDR settings are changed  
						
						
						
						
					 
					
						2023-10-24 13:46:51 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e0bdd869d6 
					 
					
						
						
							
							[all] fix client build on linux  
						
						
						
						
					 
					
						2023-10-22 04:00:44 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2e515657dd 
					 
					
						
						
							
							[all] update/add license headers  
						
						
						
						
					 
					
						2023-10-20 15:36:34 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						df5c648377 
					 
					
						
						
							
							[client] egl: remove unit qualifier from label  
						
						
						
						
					 
					
						2023-10-20 15:30:36 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						78df2073ff 
					 
					
						
						
							
							[client] egl: make it possible to configure HDR to SDR mapping  
						
						
						
						
					 
					
						2023-10-20 15:26:27 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						ad43969c1a 
					 
					
						
						
							
							[client] egl: add support to map HDR to SDR  
						
						
						
						
					 
					
						2023-04-26 16:26:54 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						880d8042a4 
					 
					
						
						
							
							[client] egl: fix support for deep color modes (30bpp)  
						
						
						
						
					 
					
						2023-04-19 18:02:14 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						a629d24dc3 
					 
					
						
						
							
							[client] egl: fix fourcc for RGBA10 dmabuf  
						
						
						
						
					 
					
						2023-04-19 17:30:40 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						0ee5751b3a 
					 
					
						
						
							
							[client] egl: fix buffer overflow  
						
						
						
						
					 
					
						2023-03-30 14:16:51 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b4b4a37b2b 
					 
					
						
						
							
							[client] egl: switch to using GL_TEXTURE_EXTERNAL_OES for DMABUF  
						
						... 
						
						
						
						According to Erik @ NVidia the open source NVidia driver will not
create a EGLImage from a DMABUF if the target is not
GL_TEXTURE_EXTERNAL_OES. This change set converts the dmabuf texture
from GL_TEXTURE_2D to GL_TEXTURE_EXTERNAL_OES and at runtime performs a
global search & replace on fragment shaders as needed to remain
compatible, replacing `sampler2D` with `samplerExternalOES`.
Ref: https://github.com/NVIDIA/open-gpu-kernel-modules/discussions/243#discussioncomment-3283415  
						
						
					 
					
						2023-03-09 09:20:01 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						bbc9204bfe 
					 
					
						
						
							
							[client] egl: ensure the preprocessed files have a null terminator  
						
						
						
						
					 
					
						2023-03-09 09:15:39 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						91b0cba145 
					 
					
						
						
							
							[client] egl: switch from mediump to highp  
						
						... 
						
						
						
						This fixes a rounding issue on certain hardware (NVidia) which actually
implement mediump as half precision (16-bit) float. It's safe to assume
`highp` is available as if the GPU does not support it, then the shader
compiler will try to find a lower precision that is supported by the GPU 
						
						
					 
					
						2023-03-05 14:10:21 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						bf8f4c17f0 
					 
					
						
						
							
							[client] opengl: render cursor in spice mode  
						
						
						
						
					 
					
						2022-09-19 14:58:47 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						0f261abb07 
					 
					
						
						
							
							[client] egl: recalculate mouse position when toggling spice  
						
						... 
						
						
						
						Without this step, the cursor with be transformed for rendering the
spice cursor, not the IVSHMEM cursor. 
						
						
					 
					
						2022-09-19 11:43:25 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						f14d135266 
					 
					
						
						
							
							[client] egl: support rendering cursors in spice display mode  
						
						
						
						
					 
					
						2022-09-19 11:13:53 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						0149549251 
					 
					
						
						
							
							[client] egl: fix usage `destRect, 0x0 is top left  
						
						... 
						
						
						
						This fixes the letterbox clip being incorrect when rounding is occuring
due to the inverted coordinate space. 
						
						
					 
					
						2022-09-17 16:02:11 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						d376dc4b5a 
					 
					
						
						
							
							[client] egl: fix the incorrect mask for dmabuf plane0 modifier  
						
						
						
						
					 
					
						2022-07-30 22:08:47 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						af51ea6d0b 
					 
					
						
						
							
							[client] egl: add support for EGL_EXT_image_dma_buf_import_modifiers  
						
						
						
						
					 
					
						2022-07-30 15:55:20 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						da04a6dd54 
					 
					
						
						
							
							[client] all: use the defined keyboard mapping for keybinds  
						
						... 
						
						
						
						Fixes  #1007  
					
						2022-06-29 18:26:40 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						a8521b821e 
					 
					
						
						
							
							[all] cmake: standardize indentation to 2 spaces  
						
						
						
						
					 
					
						2022-05-29 11:16:16 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fba7c80b2f 
					 
					
						
						
							
							[client] interface: remove needsRender from renderers  
						
						
						
						
					 
					
						2022-05-27 14:38:42 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						56ec98524c 
					 
					
						
						
							
							[client] egl: perform full damage if a post processing option is changed  
						
						
						
						
					 
					
						2022-05-27 11:40:20 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						a9e3ab9d18 
					 
					
						
						
							
							[client] egl: remove no longer used drawing functions  
						
						
						
						
					 
					
						2022-05-27 02:13:07 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fec45dfe9c 
					 
					
						
						
							
							[client] egl: remove unused splash shaders  
						
						
						
						
					 
					
						2022-05-27 02:10:38 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						5de175c1f3 
					 
					
						
						
							
							[client] all: unify the LG splash screen into an overlay  
						
						
						
						
					 
					
						2022-05-27 02:07:20 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						8974ae4fb5 
					 
					
						
						
							
							[client] add SVG loading support and use icons for status display  
						
						... 
						
						
						
						This brings nanosvg into the project for SVG loading and rendering.
Unfortunatly we can not at this time use a submodule for this project
until https://github.com/memononen/nanosvg/pull/214  is merged. 
						
						
					 
					
						2022-05-26 04:11:31 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						8aa36144dc 
					 
					
						
						
							
							overlay: move init/free to the context of the render thread  
						
						... 
						
						
						
						This is done to allow overlays to make use of the renderer during
init/free. 
						
						
					 
					
						2022-05-26 00:46:13 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6cbfa6e734 
					 
					
						
						
							
							[client] egl: add spice display support  
						
						
						
						
					 
					
						2022-05-24 06:57:33 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						faae785c44 
					 
					
						
						
							
							[client] spice: initialize new surfaces to black  
						
						
						
						
					 
					
						2022-05-24 00:17:08 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b5dfbcb5a2 
					 
					
						
						
							
							[client] egl: added missing case from texture init  
						
						
						
						
					 
					
						2022-05-23 20:55:02 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						247e867f18 
					 
					
						
						
							
							[client] egl: implemented SPICE display support  
						
						
						
						
					 
					
						2022-05-22 18:19:58 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6699018ed1 
					 
					
						
						
							
							[client] egl: check for null before free  
						
						
						
						
					 
					
						2022-05-22 12:05:02 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						947db38bc9 
					 
					
						
						
							
							[client] egl: fix mistake in rect clamping  
						
						
						
						
					 
					
						2022-05-22 11:53:46 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						1fcdcc8725 
					 
					
						
						
							
							[client] egl: allow for partial texture updates  
						
						
						
						
					 
					
						2022-05-21 21:21:16 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2901e7aec5 
					 
					
						
						
							
							[client] egl: only upload the damage rects if they actually changed  
						
						... 
						
						
						
						Profiling shows that a considerable amount of time is spent in
glBindBuffer and glBufferSubData when the damage rects are updated.
Since the amount of data here is quite small it's far faster to check if
it's different then to just blindly overwrite the buffer on each call.
Profiled on an Intel CPU with UHD P630 Graphics using magic-trace 
						
						
					 
					
						2022-05-17 00:51:13 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6afd262a27 
					 
					
						
						
							
							[client] egl: update AMD FSR to 1.0.2  
						
						
						
						
					 
					
						2022-05-04 15:29:21 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						eae559b4c9 
					 
					
						
						
							
							[client/obs] update to support downscaled frames coming from the host  
						
						
						
						
					 
					
						2022-05-01 19:51:25 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3a8cb6a613 
					 
					
						
						
							
							[client/common] fixes for issues detected through static analysis.  
						
						
						
						
					 
					
						2022-03-07 10:14:52 +11:00 
						 
				 
			
				
					
						
							
							
								Paul Hollinsky 
							
						 
					 
					
						
						
							
						
						3890c72159 
					 
					
						
						
							
							[client] egl: use texture sampler for desktop  
						
						... 
						
						
						
						The desktop doesn't need its own sampler, there is already an identically
configured one in the `desktop->texture`.
For some reason, using the texture sampler fixes a black screen issue
with my GTX 660 using the 470.86 driver. Maybe hitting some limit
for how many samplers can be allocated? 
						
						
					 
					
						2022-02-08 15:34:54 +11:00 
						 
				 
			
				
					
						
							
							
								Paul Hollinsky 
							
						 
					 
					
						
						
							
						
						4223a5e38f 
					 
					
						
						
							
							[client] egl: remove extra sampler from TextureBuffer  
						
						... 
						
						
						
						It was unused, there is a sampler in EGL_Texture (base). 
						
						
					 
					
						2022-02-08 15:34:54 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b0568ca404 
					 
					
						
						
							
							[client] egl: use a sigmoid curve for nv  
						
						
						
						
					 
					
						2022-01-26 23:03:35 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fb4bdaee2b 
					 
					
						
						
							
							[client] egl: set the active preset if specified at launch  
						
						
						
						
					 
					
						2022-01-26 16:07:17 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						c7389285f9 
					 
					
						
						
							
							[client] egl: fix null pointer access when no preset is set  
						
						
						
						
					 
					
						2022-01-26 16:04:15 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						aa426d13a7 
					 
					
						
						
							
							[client] egl: added egl:preset to load a default preset at startup  
						
						
						
						
					 
					
						2022-01-26 16:00:07 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						89c83dafc1 
					 
					
						
						
							
							[client] egl: make egl less noisy unless debug is specified  
						
						
						
						
					 
					
						2022-01-26 15:42:33 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						22f3cf5ba6 
					 
					
						
						
							
							[client] egl: fix masked color cursor blend operation for xor drawing  
						
						
						
						
					 
					
						2022-01-26 12:23:05 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3067bdaa15 
					 
					
						
						
							
							[client] egl: properly apply xor mask to masked color cursors  
						
						
						
						
					 
					
						2022-01-26 12:11:43 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						96fa8891c8 
					 
					
						
						
							
							[client] egl: fixed incorrect drawing of masked color cursors  
						
						
						
						
					 
					
						2022-01-24 06:56:32 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						1082875b8e 
					 
					
						
						
							
							[client] opengl: fix startup since ImGui upgrade  
						
						
						
						
					 
					
						2022-01-24 06:42:16 +11:00