Cameron Gutman
3e477647ff
Use a render node to create our VADisplay
...
Since libva 2.20, vaInitialize() will fail if we pass a primary node and
lack permission to authenticate. Since we don't actually need to have a
primary node fd to encode, let's use a render node instead.
2023-10-02 17:33:17 -05:00
Cameron Gutman
1303defb67
Fix crash during UDP segmentation due to stack garbage
...
CMSG_NXTHDR() tries to read the _next_ message to check if it fits in
the provided control buffer length. If that part of the stack has some
large value stored in the uninitialized cmsg_len there, CMSG_NXTHDR()
will return NULL and we will crash.
2023-10-02 00:13:47 -05:00
ns6089
e98d7577bb
Support capturing rotated displays on Windows ( #1602 )
2023-09-13 10:34:26 -04:00
ns6089
646a569210
nvenc: add option to disable realtime hags
2023-09-07 18:03:19 -05:00
ns6089
cadb45ec3d
msvc: misplaced calling convention
2023-09-07 18:03:19 -05:00
ns6089
dfd6eaefcb
Don't use rounded refresh rate in info log
2023-09-07 18:03:19 -05:00
ns6089
8b40fa6dd5
nvenc: new config page
2023-09-07 18:03:19 -05:00
ns6089
4094fef67a
Bind constant buffers where you define them
...
And remove possible slot collisions.
2023-09-05 21:32:37 -05:00
Cameron Gutman
9543bc77d8
Fix pen tilt angle calculation
2023-09-02 11:12:59 -05:00
ns6089
7662fe8616
Don't accumulate errors in capture frame pacing
2023-08-27 13:13:43 -05:00
ns6089
b494d06f89
Adjust capture rate to better match display
2023-08-27 13:13:43 -05:00
ns6089
6683ea2ac1
Rework capture sleeps for better frame stability
2023-08-27 13:13:43 -05:00
ns6089
42a77b247e
Release duplication frame after snapshot
2023-08-27 13:13:43 -05:00
ns6089
730fce4b1c
Move client frame interval to local variable
2023-08-27 13:13:43 -05:00
ns6089
d2a634ee09
Don't check AccumulatedFrames
...
AMF doesn't do it and MSDN is unclear about it.
2023-08-27 13:13:43 -05:00
ns6089
d81e2cecaa
Add high_precision_sleep() method
2023-08-27 13:13:43 -05:00
ns6089
8dc51a21df
Remove DwmFlush()
2023-08-27 13:13:43 -05:00
Cameron Gutman
ebb6a7c9a9
Specify the source address for outbound audio and video traffic ( #1569 )
2023-08-26 16:37:04 -05:00
Cameron Gutman
ef2279d627
Allow the display to reject unsupported codecs
2023-08-26 12:38:24 -05:00
ns6089
cea9f152d8
Add log message for audio capture buffer oveflow
2023-08-22 23:27:14 -05:00
ns6089
2c44c4dbd2
Add log message for audio buffer discontinuity
2023-08-22 23:27:14 -05:00
ns6089
3ceee008f3
Use MMCSS task in audio capture thread
2023-08-22 23:27:14 -05:00
Cameron Gutman
190c9b4216
Move AMF version check into display_vram_t to avoid blocking software encoding
2023-08-19 18:36:48 -05:00
Elia Zammuto
a84dea3862
Windows Manifest improvements ( #1557 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com >
2023-08-19 14:06:35 -04:00
Cameron Gutman
22ab9948fa
Pass the environment as a const reference so nobody else is tempted to modify it
2023-08-16 21:48:16 -05:00
Cameron Gutman
774f13aecb
Fix race condition inserting new process into our job object
...
Before this fix, it could spawn a child that would escape our tracking if it ran before we added it to our job object.
2023-08-16 21:48:16 -05:00
Chase Payne
980e396c4f
Command Resource Exhaustion bug fix ( #1531 )
...
Co-authored-by: kirksaunders <kirksaunders12@gmail.com >
2023-08-14 19:50:23 -04:00
ns6089
def9b2d76f
Add missing software device creation override
2023-08-13 15:15:32 -05:00
ns6089
6c5fa8a08d
Mark nvapi_QueryInterface as cdecl
...
Shouldn't matter on x64 since everything is fastcall here, but cdecl is
the correct declaration.
2023-08-13 07:01:09 -05:00
ns6089
68fa43a61c
Add standalone NVENC encoder
2023-08-13 07:01:09 -05:00
Cameron Gutman
4186d83027
Disable HDR encoding for AMF versions below 1.4.23
2023-08-11 18:27:39 -05:00
Cameron Gutman
21dbde9467
Fix touch input on UAC secure desktop and login screen
2023-08-03 23:04:13 -05:00
Cameron Gutman
d7c76cfd2b
Update gamepad touch support with latest protocol changes
2023-08-03 19:16:09 -05:00
Cameron Gutman
bd68aebe4c
Implement pen and touch support for Windows
2023-08-03 19:16:09 -05:00
Cameron Gutman
f3a257b150
Fix QoS code build with new MinGW headers
2023-07-30 16:35:24 -04:00
Cameron Gutman
d07f5dbd1b
Fix audio code build with new MinGW headers
2023-07-30 16:35:24 -04:00
ns6089
f245f777f7
Modify and restore NVIDIA control panel settings
...
Namely:
- Power profile for sunshine.exe
- Global OpenGL/Vulkan DXGI swapchain
2023-07-19 01:14:08 -05:00
Cameron Gutman
50f353d183
Fix handling of gamepad feedback with multiple clients connected
...
We need to use the client-relative index rather than the global index
when sending feedback to the client.
2023-07-10 21:45:37 -05:00
Cameron Gutman
3acc7ef557
Remove unused variable
2023-07-10 21:45:37 -05:00
Cameron Gutman
2ed2dd5e0e
Implement touch, motion, and battery for DS4
2023-07-10 21:45:37 -05:00
Cameron Gutman
309fcc4142
Convert rumble_queue into a generic feedback_queue for gamepad messages
2023-07-10 21:45:37 -05:00
Cameron Gutman
fd77230964
Stub controller battery, touch, and motion packets
2023-07-10 21:45:37 -05:00
Cameron Gutman
1ef8cb1111
Send feature flags in RTSP DESCRIBE response
2023-07-10 21:45:37 -05:00
ns6089
6dfe56518c
Decrease gpu scheduling priority for NVIDIA
...
Fixes #1031
2023-07-09 18:50:10 -05:00
Cameron Gutman
c5bf78176e
Remove GetAsyncKeyState() check before sending mouse button events
...
It's unnecessary and breaks in cases where event processing is slow
Fixes #1433
2023-07-08 22:58:12 -05:00
jcj83429
d075424225
Add support for Applications (context menu) key in the Windows platform
...
I will add corresponding support in moonlight-qt.
2023-07-08 21:21:18 -05:00
Casey Korver
881af5b566
Correct typos in logging
2023-07-08 19:56:56 -05:00
Casey Korver
b1ffa8a6c5
Correct typos in comments
2023-07-08 18:56:27 -05:00
Cameron Gutman
70dc582f38
Refactor gamepad emulation code to use the DS4 extended report format
...
This has the side-effect of fixing #1407 due to the incorrect assumption that
it's safe to cast our gamepad_state_t to a XUSB_REPORT.
2023-07-08 11:34:16 -05:00
Cameron Gutman
11aedf56a2
Implement controller arrival metadata support
2023-06-30 20:47:29 -05:00