Quantum
51b9cd4e5a
[all] copyright: use unicode copyright sign ©
...
This is done for consistency with the license strings in appstrings.c.
2021-08-04 21:16:35 +10:00
Quantum
d82333519c
[host] dxgi: use SDK versionhelpers.h to test for Windows version
...
Also, changed logic so that Windows versions before 8 is not treated as 10.
2021-07-20 11:34:57 +10:00
Quantum
9ab85fd0b8
[host] capture: stop sending DPI information
...
The client doesn't need DPI information anymore, so there is no point
fetching it.
2021-07-18 10:50:57 +10:00
Tudor Brindus
92706caddc
[common]: move array length into a common helper
...
Since it is more generally useful, and less cryptic this way.
2021-07-18 10:41:50 +10:00
Quantum
9ce4990793
[host] capture: pass frameIndex to capture backends
...
This allows capture backends to track damage made to each frame.
2021-07-18 10:41:50 +10:00
Tudor Brindus
f274bec8fc
[host] dxgi: compute damage rectangles from moved rectangles
...
This is untested in that I don't have a Windows 8 VM where move rects
are supplied, but seems sound.
2021-07-18 10:41:50 +10:00
Tudor Brindus
d7f9afb3ba
[host] dxgi: populate damage rectangles
...
Co-Authored-By: Quantum <quantum2048@gmail.com>
2021-07-18 10:41:50 +10:00
Geoffrey McRae
789ee70674
[host] dxgi: print out the adapter details earlier
...
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.
2021-07-12 19:28:13 +10:00
Geoffrey McRae
3c0616bab7
[host] dxgi: print out the output device name to aid with support
2021-07-12 19:03:02 +10:00
Geoffrey McRae
e477663a7e
[host] app: allow the capture interface to select async or sync mode
...
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.
2021-07-12 16:57:22 +10:00
Quantum
fd8f8b2b28
[host] dxgi: correctly mention AcquireNextFrame in help text
...
Also fix some formatting issues.
Co-Authored-By: Tudor Brindus <me@tbrindus.ca>
2021-07-11 10:15:12 +10:00
Geoffrey McRae
78b8e2a73c
[host] windows: make D3DKMTSetProcessSchedulingPriorityClass
global
...
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.
2021-07-10 12:27:30 +10:00
Geoffrey McRae
d36c4f0e83
[host] kvmfr: allow the frame size to exceed the available memory
...
This change allows the host to still transmit a frame that is truncated
if the IVSHMEM size is too small to allow for a full frame.
2021-06-12 18:44:28 +10:00
Geoffrey McRae
f02d61d665
[host] dxgi: sleep until it's close to time to map
...
This change adds an average function to time how long it takes the GPU
to copy and map the texture, and then uses this average to sleep for 80%
of this average lowering CPU usage and potentially decreasing lock
contention.
2021-06-06 12:26:36 +10:00
Quantum
24d0aa0c18
[all] normalize copyright on all source files
2021-06-06 11:53:05 +10:00
Geoffrey McRae
0d9b0bd367
[host] dxgi: increase maxTextures default to 4
...
Testing shows that at high frame rates the default of 3 is hampering
performance, increasing this to 4 yields a substantial performance
improvement.
2021-06-06 01:35:00 +10:00
Quantum
f2c0b8c0b4
[host] allow user to select capture backend
...
This commit introduces a new option, app:capture, which can be set to
either DXGI or NvFBC to force the host application to use that backend.
This is very useful for testing DXGI on Quadro cards, which would default
to running with NvFBC.
2021-02-27 17:41:44 +11:00
Geoffrey McRae
0d7be70b56
[host] dxgi: fix maybe uninitialized warning
2021-01-27 01:21:06 +11:00
Geoffrey McRae
cac454d9cf
[host] dxgi: reverse the rotation angle.
...
This is undocumented however testing yields that DXGI DD reports the
inverse rotation. Research shows that this is because of a difference in
coordiate spaces.
Ref: https://docs.microsoft.com/en-us/windows/uwp/gaming/supporting-screen-rotation-directx-and-cpp
2021-01-18 15:15:36 +11:00
Geoffrey McRae
f5587b6b6b
[host] all: pass back the desktop rotation to the client
2021-01-18 13:53:29 +11:00
Tudor Brindus
a46a3a2668
[all] use explicit void parameter lists
...
This makes it a compile-time error to call a function that semantically
takes no parameters with a nonzero number of arguments.
Previously, such code would still compile, but risk blowing up the stack
if a compiler chose to use something other than caller-cleanup calling
conventions.
2021-01-14 17:29:37 +11:00
Geoffrey McRae
c2ad9666bb
[host] use the HotSpot information as provided by DXGI
...
I must have originally overlooked this member when I wrote this code. :S
2021-01-05 20:55:39 +11:00
Quantum
7e4d323427
get display DPI info to scale mouse movement
2021-01-05 09:03:29 +11:00
Geoffrey McRae
604b6bec9a
[host] don't fail if windows is dumb and doesnt give us the cursor info
2020-11-01 04:45:57 +11:00
Geoffrey McRae
38b05cda50
[host] dxgi: fix incorrect bpp value
2020-10-12 20:08:51 +11:00
Geoffrey McRae
7a49f75d95
[host] dxgi: ensure formatVer is incremented on re-init
2020-10-12 19:39:57 +11:00
Geoffrey McRae
b2961c7939
[all] added new format version field to frame header
2020-10-12 18:52:37 +11:00
Geoffrey McRae
8a9f004ff6
[host/client] fix invalid initialization of RGBA16F
2020-10-11 19:39:47 +11:00
Geoffrey McRae
9c6bd888fd
[host/client] added experimental RGBA16 float support (EGL only)
2020-10-11 19:22:31 +11:00
Geoffrey McRae
e20c8a5cc7
[host] dxgi: don't try to get the hotspot of a null cursor
2020-10-06 23:24:01 +11:00
Geoffrey McRae
4f4d2dbf42
[host] dxgi: fix memory leak if an error occurs
2020-10-06 22:32:10 +11:00
Geoffrey McRae
7e362050f7
[all] update KVMFR to provide cursor hotspot information
...
This commit bumps the KVMFR protocol version as it adds additional
hotspot x & y fields to the KVMFRCursor struct. This corrects the issue
of invalid alignment of the local mouse when the shape has an offset
such as the 'I' beam.
2020-08-20 13:51:01 +10:00
Geoffrey McRae
1c7961daeb
[host] dxgi: rework locking and retry logic for lower latency
2020-08-15 20:49:49 +10:00
Geoffrey McRae
cdc3384883
[host] dxgi: improve frame signaling mechanics
2020-08-15 18:16:11 +10:00
Geoffrey McRae
969effedde
[host] update information about PsExec now LG can run as a service
2020-08-13 11:41:16 +10:00
Geoffrey McRae
1d6d640b6e
[host] dxgi: default to using the acquire lock
2020-08-07 20:31:46 +10:00
Geoffrey McRae
977d7b277d
[host] dxgi: boost GPU thread priority if possible
2020-08-07 19:44:00 +10:00
Geoffrey McRae
bc7871f630
[c-host] renamed finall to just plain host
2020-05-25 13:42:43 +10:00