Geoffrey McRae
fdad5daff8
[host/common] d12: add debug tracing
2024-03-11 19:14:54 +11:00
Geoffrey McRae
8d25469d27
[host] d12: limit the dx11 interop level to one version
2024-03-11 18:44:26 +11:00
Geoffrey McRae
8c5d1d47ee
[host] nvfbc: mark NvFBC as deprecated
2024-03-11 14:16:12 +11:00
Geoffrey McRae
989fe2bb0b
[host] d12: test if creating resources in the heap works at init
...
AMD GPUs and older NVidia GPUs can initialize fine but fail when we
start to create resources in the shared memory heap, we must test it
early to detect this so we can fallback to a working capture method.
2024-03-11 14:16:12 +11:00
Geoffrey McRae
90b27ae1f7
[host] d12: revert ivshmem heap order change
...
Moving this prevented the RX580 crash early in init, but later
presents during the capture. As we want to ensure fallback to DXGI
if this happens we need to catch this fault during init. This moves
the order back so that we fail back into a working state.
2024-03-09 12:11:54 +11:00
Geoffrey McRae
4d388d6b9b
[host] d12: move ivshmem heap creation to later in init
...
This has been moved to try to isolate a failure with RX580 startup
2024-03-09 11:56:14 +11:00
Geoffrey McRae
d5b32225f4
[host] d12: don't attempt to use realtime priority
...
Some GPUs such as the RX580 seem to completely crash when attempting
to use `D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME`.
2024-03-09 11:00:44 +11:00
Geoffrey McRae
eb31815b46
[host] windows: add OutputDebugString capture for diagnostics
2024-03-07 11:34:46 +11:00
Geoffrey McRae
545e736389
[host] windows: handle graceful shutdown on user switch
2024-03-06 15:02:37 +11:00
Geoffrey McRae
6a72633674
[host] windows: move the service log to the temp directory
...
Often this log is provided instead of the actual host log, as this
log is largely useless for debugging this moves it to the temp
directory out of view of the user.
2024-03-06 13:11:48 +11:00
Geoffrey McRae
9123984ecc
[host] windows: rotate the host log out keeping at most 3 prior versions
2024-03-06 12:59:15 +11:00
Geoffrey McRae
03662f45a7
[host] nvfbc: add warning to encourage migration to D12
2024-03-04 16:34:47 +11:00
Geoffrey McRae
a4e761bedc
[host] win: make D12 the default copy backend
2024-03-04 16:31:14 +11:00
Geoffrey McRae
beb8de922d
[host] dxgi: remove the deprecated and broken d3d12 copyBackend
...
This backend has been deprecated and has been replaced by the new D12 capture
interface.
2024-03-04 16:29:43 +11:00
Geoffrey McRae
e247f1fc7b
[host] d12: enlarge downsampler damage rects
2024-02-28 20:34:09 +11:00
Geoffrey McRae
4463ca15f6
[host] d12: added downsampler
2024-02-28 20:21:47 +11:00
Geoffrey McRae
97d91a32c8
[host] d12: make effects fully self-contained
2024-02-28 16:05:56 +11:00
Geoffrey McRae
2d41cda640
[host] d12: fix target for wait fence when effects are active
2024-02-28 12:31:56 +11:00
Geoffrey McRae
a894348530
[host] d12: correct the pitch when HDR16 is in use
2024-02-28 12:23:41 +11:00
Geoffrey McRae
ad7ac6540f
[host] d12: implement hdr16 to hdr10 conversion
2024-02-28 11:59:58 +11:00
Geoffrey McRae
0184ddeedd
[host] d12: properly handle format changes by effects
2024-02-28 09:40:35 +11:00
Geoffrey McRae
b87d8d2f33
[host] d12: disable RGB24 if the capture is HDR
2024-02-28 07:46:47 +11:00
Geoffrey McRae
5c4540ed8b
[host] d12: pass frame information in a description structure
2024-02-28 07:30:39 +11:00
Geoffrey McRae
c7f1aadb9e
[host] d12: pass back rotation metadata to the client
2024-02-28 05:54:40 +11:00
Geoffrey McRae
57ac020c8c
[host] linux: update to build again
2024-02-27 19:14:58 +11:00
Geoffrey McRae
71b826458d
[host] fix host-windows-cross github compilation
2024-02-27 19:14:58 +11:00
Geoffrey McRae
4408359597
[host] d12: fix damage tracking with RGB24 enabled
2024-02-24 09:04:59 +11:00
Geoffrey McRae
2f3ca443cf
[host] d12: Use the gpu reported pitch instead of assuming w * 4
2024-02-24 07:57:50 +11:00
Geoffrey McRae
66049cf763
[host] d12: fix, send the current dirtyRects, not the old
2024-02-23 17:38:45 +11:00
Geoffrey McRae
a6dc8a9db3
[host] d12: fix damage tracking on re-init
2024-02-23 17:28:09 +11:00
Geoffrey McRae
dc4d93f50a
[host] d12: remove extra copies in damage tracking
2024-02-23 17:24:25 +11:00
Geoffrey McRae
3b43dcb80d
[host] d12: fix type of function argument
2024-02-23 11:00:18 +11:00
Geoffrey McRae
9de047d9cb
[host] d12: implement damage aware copy
2024-02-23 10:54:08 +11:00
Geoffrey McRae
1098b7e6bd
[host] d12: cosmetics
2024-02-23 08:38:32 +11:00
Geoffrey McRae
055d5527ef
[host] d12: allow specifying adapter and output to capture
2024-02-23 08:14:24 +11:00
Geoffrey McRae
b1313980fb
[host] d12: make RGB24 optional, disabled by default
2024-02-05 05:17:55 +11:00
Geoffrey McRae
319241b597
[host] d12: use a GPU side fence instead of CPU side
2024-02-05 04:27:04 +11:00
Geoffrey McRae
b0b851dd4b
[host] d12: fix incorrect format presented to extra clients
2024-02-05 04:20:38 +11:00
Geoffrey McRae
60b01566e1
[host] d12: implement initial RGB24 support
2024-02-05 02:49:08 +11:00
Geoffrey McRae
4076377820
[host] win: add comRef helpers for leak identification and tracking
2024-02-05 02:49:08 +11:00
Geoffrey McRae
0b210a280d
[all] update the copyright to 2024
2024-02-01 17:16:31 +11:00
Geoffrey McRae
a4fede01f3
[host] d12: general cleanups
2024-02-01 17:13:18 +11:00
Geoffrey McRae
071e4323fa
[host] windows: make DXGI the default capture interface, D12 is not ready
2024-02-01 14:48:44 +11:00
Geoffrey McRae
be82b7e578
[host] d12: add wrappers for backend functions
2024-01-31 10:18:56 +11:00
Geoffrey McRae
c07b72883a
[host] d12: adjust backend API to allow multiple instances
2024-01-31 09:43:01 +11:00
Geoffrey McRae
462d8187b6
[host] d12: handle error when windows switches to the secure desktop
2024-01-31 05:42:30 +11:00
Geoffrey McRae
4523b9ba00
[host] d12: fix failure to send mouse shape updates
2024-01-31 05:28:03 +11:00
Geoffrey McRae
cae4b2f4f9
[host] windows: fix compilation under gcc
2024-01-31 01:33:43 +11:00
Geoffrey McRae
72b25b99bc
[host] add new D12 capture interface
...
Note, this capture interface is not yet feature complete but does seem
to be stable.
2024-01-31 00:29:55 +11:00
Geoffrey McRae
34e8a2255e
[host] dxgi: d3d12 now writes direclty into ivshmem
...
This is still incomplete as d3d12 doesn't have any proper sync with the
captured frame and as such is still not suggested for general usage. This
change though is monumental for this project as it removes a full memory
copy reducing bandwidth consumption enormously.
2024-01-27 22:57:13 +11:00