Cameron Gutman
f138827cdf
Add handling for AV1 High profile in D3D11VA/DXVA2
...
This doesn't seem to be supported by FFmpeg or any actual hardware yet
2024-07-30 23:21:49 -05:00
Cameron Gutman
e25919e0f9
Use for each loop to destroy objects in arrays
...
Also fixes incorrect release of m_VideoPixelShaders objects
2024-07-30 22:58:59 -05:00
Cameron Gutman
99749d4730
Use ComPtr for lifetime management in DXVA2
2024-07-30 22:41:29 -05:00
Cameron Gutman
9e811f54f1
Use ComPtr for lifetime management in D3D11VA
2024-07-30 22:29:38 -05:00
Cameron Gutman
0bb0d27d64
Implement YUV 4:4:4 decoding with D3D11VA on Intel GPUs
2024-07-30 21:12:11 -05:00
Cameron Gutman
6c6f808365
Tweak the YUV444 tooltip text
2024-07-26 01:24:27 -05:00
Cameron Gutman
dd9569913b
Remove hardcoded block for YUV444 on non-Vulkan renderers
2024-07-26 01:20:48 -05:00
Cameron Gutman
778eb07c5f
Reject YUV444 rendering using D3D11VA until it properly supported
2024-07-26 01:19:26 -05:00
Cameron Gutman
e2ffeae3f6
Add YUV444 support to VT Metal renderer
2024-07-26 00:39:13 -05:00
Cameron Gutman
eb6d16fdcf
Remove guards for older macOS and SDK versions
2024-07-26 00:38:54 -05:00
Cameron Gutman
e548697a36
Move VT decoding support detection into a single base class
2024-07-26 00:35:32 -05:00
Cameron Gutman
c707dab70a
Plumb YUV444 logic into additional renderers
2024-07-25 06:36:40 -05:00
ns6089
da0244c538
Support YUV 4:4:4 formats
2024-07-24 20:54:13 -05:00
Cameron Gutman
ff332d45f8
Fix false compiler warnings about missing return from non-void function
2024-07-24 20:45:52 -05:00
Cameron Gutman
9e92c07cb7
Use VK_NULL_HANDLE instead of nullptr to initialize VkSurfaceKHR field
...
Fixes #1367
2024-07-24 20:38:36 -05:00
Cameron Gutman
7f009a4b8e
Switch to 32-bit floating point audio
...
Excluding Steam Link due to CPU and API limitations
2024-07-17 20:37:50 -05:00
Cameron Gutman
8ac378f467
Enable libplacebo Vulkan renderer on x64 Windows builds
2024-07-16 19:12:37 -05:00
Cameron Gutman
82ec773119
Add Vulkan headers v1.3.290 for Windows
2024-07-16 19:06:43 -05:00
Cameron Gutman
3580286807
Update prebuilt libraries
...
SDL2 -> 3b7eafe
dav1d -> 1.4.3
openssl -> 3.3.1
libplacebo -> 7.349.0
libva -> 2.22.0
2024-07-13 17:27:03 -05:00
Cameron Gutman
e226091c19
Require macOS 11 or later
2024-07-13 17:26:27 -05:00
Cameron Gutman
074b4520e5
List both Qt 5 and Qt 6 packages for Linux builds
2024-07-13 16:19:00 -05:00
Cameron Gutman
de30eeaa66
Fix CI build errors
2024-07-13 13:53:43 -05:00
Cameron Gutman
fe9282e7d9
Update Windows to Qt 6.7 and remove 32-bit support
2024-07-13 13:23:14 -05:00
Cameron Gutman
45ccd1a811
Add plane selection workaround for Spacemit driver bug
...
Expose plane bug workaround logic through new envvars:
- DRM_MIN_PLANE_ZPOS
- DRM_ALLOW_PRIMARY_PLANE
2024-07-12 19:37:56 -05:00
Cameron Gutman
52583f5c71
Consolidate decoder checks to reduce code duplication
2024-07-12 19:02:20 -05:00
Cameron Gutman
952ebcd0d2
Prefer zero-copy formats for non-hwaccel hardware decoders
...
SpacemiT K1's BSP has a version of FFmpeg that contains both
v4l2m2m and their own *_stcodec decoders. Not only is their
V4L2 driver for their mvx decoder seemingly totally broken
(output buffers are all zeros), but it doesn't have any of
the DRM_PRIME support work that is maintained out of tree.
The result is we use a broken copyback decoder instead of
a (mostly) working zero-copy decoder because we didn't
include any logic to rank non-hwaccel decoders by pixfmt
like we have with device type for hwaccel decoders.
2024-07-12 18:45:46 -05:00
Cameron Gutman
d5a198b764
YUV420P10 is also compatible with PlVkRenderer
2024-07-06 17:24:46 -05:00
Cameron Gutman
b5b2731d5f
Add support for rendering software decoded frames with Vulkan
2024-07-06 16:49:35 -05:00
Cameron Gutman
d085722911
Don't attempt to use mismatched 8-bit formats with 10-bit codecs
...
In addition to silently truncating the samples, this also tickles
some nasty bugs in the VF2's out-of-tree OMX decoder.
2024-07-06 02:27:46 -05:00
Cameron Gutman
2e29ef8d74
Simplify codec selection and prioritization logic
2024-07-06 00:50:32 -05:00
Cameron Gutman
34fa7167b1
Force AV_CODEC_CAP_HARDWARE set for OMX decoders
...
There are at least 2 out-of-tree OMX decoder implementations
that both lack AV_CODEC_CAP_HARDWARE, so they trick us into
thinking that neither of them is hardware accelerated.
Fixes false decoder warnings when linked against the patched
FFmpeg builds shipping on VisionFive 2 and LicheePi 4A SBCs.
2024-07-05 23:04:10 -05:00
Cameron Gutman
27b173b76b
Add a GenericHwAccelRenderer for unknown hwaccels
...
This will get us limited hardware acceleration even for hwaccels
that we don't know about yet.
2024-07-05 22:49:52 -05:00
Cameron Gutman
d73df12367
Don't precompile QML files with disable-prebuilts
...
This binds us against the exact compile-time version of Qt with no
forwards or backwards compatibility, so it must not be used when we
could load Qt libraries from a location outside of our app bundle.
2024-07-04 15:45:48 -05:00
Cameron Gutman
17a2548480
Fix changelog typo
2024-06-29 19:56:31 -05:00
Cameron Gutman
753deb915f
Prepare for v6.0.1
2024-06-29 19:55:10 -05:00
Cameron Gutman
7d6f4135d5
Show Hungarian in the language list
...
The translation is nearly complete now (89%)
2024-06-29 17:19:35 -05:00
Cameron Gutman
622ec843ff
Add Lithuanian and rerun lupdate/lrelease
2024-06-29 17:17:45 -05:00
Cameron Gutman
5c18bf1608
Merge remote-tracking branch 'origin/weblate'
2024-06-29 17:07:02 -05:00
Cameron Gutman
d184730a82
Switch over to the new code signing certificate
2024-06-29 17:02:33 -05:00
Cameron Gutman
335ed0e8e6
Only sample directly from the video decoder output texture on Intel GPUs
...
This technique seems to actually make performance worse on some AMD GPUs (RX 480)
and causes rendering errors on others (HD 5570). These might be AMD-specific bugs
but let's not risk a behavior change for AMD/NVIDIA where nobody was having perf
issues with the old copy method anyway.
2024-06-29 14:44:08 -05:00
Cameron Gutman
0abb9fd7c2
Revert "Avoid using D3D11VA on older AMD TeraScale GPUs"
...
This reverts commit 93408386ae
.
2024-06-29 14:12:03 -05:00
Cameron Gutman
1a1ce05959
Revert "Use a Texture2DArray in HLSL to match the SRVs"
...
This reverts commit d389f9a6e9
.
2024-06-29 14:07:41 -05:00
Cameron Gutman
93408386ae
Avoid using D3D11VA on older AMD TeraScale GPUs
2024-06-28 20:24:47 -05:00
Cameron Gutman
415b512c75
Require FL 11.0 for the D3D11VA renderer
...
We would probably be okay with 10.0 (SM4), but let's not risk
encountering GPU driver bugs like we do on old AMD cards.
2024-06-28 19:56:00 -05:00
Cameron Gutman
d389f9a6e9
Use a Texture2DArray in HLSL to match the SRVs
2024-06-27 19:46:27 -05:00
kiictus
ba01558bc5
Translated using Weblate (Lithuanian)
...
Currently translated at 38.3% (92 of 240 strings)
Translation: Moonlight Game Streaming/moonlight-qt
Translate-URL: https://hosted.weblate.org/projects/moonlight/moonlight-qt/lt/
2024-06-27 21:10:56 +02:00
Cameron Gutman
dff02eab7d
Fix DrmRenderer build
2024-06-25 23:29:37 -05:00
Cameron Gutman
ecfcedad58
Fix window resizing on Windows with software decoding
2024-06-25 23:21:08 -05:00
Cameron Gutman
e76780e105
Add a new prepareToRender() callback for renders to perform their initial window clears
...
This consolidates all the clearing that was strewn across the codebase.
2024-06-25 23:12:18 -05:00
Cameron Gutman
1d1fa0577b
Don't flush window events after the KMSDRM modeset operation
...
We will flush the initial window shown event that we require to start decoding.
2024-06-25 22:28:23 -05:00