Cameron Gutman
52761ade87
Update SDL_ttf to 81f9e9b
2022-03-31 23:30:59 -05:00
Cameron Gutman
e6b816e776
Update SDL in AppImage
2022-03-30 23:31:01 -05:00
Cameron Gutman
6d3bcba5d0
Update SDL, SDL_ttf, and FreeType
...
SDL -> 2c04df8
SDL_ttf -> 80d909 (Windows)
FreeType -> 3f83da (Windows)
2022-03-30 23:27:40 -05:00
Cameron Gutman
2e7ffa606b
Fix missing DLL in ARM64 builds
2022-03-30 22:43:31 -05:00
Cameron Gutman
055cae90b8
Only apply the AMD color range workaround to new drivers
...
Applying it to older drivers introduces the very same issues it's meant to fix
2022-03-30 22:43:08 -05:00
Cameron Gutman
23acf92803
Update SDL_GameControllerDB
2022-03-30 22:07:33 -05:00
Cameron Gutman
91ee7d76eb
Rerun lupdate and lrelease
2022-03-30 22:07:11 -05:00
Cameron Gutman
570888e2b8
Merge remote-tracking branch 'origin/weblate'
2022-03-30 22:06:02 -05:00
Cameron Gutman
98376ade45
Update SDL to cbdb67b
2022-03-29 22:39:09 -05:00
Cameron Gutman
9682968b55
Fix FFmpeg URL for AppImage
2022-03-29 21:34:34 -05:00
Cameron Gutman
877cb5f1b0
Update SDL2, SDL_ttf, and FFmpeg in AppImage build
2022-03-29 21:03:35 -05:00
Cameron Gutman
6972573a6e
Add pointer lock key combo
...
Fixes #737
2022-03-29 18:26:09 -05:00
Cameron Gutman
742f1b1283
Prefer hevc_nvv4l2 over hevc_nvmpi
2022-03-26 22:54:54 -05:00
Cameron Gutman
2fc1dda232
Partially revert e64b15d and b85d5b8
...
These changes cause excessive window recreation using the Flatpak on Nvidia with Wayland
2022-03-19 14:50:38 -05:00
Cameron Gutman
99495cff90
Add logging for cases where color range/encoding cannot be set
2022-03-19 13:12:41 -05:00
Cameron Gutman
b45c3e3c7f
Tweak wording on the keep awake option
2022-03-16 21:59:06 -05:00
Cameron Gutman
ce2a01fc59
Allow the screensaver toggle to work even if running on an embedded platform
2022-03-16 21:57:03 -05:00
Cameron Gutman
edeea65c3e
Rerun lupdate and lrelease
2022-03-16 21:51:17 -05:00
Cameron Gutman
6e8ee94b91
Merge remote-tracking branch 'origin/weblate'
2022-03-16 21:49:44 -05:00
Cameron Gutman
97d8274911
Add option to allow PC to sleep while streaming
2022-03-16 21:48:56 -05:00
Cameron Gutman
73d84dc13f
Update SDL and OpenSSL prebuilts
2022-03-15 22:30:55 -05:00
Cameron Gutman
f32501d498
Update moonlight-common-c
2022-03-15 21:22:44 -05:00
Cameron Gutman
9c289c3fe9
Update SDL_GameControllerDB
2022-03-15 21:22:21 -05:00
Cameron Gutman
2a610584ee
Fix handling of line continuations in FFmpeg logs (for real this time)
2022-03-11 19:15:36 -06:00
Cameron Gutman
d6ef8945f5
Replace Deviare In-Proc with Microsoft Detours
2022-03-08 20:58:40 -06:00
Cameron Gutman
e078a8b7b6
Don't recreate the decoder while the window is minimized
...
Fixes #726
2022-03-06 15:21:43 -06:00
Cameron Gutman
a6395b9025
Fix short UI hang when manually stopping the stream after losing connection with the host
2022-03-06 13:11:36 -06:00
Cameron Gutman
6c0983d77c
Reset the audio device if it enters a failed state
...
Fixes #734
2022-03-05 16:50:06 -06:00
Cameron Gutman
4ae39f2bd5
Properly synchronize rumble with gamepad removal
2022-03-05 13:32:38 -06:00
Cameron Gutman
4b83b022d3
Remove unnecessary assert
2022-02-25 22:47:20 -06:00
Cameron Gutman
8b13e5b47e
Update AppImage to libva 2.14
2022-02-25 22:46:52 -06:00
Cameron Gutman
93c02fb43a
Print GPU info in D3D11VA renderer
2022-02-20 22:10:18 -06:00
Cameron Gutman
93ee51cabb
Integrate new languages from Weblate
2022-02-20 14:15:08 -06:00
Cameron Gutman
cd6ba554a4
Merge remote-tracking branch 'origin/weblate'
2022-02-20 13:44:11 -06:00
Cameron Gutman
89aa2be358
Rerun lupdate and lrelease
2022-02-20 13:41:48 -06:00
Cameron Gutman
da261246b9
Change HDR to be a separate option like other clients
2022-02-19 11:21:06 -06:00
Cameron Gutman
4d3e09f4a0
Raise minimum custom resolution to 256x256
2022-02-19 10:47:25 -06:00
Cameron Gutman
9add6b3696
Add DXVA2 quirk for AMD GPUs to fix color range on the latest drivers
2022-02-17 00:35:33 -06:00
Cameron Gutman
ef037e18d0
Add colorspace and color range override options
2022-02-17 00:26:56 -06:00
Cameron Gutman
36db791516
Refactor D3D11 shaders to reduce duplicated code
2022-02-16 19:38:18 -06:00
Cameron Gutman
b1f980c216
Fix handling of line continuations in FFmpeg logs
2022-02-13 16:06:04 -06:00
Cameron Gutman
738f64c903
Use FP32 for position and texcoords
...
We need that extra precision for sampling large textures
2022-02-13 13:41:39 -06:00
Cameron Gutman
9a64c026ea
Use optimized pixel shaders for the normal SDR and HDR colorspaces
2022-02-09 20:46:02 -06:00
Cameron Gutman
be2af1d17a
Add environment variables to configure DXVA2 and D3D11VA options
2022-02-08 22:27:27 -06:00
Cameron Gutman
b21131a466
Use FP16 in the D3D11 shaders
2022-02-08 21:43:25 -06:00
Cameron Gutman
b96cb1abaf
Remove per-app HDR support check
...
It doesn't seem to make a difference anymore whether it's supported or not.
GFE seems happy to enter HDR mode anyway.
2022-02-07 20:02:19 -06:00
Cameron Gutman
1d79bcc657
Disable waitable swapchains in full-screen mode
2022-02-06 00:28:59 -06:00
Cameron Gutman
e8b4494fc3
Add an extra buffer for DirectFlip
2022-02-05 23:22:07 -06:00
Cameron Gutman
2518208c5c
Don't set fullScreenDesc fields to prevent entering "proxy" full-screen mode
2022-02-05 19:32:05 -06:00
Cameron Gutman
918fea7d4b
Precompute the aspect ratio stretch to avoid having to change viewports twice each frame
2022-02-05 15:44:37 -06:00
Cameron Gutman
4dc07bf63f
Don't render the alignment padding area
2022-02-05 15:23:29 -06:00
Cameron Gutman
04a0aca221
Create SRVs for all textures in the pool during initialization
2022-02-05 14:49:08 -06:00
Cameron Gutman
1942e72474
Only bind the constant buffer once
2022-02-05 14:15:35 -06:00
Cameron Gutman
f256407789
Implement D3D11VA video rendering
2022-02-04 21:51:34 -06:00
Cameron Gutman
67612f607e
WIP: D3D11VA support
...
Overlays work, but drawing the actual video is unimplemented
2022-02-03 19:45:07 -06:00
Cameron Gutman
76bd4a1c7b
Don't set the HDR metadata blob if we don't have one
2022-01-30 22:57:53 -06:00
Cameron Gutman
13dbad6f35
Fix build with old libdrm headers
2022-01-30 22:56:22 -06:00
Cameron Gutman
cf089fdfe9
Add support for HDR with VAAPI using DRM frontend renderer
2022-01-29 18:16:39 -06:00
Cameron Gutman
9755e31fa2
Refactor VAAPI surface export check into separate function
2022-01-29 17:45:36 -06:00
Cameron Gutman
3fcf31d009
Improve robustness of EGL retry logic for 10-bit color
2022-01-29 01:12:38 -06:00
Cameron Gutman
1cbdd0e675
Display the HDR option if the platform has a decoder that supports it
2022-01-29 00:59:04 -06:00
Cameron Gutman
e0fd84d6f5
Fix build with old libdrm headers
2022-01-29 00:28:46 -06:00
Cameron Gutman
443720c3de
Plumb HDR metadata into DRM renderer
2022-01-28 22:40:07 -06:00
Cameron Gutman
254526a213
Plumb HDR mode information to the decoders
2022-01-28 22:10:50 -06:00
Cameron Gutman
ad0afb5fc9
Prefer direct rendering when using HDR
2022-01-27 22:36:49 -06:00
Cameron Gutman
e64b15d2a7
Rework how we deal with window re-creation for EGLRenderer
...
Previously we opted to just lie to SDL and tell it that the current
GL context is actually GLES 3.0 when it wasn't. This meant that
we avoided our window being recreated for GLES usage on Wayland
and KMSDRM, but that meant our 10-bit color change didn't apply
either. I suspect this hackery is what led EGLRenderer to get
stuck in a state where SDL_CreateRenderer() always failed.
Now SDL will recreate our window once to configure a compatible GL
API for our renderer. If that fails, we'll move on to a different
renderer (which may recreate the window again).
2022-01-27 21:49:03 -06:00
Cameron Gutman
cdc3352318
Ensure SDL also uses X11 if Qt is using X11
2022-01-26 19:00:41 -06:00
Cameron Gutman
2416618b34
Don't require 2 bits of alpha for 10-bit color
2022-01-26 18:55:56 -06:00
Cameron Gutman
a0709bec51
Improve debugging and add missing break
2022-01-23 21:12:32 -06:00
Cameron Gutman
f5bc4e7a24
Add color properties to DRM renderer
2022-01-23 21:03:56 -06:00
Cameron Gutman
b4665b6e5a
Pick a 10-bit DRM overlay for Main10 streaming
2022-01-23 19:19:16 -06:00
Cameron Gutman
b85d5b8822
Enable P010 surface export from VAAPI to EGL
2022-01-23 18:33:30 -06:00
Cameron Gutman
12ad75a6b0
Move hybrid decode detection logic into a central location
2022-01-23 15:41:33 -06:00
Cameron Gutman
af92fe6ad1
Fix Apple silicon CPU check
2022-01-23 13:01:20 -06:00
Cameron Gutman
fcf7ed4faa
Only use the VT rasterization workaround on Apple silicon
2022-01-22 20:25:50 -06:00
Cameron Gutman
a58649fd10
Update Windows and macOS to FFmpeg 5.0
2022-01-22 13:44:05 -06:00
Cameron Gutman
ee5918cf4e
Revert "Add workaround for duplicate size changed events on Wayland"
...
Skipping size changed events can cause EGLRenderer to get stuck in
a state where it can't reset itself properly. This seems to happen
consistently when starting a maximized stream then transitioning
to full-screen.
This reverts commit e1b3f90f8b .
2022-01-22 12:29:44 -06:00
Cameron Gutman
dd941154d6
Fix EGL renderer overlay rendering with SDL_ttf 2.0.18
...
Fixes #721
2022-01-20 18:02:44 -06:00
Cameron Gutman
719024ec01
Prepare for v3.2.0 release
2022-01-18 18:33:23 -06:00
Cameron Gutman
f0659b4f3c
Fix random crash on stream start with renderers that require test frames
2022-01-18 18:19:28 -06:00
Cameron Gutman
a649f2736f
Rerun lupdate and lrelease
2022-01-18 18:07:17 -06:00
Cameron Gutman
046ccb1dee
Merge remote-tracking branch 'origin/weblate'
2022-01-18 18:05:42 -06:00
Cameron Gutman
cb8c30db2e
Add workaround for keyboard and UTF-8 events interfering with each other
2022-01-17 21:56:39 -06:00
Cameron Gutman
dacd5a9e3d
Discard stale gamepad events when enabling gamepad navigation
2022-01-17 19:49:52 -06:00
Cameron Gutman
859d8b96a7
Don't use duplicate resize workaround on SDL 2.0.21+
2022-01-17 19:25:43 -06:00
Cameron Gutman
02981e3cee
Update SDL to pick up HIDAPI deadzone fix
2022-01-17 19:23:42 -06:00
Cameron Gutman
49892b3ce8
Only use SDL_WaitEventTimeout() on SDL 2.0.18+
2022-01-17 16:59:45 -06:00
Cameron Gutman
b223e7ec36
Update SDL_GameControllerDB
2022-01-17 15:57:36 -06:00
Cameron Gutman
0926337c1d
Rerun lupdate and lrelease
2022-01-17 15:56:39 -06:00
Cameron Gutman
346e72a678
Merge remote-tracking branch 'origin/weblate'
2022-01-17 15:55:12 -06:00
Cameron Gutman
c138cbf994
Fix Windows build
2022-01-17 15:47:36 -06:00
Cameron Gutman
dfe275ab67
Avoid consuming stale data during/after decoder reset
2022-01-17 15:26:00 -06:00
Cameron Gutman
d6cfbdb273
Rewrite FFmpeg decoder to use pull model
...
This allows us to keep asynchronous decoders like MMAL and V4L2M2M fed
while we're waiting for output frames. Behavior for synchronous decoders
should be identical.
Continuing to feed new data while waiting for output frames is crucial for
acceptable performance on 1080p video on the Raspberry Pi using V4L2M2M,
since it allows the decode and copy operations to be pipelined.
2022-01-17 15:06:12 -06:00
Cameron Gutman
8a27fa7bb5
Convert NeedsIdr member into an atomic variable with a getter
2022-01-17 14:30:12 -06:00
Cameron Gutman
b9a6fb1fe5
Add workaround for AVSampleBufferDisplayLayer colorspace and artifacting issues
...
Fixes #493
2022-01-15 14:44:08 -06:00
Cameron Gutman
4b6194e15e
Add chroma location buffer attachment
2022-01-15 12:17:31 -06:00
Cameron Gutman
e1b3f90f8b
Add workaround for duplicate size changed events on Wayland
2022-01-14 23:36:21 -06:00
Cameron Gutman
31eddd8da0
Remove superfluous colorspace check
2022-01-13 01:19:17 -06:00
Cameron Gutman
abf2a14ee6
Handle colorspace changes in SDL renderer
2022-01-13 01:16:09 -06:00
Cameron Gutman
e555874485
Refactor WiX bundle description of VCRedist package
2022-01-12 19:14:59 -06:00