Cameron Gutman
85a9f85c54
Add support for listing notch and notchless native resolution options
2024-05-11 19:48:01 -05:00
Cameron Gutman
364093aef8
Prevent a deadlock if the audio device stops consuming data
2024-05-04 21:22:38 -05:00
Cameron Gutman
6d220a9062
Allow audio to recover if no audio devices were present during stream start
2024-05-04 21:13:00 -05:00
Jorys Paulin
a412100a11
feat: added show performance overlay preference ( #1209 )
2024-04-30 21:37:52 -05:00
Dylan Frankcom
58e27875ae
Fix Raised Black Levels on Steam Deck OLED ( #1265 )
...
Add getDecoderColorRange to plvk
2024-04-30 20:31:00 -05:00
Cameron Gutman
1cd588f25c
Don't set relative warp mode based on absolute/relative mouse mode
...
This breaks pointer capture on Wayland when we start in absolute mouse
mode (since warp is not supported on Wayland). It's also confusing to
users because it leads to different relative mouse acceleration curves
based on whether you start a stream in relative mode or not.
2024-04-27 17:13:02 -05:00
Cameron Gutman
4aa2b8570c
Autorelease the system default Metal device
2024-04-19 00:29:51 -05:00
Cameron Gutman
fe6562e31c
Allow forcing Metal renderer on or off via VT_FORCE_METAL=1 and VT_FORCE_METAL=0 respectively
2024-04-19 00:27:45 -05:00
Cameron Gutman
654e386263
Only pace presentation if display sync is enabled
2024-04-19 00:17:13 -05:00
Cameron Gutman
76d0eb6b63
Avoid trying VDPAU when Vulkan is preferred
...
The VDPAU renderer causes interoperability issues with Vulkan.
2024-04-18 00:41:24 -05:00
Cameron Gutman
d1ccd19fcc
Make StreamingPreferences a proper singleton
...
This removes the need for several hacks in SettingsView to force updates and improves performance by not reloading preferences all over the place.
2024-04-14 13:01:30 -05:00
Cameron Gutman
6a85996b4a
Clear the minimized state on the Qt window if the SDL window is not minimized
2024-04-07 00:42:51 -05:00
Cameron Gutman
5e46c4ec2b
Update Windows and Mac prebuilt libraries
...
SDL2 -> 1fa6142
FFmpeg -> 7.0
opus -> 1.5.1
dav1d -> 1.4.1
2024-04-06 19:56:38 -05:00
Cameron Gutman
fd2ff61a40
Support Vulkan AV1 decoding with FFmpeg 7.0
2024-04-06 12:31:14 -05:00
Cameron Gutman
8a87a09947
Flush stale gamepad events after checking for unmapped gamepads
2024-03-31 14:56:46 -05:00
Cameron Gutman
f2535f1e6e
Avoid D3D9 fallback on lack of codec support unless a D3D11 FL11.0 GPU wasn't found
...
We'd rather not waste time (and risk crashes) loading the D3D9 driver if the GPU doesn't have the physical decoding hardware at all.
2024-03-26 23:59:18 -05:00
Cameron Gutman
cefa567f95
Demote DXVA2 renderer to second pass of hwaccels
2024-03-26 23:04:54 -05:00
Cameron Gutman
9be782ae8e
Fix some harmless compiler warnings
2024-03-26 21:59:39 -05:00
Cameron Gutman
610e07d4bd
Improve state propagation between Qt and SDL windows
2024-03-26 21:42:13 -05:00
Cameron Gutman
97bd515b11
Remove leftover preferred Metal device logic
2024-03-26 01:16:57 -05:00
Cameron Gutman
a45695a22a
Rework Qt window handling during SDL window creation
...
- Avoids blindly enumeration all top-level windows
- Properly tracks screen changes during the connection process
- Starts stream window minimized if the Qt window was minimized
Fixes #1231
2024-03-24 21:38:54 -05:00
Cameron Gutman
0d67fd1ff0
Batch mouse motion events on the SDL side
2024-03-24 20:35:23 -05:00
Cameron Gutman
a093a0ae59
Restore AVSampleDisplayLayer renderer for dGPU/eGPU systems
...
These sometimes have issues importing decoded frames for Metal rendering.
2024-03-24 17:47:29 -05:00
Cameron Gutman
c9ad8ffa69
Stop using true fullscreen mode on Mac
...
It has numerous issues on modern Macs and seems to get worse every macOS release.
2024-03-24 13:55:43 -05:00
Cameron Gutman
ceca83346b
Use FIFO present mode for VSync
2024-03-02 11:19:52 -06:00
Cameron Gutman
62011c37f4
Fix build with SDL 2.0.20 and earlier
...
Fixes #1186
2024-02-17 13:31:53 -06:00
Cameron Gutman
919e44b29b
Fix __builtin_cpu_supports(aes) for GCC 6-9
2024-02-17 13:28:32 -06:00
Cameron Gutman
896456a8ac
Wait for command buffer completion before returning from renderFrame()
2024-02-11 00:15:32 -06:00
Cameron Gutman
8959ddbeb6
Rewrite overlay support in Metal renderer to avoid additional subviews
...
Subviews cause our Metal layer to fall out of the direct composition path on Intel hardware
2024-02-11 00:15:07 -06:00
Cameron Gutman
767215fce5
Rewrite old frame pacing logic for Metal renderer
2024-02-10 22:49:13 -06:00
Cameron Gutman
3ef05f3a35
Completely switch to D3D11VA over DXVA2 for supported GPUs in all scenarios
...
Fixes #1179
2024-02-09 01:24:03 -06:00
Cameron Gutman
12624bc5c4
Avoid the composited display path for our Metal layer
2024-02-08 18:19:01 -06:00
Cameron Gutman
80242f2e90
Fix Metal debug layer validation errors
2024-02-08 18:06:46 -06:00
Cameron Gutman
cf3e328f9d
Add seamless resize support for Metal renderer
2024-02-08 18:05:47 -06:00
Cameron Gutman
b972a22459
Use SDL helpers to create Metal view
2024-02-07 03:26:09 -06:00
Cameron Gutman
db06239018
Rewrite the macOS renderer using CAMetalLayer
...
This allows v-sync to be disabled on macOS and lets us remove a whole bunch of old hacks.
Further optimizations of the new renderer are still needed.
2024-02-07 02:40:35 -06:00
boogie
bdc7d53515
Only give "pixel_format=nv12" option to v4l2m2m or v4l2requests decoders
...
pixel_format is a global option which changes avctx->pix_fmt to the
given format, and overrides the AV_PIX_FMT_DRM_PRIME requirement of a
decoder. So v4l2 out of tree patches has done some exception which is
not perfectly nice, therefore limit this option only if the given
decoder is v4l2 decoder. Otherwise rockchip mpp based ffmpeg decoders
can not work properly
2024-02-06 00:09:34 -06:00
Cameron Gutman
3d8de56f25
Add fast AES detection for RISC-V using hwprobe() syscall
2024-01-23 02:28:28 -06:00
Cameron Gutman
8bbc9b2c57
Fix build with old ARM headers and opt-out of fast AES on RISC-V for now
2024-01-15 17:36:57 -06:00
Cameron Gutman
be7694dd8b
Improve fast AES heuristic for Linux ARM and unknown platforms
2024-01-15 14:16:56 -06:00
Cameron Gutman
ce8b24dfa7
Implement fast AES detection logic for Windows and macOS
2024-01-15 13:40:13 -06:00
Cameron Gutman
b01a83ff39
Send pen input as pen events on Windows
2024-01-12 23:40:24 -06:00
Cameron Gutman
c3e886fbcc
Use drmIoctl() instead of bare ioctl() to handle EINTR/EAGAIN
2024-01-05 18:33:17 -06:00
Cameron Gutman
e20d56041e
Fix rare race condition in overlay update code
2023-12-31 15:21:18 -06:00
Cameron Gutman
114074bfd8
Don't set HDR metadata on the DXGI swapchain
...
This is no longer recommended by Microsoft due inconsistencies with display support for HDR metadata.
2023-12-31 15:15:06 -06:00
Cameron Gutman
03663d5552
Fix integer promotion issue in gamepad state merging
2023-12-29 16:06:53 -06:00
Cameron Gutman
dce2a857f7
Merge all gamepad state when in single controller mode
2023-12-28 16:28:40 -06:00
Cameron Gutman
61f71a318e
Expose PLVK_DEBUG_EXTRA for enabling extra debug layers
2023-12-27 15:40:01 -06:00
Cameron Gutman
646ce2bf66
Handle occlusion of the Vulkan window without recreating the renderer over and over
2023-12-27 15:36:59 -06:00
Cameron Gutman
2bbae90e2c
Revert "Unconditionally override host-reported minimum luminance value"
...
This reverts commit 770872238d
.
2023-12-26 15:46:25 -06:00