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
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
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
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
Geoffrey McRae
adaf40e2bf
[host] dxgi: Fix d3d12 32-bit output
...
Fixes #1100
2024-01-27 20:07:52 +11:00
Geoffrey McRae
84dd68dd2b
[host] dxgi: correct 24-bit packed output height calculation bug
2024-01-27 11:14:04 +11:00
Geoffrey McRae
738a04d0bc
[host] dxgi: fix packed texture height calculation
2024-01-27 10:56:23 +11:00
Geoffrey McRae
2316a5e64d
[host] dxgi: ensure 24-bit packed output is properly aligned
2024-01-27 10:11:01 +11:00
Geoffrey McRae
c5cbb8aa46
[host] dxgi: enable 24-bit mode by default
...
General community feedback with this enabled has been positive and we
can now transition to enabling by default.
2024-01-27 02:28:09 +11:00
Geoffrey McRae
f05151c9a6
[host] nvfbc: fix compilation with new debug code
2023-12-07 16:33:54 +11:00