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 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						137171a8a2 
					 
					
						
						
							
							[host] dxgi: refactor to support additional copy backends  
						
						
						
						
					 
					
						2022-01-10 14:45:51 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						a391e271c3 
					 
					
						
						
							
							[host] dxgi: damage all textures when skipping frame  
						
						
						
						
					 
					
						2022-01-09 16:36:26 +11:00 
						 
				 
			
				
					
						
							
							
								Johnathon Weaver 
							
						 
					 
					
						
						
							
						
						0f998582b9 
					 
					
						
						
							
							[host] nvfbc: Fix dwmapi linking error  
						
						... 
						
						
						
						Fixed linking for DwmFlush and also rearranged as per how DXGI is. 
						
						
					 
					
						2022-01-07 01:46:35 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						34e5f7e968 
					 
					
						
						
							
							[host] windows: fix usage of MCSS and try to get priority "Capture"  
						
						
						
						
					 
					
						2022-01-06 20:14:55 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						2f8b139131 
					 
					
						
						
							
							[host] windows: set DwmFlush default to off  
						
						... 
						
						
						
						This new feature while helps on some systems, others using freesync or
higher refresh rates where the capture can't keep up will limit to
fractions of the refresh rate. Better to disable and allow users to
opt-in. 
						
						
					 
					
						2022-01-06 19:20:08 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b058cbe9fe 
					 
					
						
						
							
							[host] nvfbc: add DwmFlush here too as it makes a large difference  
						
						
						
						
					 
					
						2022-01-06 19:01:29 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						443f98d2fa 
					 
					
						
						
							
							[host] windows: opt into the Multimedia Class Schedule Service  
						
						... 
						
						
						
						This improves overall application performance as windows will give this
process higher priority for low latency multimedia tasks. 
						
						
					 
					
						2022-01-06 18:41:48 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						92f27cc0f0 
					 
					
						
						
							
							[host] dxgi: use DwmFlush to sync to presentation interval  
						
						... 
						
						
						
						This change reduces the host GPU and CPU load by a large margin
improving guest system performance along with removing latency spikes
when moving the mouse. This is default enabled but can be disabled with
the new option `dxgi:dwmFlush=no` as it limits the capture rate to the
refresh rate of the guests output which may not be desireable. 
						
						
					 
					
						2022-01-06 18:39:08 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						5bb1f01dea 
					 
					
						
						
							
							[host] windows: parse the UUID from the SMBIOS  
						
						
						
						
					 
					
						2022-01-06 14:22:38 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						fdb38a227e 
					 
					
						
						
							
							[host] app: implement stubs for platform specific guest information  
						
						
						
						
					 
					
						2022-01-05 21:04:57 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						952ebea2c5 
					 
					
						
						
							
							[all] refresh copyright dates  
						
						
						
						
					 
					
						2022-01-05 19:42:46 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						ebf20dd108 
					 
					
						
						
							
							[host] nvfbc: fix failure to startup  
						
						
						
						
					 
					
						2022-01-05 19:31:47 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						ba9f2b85b6 
					 
					
						
						
							
							[host/client] kvmfr: update to include extra user data about the VM  
						
						... 
						
						
						
						This change allows the host to provide information to the client about
how the VM is configured, information such as the UUID, CPU
configuration and capture method both for informational display in the
client as well as debugging in the client's logs.
The format of the records allows this to be extended later with new
record types without needing to bump the KVMFR version. 
						
						
					 
					
						2022-01-05 19:18:43 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						6f8745a89b 
					 
					
						
						
							
							[host] installer: enable DPI awareness  
						
						... 
						
						
						
						This should make the installer look less blurry on high DPI displays. 
						
						
					 
					
						2021-12-26 11:34:43 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						3d1eedd4ef 
					 
					
						
						
							
							[host] installer: add ability to install IVSHMEM driver  
						
						... 
						
						
						
						To use this, run makensis with -DIVSHMEM with the driver files in the
ivshmem subdirectory under the build directory. 
						
						
					 
					
						2021-12-26 11:31:32 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						d073f9969c 
					 
					
						
						
							
							[host] installer: clean up trailing whitespace  
						
						
						
						
					 
					
						2021-12-26 11:31:32 +11:00 
						 
				 
			
				
					
						
							
							
								WYF 
							
						 
					 
					
						
						
							
						
						b21d842f0e 
					 
					
						
						
							
							[host] nvfbc: add an option to specify adapter  
						
						
						
						
					 
					
						2021-12-26 11:14:17 +11:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						9872d2e407 
					 
					
						
						
							
							[host] dxgi: fix typo in debug log message  
						
						
						
						
					 
					
						2021-12-26 09:49:03 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						12461196c3 
					 
					
						
						
							
							[host] nvfbc: fix comments in updateDamageRects  
						
						
						
						
					 
					
						2021-12-24 15:30:04 +11:00 
						 
				 
			
				
					
						
							
							
								Geoffrey McRae 
							
						 
					 
					
						
						
							
						
						b515fa80d5 
					 
					
						
						
							
							[host] nvfbc: be more intellegent when unionizing disjointed sets  
						
						
						
						
					 
					
						2021-10-27 00:00:38 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						13fabc2e4a 
					 
					
						
						
							
							[host] windows: fix NSIS install directory on 64-bit builds  
						
						... 
						
						
						
						This is probably an NSIS bug. 
						
						
					 
					
						2021-10-18 16:17:36 +11:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						1f24ab0742 
					 
					
						
						
							
							[host] nvfbc: avoid waking up pointer thread for no reason  
						
						... 
						
						
						
						If the wait times out, we used to simply restart the loop, which causes
it to check this->stop and exit if set to true. However, nvfbc_stop
already calls lgSignalEvent, which would wake up the pointer thread to
perform the check, so there is no need to set a timeout on the wait. 
						
						
					 
					
						2021-09-29 17:47:02 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						bc65de5987 
					 
					
						
						
							
							[host] installer: build 64-bit NSIS installers  
						
						... 
						
						
						
						The host is a 64-bit application, so requiring 64-bit Windows isn't an
issue. However, not using 32-bit installers has an advantage: we don't
need to require WoW64. 
						
						
					 
					
						2021-09-21 22:26:10 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						286da11172 
					 
					
						
						
							
							[host] windows: don't register exit event when none exists  
						
						
						
						
					 
					
						2021-09-04 13:25:06 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						4b3aaa7e0c 
					 
					
						
						
							
							[host] cmake: report capture backends enabled  
						
						
						
						
					 
					
						2021-08-20 21:03:50 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						4ecf749f7e 
					 
					
						
						
							
							[host] remove all casts around malloc  
						
						
						
						
					 
					
						2021-08-16 16:26:58 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						cdda89cef7 
					 
					
						
						
							
							[host] use correct argument order for calloc  
						
						
						
						
					 
					
						2021-08-16 16:25:59 +10:00 
						 
				 
			
				
					
						
							
							
								Tudor Brindus 
							
						 
					 
					
						
						
							
						
						982b4e6625 
					 
					
						
						
							
							[host] use variable-relative sizeof where possible  
						
						
						
						
					 
					
						2021-08-16 16:22:55 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						4f7ce91e7f 
					 
					
						
						
							
							[host] capture: switch all asserts to DEBUG_ASSERT  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						566c89e9d8 
					 
					
						
						
							
							[host] dxgi: correctly count moved rectangles  
						
						
						
						
					 
					
						2021-08-13 20:21:08 +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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
							
						
						5e13549f74 
					 
					
						
						
							
							[host] windows: use DEBUG_WINERROR for MsgWaitForMultipleObjects  
						
						
						
						
					 
					
						2021-08-09 17:07:25 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						87a21f5f5e 
					 
					
						
						
							
							[host] windows: use DEBUG_WINERROR for CallNtPowerInformation  
						
						... 
						
						
						
						We need to use the function RtlNtStatusToDosError to convert NTSTATUS to
Windows error codes. 
						
						
					 
					
						2021-08-09 17:07:25 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						9246e00163 
					 
					
						
						
							
							[host] windows: use DEBUG_WINERROR for exit event opening code  
						
						
						
						
					 
					
						2021-08-09 17:07:25 +10:00 
						 
				 
			
				
					
						
							
							
								Quantum 
							
						 
					 
					
						
						
							
						
						cab95c5eed 
					 
					
						
						
							
							[common] rects: refactor rect buffer copy code to common module  
						
						... 
						
						
						
						This also fixes a bug of accidentally multiplying the stride by 4 when
the stride is already in bytes and not pixels. 
						
						
					 
					
						2021-08-08 08:30:11 +10:00