- Jul 17, 2021
-
-
Jonathan Rubenstein authored
-
Geoffrey McRae authored
-
Geoffrey McRae authored
-
Geoffrey McRae authored
-
Geoffrey McRae authored
This change not only exposes and allows use of NtDelayExecution, but also moves the code to set the system timer resolution.
-
Geoffrey McRae authored
ZwSetTimerResolution works in units of 100ns
-
Geoffrey McRae authored
The windows hook WH_MOUSE_LL is called in such a way that any delay in processing causes a system wide stall. This change spawns an extra thread which waits on an event set by the hook which is then used to call the callback with an artifical limit of 1000Hz.
-
- Jul 15, 2021
-
-
Jonathan Rubenstein authored
Expected to be fixed in B5
-
Jonathan Rubenstein authored
-
- Jul 14, 2021
-
- Jul 12, 2021
-
-
Geoffrey McRae authored
Fixes a segfault reported in discord, DEBUG_* macros are not available until `debug_init()` has been called as of commit 1effd5fd
-
Geoffrey McRae authored
Before we try and perhaps fail to init DXGI, we should print out what the device is so that when there is an error report we can immediately see if the user has the QXL device attached still.
-
Geoffrey McRae authored
-
Geoffrey McRae authored
-
Geoffrey McRae authored
We must always wait for space in the frame queue so that we do not overwrite memory that is already queued and may be in use by a client.
-
Geoffrey McRae authored
Now that the host application can run the capture interface in synchronous mode, and NVFBC uses this mode there is no longer need for the frameEvent.
-
Geoffrey McRae authored
While it's correct for DXGI to use a asyncronous waitFrame model, other capture interfaces such as NvFBC it is not correct. This change allows the capture interface to specify which is more correct for it and moves the waitFrame/post into the main thread if async is not desired.
-
- Jul 11, 2021
-
-
Quantum authored
We return a timeout, so that when protected content finishes playing, we can immediately resume capture.
-
Geoffrey McRae authored
This changes the host to use a seperate pool of LGMP memory for cursor positionl updates without shape information helping to prevent corruption of the shape entries if they are still pending. While this is not a perfect solution it resolves the issue without making major changes to LGMP during the RC phase we are currently in.
-
Quantum authored
Before, we only break out of the current row when a change is detected, and all subsequent rows are still scanned. Now we break out of the entire loop. This should make change detection ever so slightly faster.
-
Quantum authored
Also fix some formatting issues. Co-Authored-By:
Tudor Brindus <me@tbrindus.ca>
-
- Jul 10, 2021
-
-
Jonathan Rubenstein authored
-
Jonathan Rubenstein authored
This works in dash, so should be portable to most shells. Will hopefully help users not misinterpret the period as a mistake.
-
Geoffrey McRae authored
Testing shows that `D3DKMTSetProcessSchedulingPriorityClass` has a positive performance impact for NvFBC as well as DXGI, as such always try to boost the priority for the windows host.
-
- Jul 09, 2021
-
-
Geoffrey McRae authored
This so called "enhanced" event logic is completely flawed and can never work correctly, better to strip it out and put our faith in windows to handle the events for us. And yes, I am fully aware I wrote the utter trash in the first place :)
-
- Jul 08, 2021
-
-
Geoffrey McRae authored
Due to a failure to understand atomics when this code was originally written it has a critical flaw with the fast path where an event could be signalled when it should not be. This change set corrects this issue by using atomic operations.
-
- Jul 07, 2021
-
-
Geoffrey McRae authored
-
Geoffrey McRae authored
-
Jonathan Rubenstein authored
-
Jonathan Rubenstein authored
-
Geoffrey McRae authored
-
Geoffrey McRae authored
People often miss the warnings about invalid arguments in their command line, this last minute patch attempts to address this by making warnings, errors, fixme's and fatal errors stand out if stdout is a TTY.
-
- Jul 05, 2021
-
-
Geoffrey McRae authored
If the guest VM is not showing a cursor when it starts such as on the Windows login screen, the client never gets the current position of the cursor, which prevents the client from attempting to send mouse movements. This change ensures the client gets the mouse location on startup.
-
Jonathan Rubenstein authored
-
Jonathan Rubenstein authored
-
Jonathan Rubenstein authored
-
Jonathan Rubenstein authored
-
Jonathan Rubenstein authored
-
Jonathan Rubenstein authored
-
Jonathan Rubenstein authored
-