Quantum 
							
						 
					 
					
						
						
							
						
						9414449408 
					 
					
						
						
							
							[client] app: add ability to receive keyboard typing in overlays  
						
						
						
						
					 
					
						2021-08-14 14:44:26 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						5f3bd778c0 
					 
					
						
						
							
							[client] egl: add debug prints for renderStartup errors  
						
						
						
						
					 
					
						2021-08-14 12:20:12 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						f66486b0c7 
					 
					
						
						
							
							[client] egl/downscale: implement filter switching  
						
						
						
						
					 
					
						2021-08-14 12:19:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						2c02e6c4a0 
					 
					
						
						
							
							[client] egl: add linear downscale filter shader  
						
						
						
						
					 
					
						2021-08-14 12:19:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						94de061587 
					 
					
						
						
							
							[client] egl: implement lanczos filter shader  
						
						
						
						
					 
					
						2021-08-14 12:19:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						16adbab5d4 
					 
					
						
						
							
							[client] all: remove needless initalization  
						
						
						
						
					 
					
						2021-08-14 12:19:07 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						579f998519 
					 
					
						
						
							
							[client] all: replace assert with DEBUG_ASSERT  
						
						
						
						
					 
					
						2021-08-14 12:19:07 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						85a96d1e06 
					 
					
						
						
							
							[client] all: use DEBUG_UNREACHABLE instead of assert  
						
						... 
						
						
						
						Due to the way assert is defined in standard C, compilers in release mode
will not treat it as unreachable. This explains a lot about those pesky
uninitialized variable bugs, actually. 
						
						
					 
					
						2021-08-14 12:19:07 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						b2630024a7 
					 
					
						
						
							
							[common] all: switch asserts to DEBUG_ASSERT  
						
						
						
						
					 
					
						2021-08-14 12:19:07 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						4f7ce91e7f 
					 
					
						
						
							
							[host] capture: switch all asserts to DEBUG_ASSERT  
						
						
						
						
					 
					
						2021-08-14 12:19:07 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						a9241f6710 
					 
					
						
						
							
							[common] debug: add DEBUG_UNREACHABLE() macro  
						
						... 
						
						
						
						This lets us mark code as unreachable and signals the compiler that this
is the case with __builtin_unreachable().
We also mark DEBUG_FATAL as unreachable. 
						
						
					 
					
						2021-08-14 12:19:07 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						be1306f91a 
					 
					
						
						
							
							[common] debug: add DEBUG_ASSERT macro  
						
						... 
						
						
						
						This, unlike the standard assert macro, is guaranteed to print the failed
assertion to our log file, and tests the assertion even with NDEBUG defined
so we can more easily catch failures in production binaries without crashing
the program.
The motivation of this is how MinGW handles assertion failures: it creates a
dialog window that the headless user will not be able to see, and blocks the
program from being restarted by the service. Since the failed assertion is
displayed in the dialog, it doesn't print anything to the log, making it
impossible to diagnose issues. 
						
						
					 
					
						2021-08-14 12:19:07 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						10ee6cd031 
					 
					
						
						
							
							[host] nvfbc: read nvfbc:diffRes option with the correct type  
						
						
						
						
					 
					
						2021-08-14 09:21:34 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e5d252290d 
					 
					
						
						
							
							[common] array: add ALIGN_PAD macro for common logic  
						
						... 
						
						
						
						ALIGN_PAD(x, a) returns x rounded up to the nearest multiple of a. 
						
						
					 
					
						2021-08-14 08:05:29 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						712dcee07f 
					 
					
						
						
							
							[host] app: remove useless ALIGN_DN and ALIGN_UP macros  
						
						
						
						
					 
					
						2021-08-14 08:05:18 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						dda927da18 
					 
					
						
						
							
							[obs] implement dmabuf import support on OBS 27+  
						
						
						
						
					 
					
						2021-08-13 20:25:35 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						717b90366b 
					 
					
						
						
							
							[common] ivshmem: use correct page alignment logic  
						
						... 
						
						
						
						Before, if the size is exactly the multiple of the page size, an extra padding
page is added for no reason. This commit fixes the logic and also uses the
page size obtained dynamically. 
						
						
					 
					
						2021-08-13 20:24:15 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						a76b274e1a 
					 
					
						
						
							
							[client] main: use ARRAY_LENGTH macro  
						
						
						
						
					 
					
						2021-08-13 20:24:01 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						074341e421 
					 
					
						
						
							
							[host] windows/crash: do not report absolute paths on build machines  
						
						... 
						
						
						
						This commit makes the crash handler show relative paths instead of absolute
ones, which makes the stack traces generated easier to read.
On the other hand, absolute paths makes sense on Linux, since the user is
expected to build the binaries themselves, and gdb will be able to find the
source code. 
						
						
					 
					
						2021-08-13 20:23:40 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						acd5ce51db 
					 
					
						
						
							
							[host] dxgi: use FAILED macro instead of comparing against S_OK  
						
						
						
						
					 
					
						2021-08-13 20:21:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						d3ea9662bf 
					 
					
						
						
							
							[host] nvfbc: remove rectangles that are entirely contained in others  
						
						... 
						
						
						
						This makes nvfbc report less useless damage and makes the client run faster. 
						
						
					 
					
						2021-08-13 20:21:27 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e945955d13 
					 
					
						
						
							
							[common] rects: add rectsRejectContained function  
						
						... 
						
						
						
						This function will remove rectangles in a list that are entirely contained
in another rectangle in the same list. 
						
						
					 
					
						2021-08-13 20:21:27 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						566c89e9d8 
					 
					
						
						
							
							[host] dxgi: correctly count moved rectangles  
						
						
						
						
					 
					
						2021-08-13 20:21:08 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						8c18817e2d 
					 
					
						
						
							
							[client] egl: don't generate mipmaps in downscale filter  
						
						... 
						
						
						
						When using DMABUF, the mipmaps can cause driver hangs and crashes. 
						
						
					 
					
						2021-08-12 17:03:18 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						35bd641d2a 
					 
					
						
						
							
							[client] overlay: remove the unused menu bar  
						
						
						
						
					 
					
						2021-08-12 15:54:16 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						117e88c240 
					 
					
						
						
							
							[client] egl: add new downscale filter  
						
						
						
						
					 
					
						2021-08-12 15:54:16 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						b3173bdddc 
					 
					
						
						
							
							[host] dxgi: include correct DXGI headers  
						
						... 
						
						
						
						The declarations in dxgi_extra.h are not missing, they are in dxgi1_2.h and
dxgi1_5.h, which exist in MinGW-w64 since 2017. 
						
						
					 
					
						2021-08-12 12:35:45 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						61a4b0744d 
					 
					
						
						
							
							[host] dxgi: use standard MinGW libd3d11.a  
						
						... 
						
						
						
						MinGW has been shipping this file since 2014, and that version contains the
only function from the dll that we call: D3D11CreateDevice. 
						
						
					 
					
						2021-08-12 11:58:34 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6387bf2d2e 
					 
					
						
						
							
							[client] rework the configuration overlay to allow for tabs  
						
						
						
						
					 
					
						2021-08-12 09:04:45 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fe6339fc77 
					 
					
						
						
							
							[client] egl: re-order CAS to before FSR for better results  
						
						
						
						
					 
					
						2021-08-12 06:56:16 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						3f8c7c8d0d 
					 
					
						
						
							
							[client] egl: fix buffer overflow in desktop_rects module  
						
						... 
						
						
						
						The module has been changed to support variable amount of rectangles,
so we should just allocate a VLA. 
						
						
					 
					
						2021-08-11 21:23:13 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						543c97987b 
					 
					
						
						
							
							[client] egl: remove needless precision quantifiers  
						
						... 
						
						
						
						We simply use precision mediump float; for everything. We don't actually
need highp anyways, and we don't use it for stuff like CAS or FSR. 
						
						
					 
					
						2021-08-11 20:47:46 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						06da52acfc 
					 
					
						
						
							
							[client] egl/fsr: release consts when no longer needed  
						
						
						
						
					 
					
						2021-08-11 20:47:03 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						5a2f34d71c 
					 
					
						
						
							
							[client] egl/cas: release consts when no longer needed  
						
						
						
						
					 
					
						2021-08-11 20:42:56 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						8b2db071d8 
					 
					
						
						
							
							[client] egl: precompute CAS filter constants on CPU  
						
						
						
						
					 
					
						2021-08-11 20:38:42 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						3a1a9121eb 
					 
					
						
						
							
							[client] egl: make FSR filter show inactive in config when disabled  
						
						
						
						
					 
					
						2021-08-11 20:17:17 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						f80b67bc50 
					 
					
						
						
							
							[client] egl: precompute FSR filter constants on CPU  
						
						
						
						
					 
					
						2021-08-11 20:16:39 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						fe823b6172 
					 
					
						
						
							
							[client] egl: display FSR equivalent quality mode  
						
						... 
						
						
						
						This also displays a tooltip to explain that quality can be changed by
altering guest resolution and also show the resolutions needed to achieve
each quality mode. 
						
						
					 
					
						2021-08-11 20:05:27 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						c4c60fd330 
					 
					
						
						
							
							[client] egl: update FSR filter state upon resolution change  
						
						
						
						
					 
					
						2021-08-11 20:05:27 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						5a5b867c73 
					 
					
						
						
							
							Revert "[client] egl: make FSR detect an input size change and activate if valid"  
						
						... 
						
						
						
						This reverts commit 73f125dcc7 
						
						
					 
					
						2021-08-11 20:05:07 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						73f125dcc7 
					 
					
						
						
							
							[client] egl: make FSR detect an input size change and activate if valid  
						
						
						
						
					 
					
						2021-08-11 20:02:29 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						9bded74543 
					 
					
						
						
							
							[host] dxgi: use CopySubresourceRegion when possible  
						
						... 
						
						
						
						This commit adds damage tracking to the DXGI textures, and only copies the
damaged areas to the textures with ID3D11DeviceContext::CopySubresourceRegion.
The sleep logic in waitFrame makes it difficult for this to reduce the
latency, but removing it shows significant improvements (6-7 ms to ~3 ms)
when a tiny portion of the screen is damaged, while showing no difference on
full screen damage. 
						
						
					 
					
						2021-08-11 19:01:52 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						7e982a6658 
					 
					
						
						
							
							[client] util: replace util_mergeOverlappingRects with common version  
						
						
						
						
					 
					
						2021-08-11 19:01:52 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						604b44d6d8 
					 
					
						
						
							
							[common] rects: add rectsMergeOverlapping helper function  
						
						... 
						
						
						
						This is based on the client's util_mergeOverlappingRects. 
						
						
					 
					
						2021-08-11 19:01:52 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						22bbc2457e 
					 
					
						
						
							
							[client] wayland: fix deadlock when using wayland:warpSupport=no  
						
						
						
						
					 
					
						2021-08-11 19:01:18 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						f0ea882165 
					 
					
						
						
							
							[client] egl: cleanup texture filtering/post-processing  
						
						
						
						
					 
					
						2021-08-11 18:53:36 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						f78154d282 
					 
					
						
						
							
							[client] egl: fixes to shader post-process pipeline  
						
						
						
						
					 
					
						2021-08-11 06:31:01 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						cd5ecf3e5a 
					 
					
						
						
							
							[client] egl: don't erase damage when invalidating whole window  
						
						
						
						
					 
					
						2021-08-11 02:43:08 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						a850a1b51b 
					 
					
						
						
							
							[client] egl: implement C wrappers for FidelityFX constant computation  
						
						
						
						
					 
					
						2021-08-11 02:42:55 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						6e28d7a4a5 
					 
					
						
						
							
							[client] egl: exempt shaders from copyright refresh script  
						
						
						
						
					 
					
						2021-08-11 02:42:24 +10:00