1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-25 00:53:22 +00:00
mpv/video/out
James Ross-Gowan 3d12312806
vo_opengl: add dxinterop backend
WGL_NV_DX_interop is widely supported by Nvidia and AMD drivers. It
allows a texture to be shared between Direct3D and WGL, so that
rendering can be done with WGL and presentation can be done with
Direct3D. This should allow us to work around some persistent WGL
issues, such as dropped frames with some driver/OS combos, drivers that
buffer frames to increase performance at the cost of latency, and the
inability to disable exclusive fullscreen mode when using WGL to render
to a fullscreen window.

The addition of a DX_interop backend might also enable some cool
Direct3D-specific enhancements in the future, such as using the
GetPresentStatistics API to get accurate frame presentation timestamps.

Note that due to a driver bug, this backend is currently broken on
Intel. It will appear to work as long as the window is not resized too
often, but after a few changes of size it will be unable to share the
newly created renderbuffer with GL. See:
https://software.intel.com/en-us/forums/graphics-driver-bug-reporting/topic/562051
2015-12-11 18:29:18 +01:00
..
cocoa
opengl vo_opengl: add dxinterop backend 2015-12-11 18:29:18 +01:00
wayland
win32 vo_opengl: win32: test for exclusive mode 2015-11-26 00:38:03 +11:00
aspect.c
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_common.h vo_opengl: cocoa: switch to new internal API 2015-10-01 22:42:25 +02:00
cocoa_common.m cocoa: fix recent regression 2015-12-07 00:49:36 +01:00
d3d_shader_420p.h
d3d_shader_nv12.h
d3d_shader_yuv.hlsl
dither.c
dither.h
drm_common.c drm: fix setting up connectors 2015-11-11 19:40:13 +01:00
drm_common.h vo_drm: use bool rather than integer return values 2015-11-08 15:00:15 +01:00
filter_kernels.c filter_kernels: add warnings for potential LUT sampling error 2015-12-07 23:48:12 +01:00
filter_kernels.h
vo_caca.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_direct3d.c csputils: rename "yuv2rgb" functions 2015-12-09 00:23:36 +01:00
vo_drm.c vo_drm: relicense to LGPL 2015-11-08 15:00:15 +01:00
vo_image.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_lavc.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_null.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_opengl_cb.c vo_opengl_cb: avoid NULL pointer deref in corner cases 2015-12-05 23:53:41 +01:00
vo_opengl.c vo_opengl: add dxinterop backend 2015-12-11 18:29:18 +01:00
vo_rpi.c vo_rpi: set aspect ratio 2015-11-25 22:06:58 +01:00
vo_sdl.c vo: get rid of vo_get_window_title() 2015-12-06 18:41:31 +01:00
vo_vaapi.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_vdpau.c vo_opengl: disable interpolation without display-sync 2015-11-25 22:10:55 +01:00
vo_wayland.c vo: remove VOCTRL_GET_RECENT_FLIP_TIME 2015-11-23 16:54:53 +01:00
vo_x11.c video/out: remove an unused parameter 2015-10-03 18:20:16 +02:00
vo_xv.c vo_xv: fix crash with --wid 2015-10-07 13:49:29 +02:00
vo.c vo: get rid of vo_get_window_title() 2015-12-06 18:41:31 +01:00
vo.h vo: get rid of vo_get_window_title() 2015-12-06 18:41:31 +01:00
w32_common.c win32: add option to set VO MMCSS profile 2015-12-06 19:20:23 +01:00
w32_common.h vo_direct3d: fix operation 2015-10-31 12:52:02 +01:00
wayland_common.c Revert "vo_wayland: define opaque region" 2015-10-20 00:15:07 +02:00
wayland_common.h vo_opengl: wayland: switch to new internal API 2015-10-01 22:57:02 +02:00
win_state.c
win_state.h
x11_common.c vo: get rid of vo_get_window_title() 2015-12-06 18:41:31 +01:00
x11_common.h vo: get rid of vo_get_window_title() 2015-12-06 18:41:31 +01:00
x11_icon.bin