Commit graph

1959 commits

Author SHA1 Message Date
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
GeraltOfTrivia
c951d77a52
Translated using Weblate (Greek)
Currently translated at 96.2% (182 of 189 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/el/
2022-01-25 17:53:11 +01:00
GeraltOfTrivia
759ddc0b4b
Added translation using Weblate (Greek) 2022-01-24 16:49:31 +01: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
Wh1t3st4r
d7de3301ed
Translated using Weblate (Portuguese)
Currently translated at 76.7% (145 of 189 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/pt/
2022-01-22 07:20:29 +01:00
Wh1t3st4r
bd1988c775
Added translation using Weblate (Portuguese) 2022-01-22 00:51:36 +01:00
Faiq Chilmi
474010b31d
Translated using Weblate (Hindi)
Currently translated at 18.5% (35 of 189 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/hi/
2022-01-21 15:52:46 +01: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
WoweePaw
cbb53745f6
Translated using Weblate (German)
Currently translated at 99.4% (188 of 189 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/de/
2022-01-20 15:09:46 +01:00
Faiq Chilmi
3dff62e0cf
Added translation using Weblate (Hindi) 2022-01-20 15:09:46 +01: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
Tygo T
d340556c28
Translated using Weblate (Dutch)
Currently translated at 100.0% (189 of 189 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/nl/
2022-01-19 01:04:10 +01:00
Wout Rombouts
32250db126
Translated using Weblate (Dutch)
Currently translated at 100.0% (189 of 189 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/nl/
2022-01-19 01:04:10 +01: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
Wout Rombouts
d612e47b62
Translated using Weblate (Dutch)
Currently translated at 100.0% (189 of 189 strings)

Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/nl/
2022-01-17 22:54:04 +01: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