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
dd941154d6
Fix EGL renderer overlay rendering with SDL_ttf 2.0.18
...
Fixes #721
2022-01-20 18:02:44 -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
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
08175de069
Fix incorrect colorspace in MMAL renderer
2022-01-09 17:04:38 -06:00
Cameron Gutman
808933cd70
Use DT files to get status of FKMS and rpivid
2022-01-09 16:44:20 -06:00
Cameron Gutman
384dd2adab
Prefer a render node in indirect rendering mode
2022-01-08 18:39:12 -06:00
lyashenko.v
1046d264d8
Fixed not working frame pacing on macOS
2022-01-06 23:23:00 -06:00
Cameron Gutman
8302187dee
Remove superfluous availability checks
2022-01-06 23:05:18 -06:00
Cameron Gutman
0d70bd9ac0
Add (untested) VAAPI support for CCS planes on Tiger Lake
...
See https://github.com/intel/media-driver/issues/1210
2022-01-05 21:09:08 -06:00
Cameron Gutman
8f63d59b81
Correct comment to avoid confusion
2022-01-04 22:00:46 -06:00
Cameron Gutman
0395c0cc95
Revert "Revert "Don't attempt to use direct rendering without DRM master""
...
The correct fix was 154b5b6ded
.
This reverts commit 8219dbef6f
.
2022-01-04 21:59:02 -06:00
Cameron Gutman
72065412a3
Don't allow copyback rendering on RPi by default
2022-01-04 20:35:17 -06:00
Cameron Gutman
67c801c4e7
Use av_frame_copy_props() to copy metadata
2022-01-02 17:38:58 -06:00
Cameron Gutman
f7c8ad4c5a
Fail render frame test for unsupported pixel formats
2022-01-02 15:03:49 -06:00
Cameron Gutman
61092b34de
Properly handle mismatched pitch between frame and texture
2022-01-02 14:35:14 -06:00
Cameron Gutman
1e9e96fb8c
Small code cleanup for hwframe code
2022-01-02 13:58:37 -06:00
Cameron Gutman
17d1ced07c
Add support for mapping hwframes
2022-01-02 13:41:36 -06:00
Cameron Gutman
a26ced04ff
Add support for negotiating non-default transfer formats for hwframes
2022-01-01 22:15:43 -06:00
Cameron Gutman
154b5b6ded
Fix fallback to SDL read-back for DRM contexts when !HAVE_EGL
2022-01-01 20:44:29 -06:00
Cameron Gutman
8219dbef6f
Revert "Don't attempt to use direct rendering without DRM master"
...
We support indirect rendering via SDL, even if EGL is unavailable.
This reverts commit 6145913068
.
2022-01-01 20:37:04 -06:00
Cameron Gutman
3da724e76a
Fix and enhance the Full KMS check
2021-12-28 17:13:54 -06:00
Cameron Gutman
97412b3c79
Display warnings about Full KMS mode and HEVC on the Pi 4
2021-12-19 20:33:48 -06:00
Cameron Gutman
6145913068
Don't attempt to use direct rendering without DRM master
2021-12-19 20:32:15 -06:00
Cameron Gutman
00d3530f64
Don't try VDPAU on XWayland by default
2021-12-15 20:49:12 -06:00
Cameron Gutman
36e0468a99
Optimize CUDA GL interop and provide fallback
2021-12-13 21:41:00 -06:00
Cameron Gutman
54cfc46500
Fix VDPAU on X11
2021-12-06 20:42:51 -06:00
Cameron Gutman
c09559ade5
Don't try to initialize VDPAU on Wayland
2021-12-06 19:38:28 -06:00
Cameron Gutman
3e9aea1f7a
Optimize CUDA support to avoid roundtrip to CPU memory
2021-12-06 18:23:40 -06:00
Cameron Gutman
56a5fbf63b
Fix get_buffer2() thread-safety warning with FFmpeg 4.4
2021-11-29 19:45:28 +03:00
Cameron Gutman
085a904970
Fix false warning when building without libva-x11 or libva-wayland
2021-11-25 17:52:54 +03:00
Cameron Gutman
0fa7723f51
Fix build without libva-x11
2021-11-25 17:51:08 +03:00
Cameron Gutman
4de3aa96b6
Add YUV colorspace and color range attributes to EGLImage
2021-11-19 01:15:33 -06:00
Cameron Gutman
1193943228
Re-add comment on color_range comparison
2021-11-19 00:56:46 -06:00
Cameron Gutman
2959faca0c
Fix colorspace transitions in EGLRenderer
2021-11-19 00:54:59 -06:00
Cameron Gutman
d0df4fa3a0
Fix handling of HDR colorspace transitions in VT renderer
2021-11-19 00:28:15 -06:00
liyu
0a301dd2f9
enables H265 HDR option and adds PQ transforeFunction to render HDR stream on macOS 10.13+
2021-11-18 23:42:44 -06:00
Cameron Gutman
43e3679297
Revert "Disable the EGL render thread on Wayland"
...
This reverts commit dcc567ebda
.
2021-11-15 21:33:28 -06:00
Cameron Gutman
0455063854
Fix driver version check for Intel's updated version schema in 100 and newer drivers
...
Fixes #673
2021-11-13 20:44:10 -06:00
Cameron Gutman
dcc567ebda
Disable the EGL render thread on Wayland
2021-07-31 17:24:18 -05:00
Cameron Gutman
8159e07427
Ensure our GL context is always current
2021-07-28 20:31:22 -05:00
Cameron Gutman
02e3f0e71b
Add missing declaration
2021-03-22 23:32:00 -05:00
Cameron Gutman
74bf981f3d
Ensure hwframe read-back works in SDL renderer
2021-03-22 23:15:14 -05:00
Cameron Gutman
32f0678692
Only pass modifiers array if DRM_MODE_FB_MODIFIERS is set
2021-03-22 22:52:06 -05:00
Cameron Gutman
e74753bec1
Allow fallback from EGL to direct on EGLImage export failure
2021-03-22 22:51:29 -05:00
Cameron Gutman
4a8c9ad17f
Add support for 4-plane frames
2021-03-22 00:46:04 -05:00
Cameron Gutman
0c6c882f50
Fix attribute buffer overflow for fully planar YUV formats
2021-03-22 00:14:06 -05:00
Cameron Gutman
579f25c1ba
Add missing EGL_DMA_BUF_PLANE2 definitions
2021-03-22 00:02:03 -05:00
Cameron Gutman
d5eb5c8816
Fix build with EGL 1.4 headers
2021-03-21 23:59:35 -05:00
Cameron Gutman
26d04b5f9c
Render DRM-PRIME frames as opaque images
...
We can't always assume they are NV12. Even if they _are_ NV12,
they may have DRM format modifiers that are incompatible with
simply assuming linear Y and UV buffers (such as tiling).
2021-03-21 23:23:12 -05:00
Cameron Gutman
a0b9684504
Continue refactoring for non-NV12 support in EGLRenderer
2021-03-21 21:43:57 -05:00
Cameron Gutman
402b6d1f0c
Begin refactoring for non-NV12 support in EGLRenderer
2021-03-21 19:20:52 -05:00
Cameron Gutman
e87a5fa354
Pass DRM format modifiers to FB creation
2021-03-21 17:54:10 -05:00
Cameron Gutman
955da6be30
Enable Gallium VAAPI driver on VAAPI 1.x
2021-03-13 14:37:13 -06:00
Cameron Gutman
d33ccce683
Hold a reference to the underlying DMA-BUFs until the next frame
2021-03-07 12:01:25 -06:00
Cameron Gutman
d722bf10b9
Don't use glFinish() with KMSDRM backend
2021-03-07 11:23:31 -06:00
Cameron Gutman
1ebb5fefb1
Address Clazy warnings
2021-03-02 18:14:15 -06:00
Cameron Gutman
164b3edd41
Fix viewport size on High DPI Wayland systems
...
Fixes #533
2021-03-01 22:47:14 -06:00
Cameron Gutman
93d21a0d1d
Fix EGLImage leak when not using a hwaccel backend
2021-02-06 17:59:05 -06:00
Cameron Gutman
36dd6c83e0
Fix assert failure when using v4l2m2m with EGL
2021-02-04 20:38:18 -06:00
Cameron Gutman
c3895f06c0
Fix handling of preferred/compatible pixel formats with EGLRenderer and VAAPI/DRM backends
2021-02-04 19:39:18 -06:00
Cameron Gutman
76e81fa651
Add windowed support for MMAL
2021-02-03 20:57:39 -06:00
Cameron Gutman
4dffac3c78
Ask for NV12 buffers for DRMRenderer
2021-02-02 19:40:06 -06:00
Cameron Gutman
c3cea0238e
Fix build with old EGL 1.5 headers without EGL_EGL_PROTOTYPES
2021-01-31 21:42:56 -06:00
Cameron Gutman
5bf4266973
Fix build with old Mesa EGL headers
2021-01-31 18:41:53 -06:00
Cameron Gutman
ed57c54d06
Move EGL definitions into renderer.h to try to fix build on Armbian
2021-01-31 17:01:11 -06:00
Cameron Gutman
80137848dc
Add DMA-BUF export compatibility with EGL 1.4
2021-01-31 16:24:31 -06:00
Cameron Gutman
6a66b462ce
Allow DRMRenderer to be used for indirect rendering
2021-01-31 15:19:19 -06:00
Cameron Gutman
1e31f6fe77
Fix initialization of DRM backend with X running
2021-01-31 15:03:40 -06:00
Cameron Gutman
f173b3ff09
Attempt to fix AppImage and Steam Link build errors
2021-01-31 14:48:42 -06:00
Cameron Gutman
baffab62ce
Fix uninitialized variable warning
2021-01-31 12:58:19 -06:00
Cameron Gutman
dbfdc2fd14
Share DRM FD and GBM device with SDL
...
Depends on https://hg.libsdl.org/SDL/rev/d75deb75464a
2021-01-30 21:11:52 -06:00
Cameron Gutman
a97912e297
Print the error when querying EGL_EXTENSIONS fails
2021-01-30 20:13:20 -06:00
Cameron Gutman
ac947d3bda
Add EGLImage export support to DRMRenderer
2021-01-30 17:52:23 -06:00
Cameron Gutman
243ba371b3
Initialize a DRM hardware context for hwaccel usage
2021-01-30 16:33:58 -06:00
Cameron Gutman
2d62d090df
Use a barrier to ensure we don't flush important window events
2021-01-09 17:51:25 -06:00
Cameron Gutman
137454beff
Use SDL_UpdateNVTexture on SDL 2.0.15+
2021-01-08 18:05:27 -06:00
Cameron Gutman
a0cc93b813
Fix EGL renderer build on SDL 2.0.9 and earlier
2021-01-03 14:24:30 -06:00
Cameron Gutman
8ff9d8123d
Switch VT renderer pacing logic to be enabled by the frame pacing checkbox
2020-12-29 20:26:56 -06:00
Cameron Gutman
3defccb6e2
Work around poor video scaling quality on Qualcomm GPUs
2020-12-21 21:00:55 -06:00
Cameron Gutman
5f4975ca5c
Fix DXVA2 overlay rendering quality issus
2020-12-20 17:30:06 -06:00
Cameron Gutman
e5bcc793e5
Implement overlay support in EGLRenderer
...
Fixes #405
2020-12-19 23:01:41 -06:00
Cameron Gutman
cd5b0e74e3
Draw background in MMAL renderer on X11
...
Fixes #412
2020-12-19 21:25:20 -06:00
Cameron Gutman
3162d2c17d
Fix aspect ratio of MMAL renderer output
2020-12-19 17:48:36 -06:00
Cameron Gutman
6a54fb649c
Fix synchronization issues between render and overlay update threads in DXVA2
2020-12-18 20:23:52 -06:00
Cameron Gutman
dcbf5affda
Fix use-after-free in VDPAU overlay rendering
2020-12-18 19:39:24 -06:00
Cameron Gutman
027c8dcd41
Add overlay support to VDPAU renderer
2020-12-17 18:35:08 -06:00
Cameron Gutman
94b46a2173
Use a vertex buffer for rendering the DXVA2 overlays
2020-12-16 18:16:35 -06:00
Cameron Gutman
1e7cb7f13e
Replace D3DX9 with SDL_ttf for overlay rendering
2020-12-13 23:43:31 -06:00
Cameron Gutman
d58837421f
Refactor SDL overlay drawing into OverlayManager for sharing with other renderers
2020-12-13 15:51:50 -06:00
Cameron Gutman
59a73817c8
Don't use AntiHooking.dll or use D3DX9 on ARM64
2020-12-12 13:59:47 -06:00
Cameron Gutman
38b59aa1a9
Fix DXVA2 renderer compilation with Qt 6.0
2020-11-21 11:12:40 -06:00
Cameron Gutman
2f3a1a5d79
Work around bug where GLES surface creation repeatedly fails on X11
2020-09-07 23:53:29 -07:00
Cameron Gutman
d09dd90a73
Fix hardcoded tick unit duration which is incorrect on Apple silicon
2020-08-12 18:07:10 -07:00
Cameron Gutman
8d2cbf806d
Improve message for broken Intel drivers to indicate that users should update their driver
2020-07-12 15:26:38 -07:00
Cameron Gutman
88ed72fdc1
Use regular VSync when enabled because adaptive VSync still tears
2020-06-20 14:44:21 -07:00
Cameron Gutman
586a93d7aa
Use the new EGL renderer for VAAPI by default
2020-06-13 20:21:54 -07:00