Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						a41ab81a90 
					 
					
						
						
							
							[host] nvfbc: try all NVIDIA adapters in the system  
						
						... 
						
						
						
						This will allow LG to start if the VM still has a virtual device as
the primary output. 
						
						
					 
					
						2022-05-18 16:27:17 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						0f8c0b5fb3 
					 
					
						
						
							
							[host] dxgi: fix incorrect skip logic  
						
						
						
						
					 
					
						2022-05-18 15:59:31 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						57e20007db 
					 
					
						
						
							
							[host] dxgi: don't try to use devices without d3d support  
						
						... 
						
						
						
						This change should allow LG to work even if a virtual device is still
attached to the VM even though it might be capturing the wrong display. 
						
						
					 
					
						2022-05-18 15:38:42 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						6b9fa2b628 
					 
					
						
						
							
							[host] capture: fix compilation with NvFBC C++ sources  
						
						... 
						
						
						
						The prior commit to expose the FrameBuffer internals makes use of an
atomic from `stdatomic.h`. Unfortunatly C++ has no notion of _Atomic and
as such `stdatomic.h` is not compatible. To work around this we instead
just forward declare the type here. 
						
						
					 
					
						2022-05-16 22:09:11 +10:00 
						 
				 
			
				
					
						
							
							
								matthewjmc 
							
						 
					 
					
						
						
							
						
						53c843d9dd 
					 
					
						
						
							
							[common] Update framebuffer metadata + references  
						
						
						
						
					 
					
						2022-05-16 20:01:09 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						87077dfe6e 
					 
					
						
						
							
							[host] nvfbc: add downscale support  
						
						
						
						
					 
					
						2022-05-04 13:38:49 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						7ed18e24e2 
					 
					
						
						
							
							[host] linux/pw: add missing include for min define  
						
						
						
						
					 
					
						2022-05-04 12:28:20 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						60834a5719 
					 
					
						
						
							
							[host] xcb/pipewire/nfbc: use min and correct inverted logic  
						
						
						
						
					 
					
						2022-05-04 12:23:20 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						d5e2689d64 
					 
					
						
						
							
							[host] nvfbc: fix inverted truncated frame logic  
						
						
						
						
					 
					
						2022-05-04 11:58:04 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						81f91caf0e 
					 
					
						
						
							
							[host] pw: fix build due to frame info structure changes  
						
						
						
						
					 
					
						2022-05-04 10:59:44 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3d727a2254 
					 
					
						
						
							
							[host] xcb: fix build due to frame info structure changes  
						
						
						
						
					 
					
						2022-05-04 10:58:19 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						e4a4e2331a 
					 
					
						
						
							
							[host] nvfbc: fix build due to frame info structure changes  
						
						
						
						
					 
					
						2022-05-04 10:37:52 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						8682ec207e 
					 
					
						
						
							
							[host] dxgi: check for invalid usage of d3d12 & downsampling  
						
						
						
						
					 
					
						2022-05-04 10:23:42 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						c8a5293645 
					 
					
						
						
							
							[host] dxgi: refactor dxgi_copyFrame  
						
						
						
						
					 
					
						2022-05-04 09:27:52 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						15334c89d6 
					 
					
						
						
							
							[host] dxgi: match the last entry in the downsample rule list  
						
						
						
						
					 
					
						2022-05-03 17:58:41 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2eec459b47 
					 
					
						
						
							
							[host] dxgi: finish downsample support for d3d11 backend  
						
						
						
						
					 
					
						2022-05-03 12:15:24 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						947325e00d 
					 
					
						
						
							
							[host] dxgi: fix failure to copy to texture with sub resources  
						
						... 
						
						
						
						`CopyResource` will silently fail when trying to copy from a texture
with no subresources to one with. Instead we must use `ResolveSubresource` 
						
						
					 
					
						2022-05-02 15:53:20 +10:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						3134ec84de 
					 
					
						
						
							
							[host] dxgi: add support for downsampling the capture before sending  
						
						... 
						
						
						
						This is an experimental & incomplete feature for those using
supersampling. Anything > 1200p will be downsampled by 50% before
copying out of the GPU to save on memory bandwidth.
Unfinished! Has issues with damage tracking and currently can not
be configured. Only dx11 has been tested at this point, everything
else will likely have problems/crash. 
						
						
					 
					
						2022-05-01 19:45:44 +10:00 
						 
				 
			
				
					
						
							
							
								vmfortress 
							
						 
					 
					
						
						
							
						
						6c76d6ada5 
					 
					
						
						
							
							[host] xcb: fixed early start of pointer thread by adding xcb_start  
						
						
						
						
					 
					
						2022-03-08 06:12:17 +11:00 
						 
				 
			
				
					
						
							
							
								vmfortress 
							
						 
					 
					
						
						
							
						
						36f97f08ad 
					 
					
						
						
							
							[host] dxgi: add nanosecond-scale sleep capability to d3d12  
						
						... 
						
						
						
						The nsleep() call lets d3d12 sleep for a more precise amount of
time while maintaining the current millisecond-scale sleep
interface in the configuration file. 
						
						
					 
					
						2022-03-06 17:21:14 +11:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						eeefc15e46 
					 
					
						
						
							
							[host] build with -Wstrict-prototypes  
						
						
						
						
					 
					
						2022-02-25 20:38:44 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						fc96b6691e 
					 
					
						
						
							
							[host] linux: remove useless libX11 dependency  
						
						
						
						
					 
					
						2022-02-14 15:08:29 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						5a94f82f10 
					 
					
						
						
							
							[host] linux: remove useless GL dependency  
						
						
						
						
					 
					
						2022-02-14 15:08:29 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						f01489720f 
					 
					
						
						
							
							[host] linux: build with PipeWire by default  
						
						... 
						
						
						
						Since the client already depends on PipeWire by default, there is no
reason why the host shouldn't. 
						
						
					 
					
						2022-02-12 22:13:31 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						8b4551c39c 
					 
					
						
						
							
							[all] convert KVMFR frame bools to flags in a bitfield  
						
						... 
						
						
						
						This will allow us to add additional flags in the future while remaining
backwards compatible with the host. 
						
						
					 
					
						2022-02-10 20:32:38 +11:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						9ddfa585ec 
					 
					
						
						
							
							[host] cleanup some missing (void) parameters  
						
						
						
						
					 
					
						2022-02-08 16:37:17 +11:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						809e1095bd 
					 
					
						
						
							
							[host] windows: plumb guest activation request to host  
						
						
						
						
					 
					
						2022-02-08 15:27:27 +11:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						fd28d0604e 
					 
					
						
						
							
							[host/client] kvmfr: request activation based on guest state  
						
						
						
						
					 
					
						2022-02-08 15:27:27 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						d93510e9f2 
					 
					
						
						
							
							[host] linux: allow getting system version  
						
						... 
						
						
						
						Result is something like:
    Debian GNU/Linux 11 (bullseye), kernel: Linux 5.14.0-0.bpo.2-amd64 on x86_64 
						
						
					 
					
						2022-01-27 05:47:53 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						75ec3c0478 
					 
					
						
						
							
							[host] nvfbc: shorten nvfbc_getName() result  
						
						... 
						
						
						
						To avoid client showing "Using    : NVFBC (NVidia Frame Buffer Capt".
This happens because the string is truncated to 31 characters to fit
in the char capture[32]; member of KVMFRRecord_VMInfo. 
						
						
					 
					
						2022-01-26 23:06:47 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						e85fd68d82 
					 
					
						
						
							
							[host] windows: read ProductName from registry if possible  
						
						... 
						
						
						
						For Windows 10, it so happens that the major.minor is 10.0. This is not
usually a given, e.g. on Windows 7 where it would read 6.1, on
Windows 8 it would read 6.2, and on Windows 8.1 it would read 6.3.
This is obviously undesirable, so we should just read the ProductName
from registry if possible. This results in something like:
    OS Name: Windows 10 Pro for Workstations (Build: 19043) 
						
						
					 
					
						2022-01-26 23:06:14 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						f247d7f0da 
					 
					
						
						
							
							[host] app: don't read from UUID if none is returned  
						
						... 
						
						
						
						This allows the Linux host to start. 
						
						
					 
					
						2022-01-26 23:05:31 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						db3d20f935 
					 
					
						
						
							
							[host] windows: report windows version information  
						
						
						
						
					 
					
						2022-01-26 19:58:46 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						ccdf7b7c0e 
					 
					
						
						
							
							[host] app: report the full capture name to the client  
						
						
						
						
					 
					
						2022-01-26 19:32:55 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						99536eaf9d 
					 
					
						
						
							
							dxgi: check for memory leaks in d3d12  
						
						
						
						
					 
					
						2022-01-19 09:58:14 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						f8b4874799 
					 
					
						
						
							
							dxgi: cosmetics  
						
						
						
						
					 
					
						2022-01-19 09:58:14 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						cff64ee7d3 
					 
					
						
						
							
							dxgi: cache shared handles instead of re-creating them  
						
						... 
						
						
						
						This will cache up to 10 handles, in practice I have never seen DXGI
return anything but the same resource each time but we allow for more
anyway should MS change something in the future.
Should the cache get over filled it is disabled entirely and we revert
to the original behaviour. 
						
						
					 
					
						2022-01-19 09:58:07 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						afd5e2d057 
					 
					
						
						
							
							[host] dxgi: remove duplicate AcquireLock print  
						
						
						
						
					 
					
						2022-01-17 15:12:54 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						508c491967 
					 
					
						
						
							
							[host] dxgi: allow the debug layer to be turned on via config  
						
						
						
						
					 
					
						2022-01-17 15:12:54 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						b117bbafe5 
					 
					
						
						
							
							[host] dxgi: add ability to capture OutputDebugMessage  
						
						... 
						
						
						
						This is how Direct3D 12's debug layer outputs messages. Normally, these
are read by the debugger, but we want them logged instead. 
						
						
					 
					
						2022-01-17 15:12:54 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						4c271f8744 
					 
					
						
						
							
							[host] dxgi: move d3d12.h to vendor/directx  
						
						
						
						
					 
					
						2022-01-17 15:12:54 +11:00 
						 
				 
			
				
					
						
							
							
								Chris Spencer 
							
						 
					 
					
						
						
							
						
						3d0a8f6987 
					 
					
						
						
							
							[host] dxgi: fix frame damage method parameters  
						
						... 
						
						
						
						The buffer input sizes to the `IDXGIOutputDuplication` methods are measured
in bytes. This dramatically increases the number of dirty/move rects that
can be handled. 
						
						
					 
					
						2022-01-13 09:34:14 +11:00 
						 
				 
			
				
					
						
							
							
								Chris Spencer 
							
						 
					 
					
						
						
							
						
						f145225dbc 
					 
					
						
						
							
							[host] dxgi: fix d3d11 assertion failure  
						
						... 
						
						
						
						`DEBUG_ASSERT(!this)` in `d3d11_create` is firing on the second
instantiation because we are not clearing `this` in `d3d11_free`. 
						
						
					 
					
						2022-01-13 08:17:59 +11:00 
						 
				 
			
				
					
						
							
							
								vmfortress 
							
						 
					 
					
						
						
							
						
						7da2becfbd 
					 
					
						
						
							
							[host] dxgi: Replace standard asserts with DEBUG_ASSERT  
						
						
						
						
					 
					
						2022-01-11 11:11:42 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						042a7d0925 
					 
					
						
						
							
							[host] dxgi: add configurable sleep before D3D12 copy  
						
						
						
						
					 
					
						2022-01-10 14:45:51 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						c69b19e68f 
					 
					
						
						
							
							[host] dxgi: add option to disable damage-aware copies  
						
						
						
						
					 
					
						2022-01-10 14:45:51 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						cf7d501bc4 
					 
					
						
						
							
							[host] dxgi: allow copy backend selection  
						
						
						
						
					 
					
						2022-01-10 14:45:51 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						68e5b812a9 
					 
					
						
						
							
							[host] dxgi: add preRelease callback  
						
						... 
						
						
						
						This is meant to avoid freeing the texture before the copy has finished. 
						
						
					 
					
						2022-01-10 14:45:51 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						5a93f1e00c 
					 
					
						
						
							
							[host] dxgi: implement Direct3D 12 texture copy backend  
						
						
						
						
					 
					
						2022-01-10 14:45:51 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						891f00a011 
					 
					
						
						
							
							[host] dxgi: add d3d12.h from latest MinGW  
						
						... 
						
						
						
						This header was added in late 2020 and hasn't made its way into the GitHub
Actions image yet. 
						
						
					 
					
						2022-01-10 14:45:51 +11:00