summaryrefslogtreecommitdiffstats
path: root/wscript
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-06-30 12:27:15 +0200
committerwm4 <wm4@nowhere>2017-06-30 18:57:37 +0200
commitdd408e68ed57fa5130bef976751e58a5d6e42f75 (patch)
tree7b47f293f3a07b318289ac277bcba6c588f0e586 /wscript
parentc61520b6bd51d2ab8ba1fa14d89170844ebd159b (diff)
downloadmpv-dd408e68ed57fa5130bef976751e58a5d6e42f75.tar.bz2
mpv-dd408e68ed57fa5130bef976751e58a5d6e42f75.tar.xz
d3d: make DXVA2 support optional
This partially reverts the change from a longer time ago to always build DXVA2 and D3D11VA together. To make it simpler, we change the following: - building with ANGLE headers is now required to build D3D hwaccels - if DXVA2 is enabled, D3D11VA is still forcibly built - the CLI vo_opengl ANGLE backend is now under --egl-angle-win32 This is done to reduce the dependency mess slightly.
Diffstat (limited to 'wscript')
-rw-r--r--wscript28
1 files changed, 23 insertions, 5 deletions
diff --git a/wscript b/wscript
index 3fbcf1db88..99263b7ee5 100644
--- a/wscript
+++ b/wscript
@@ -619,7 +619,7 @@ video_output_features = [
check_statement('d3d9.h', 'IDirect3D9Ex *d'))
} , {
'name': '--egl-angle',
- 'desc': 'OpenGL Win32 ANGLE Backend',
+ 'desc': 'OpenGL ANGLE headers',
'deps_any': [ 'os-win32', 'os-cygwin' ],
'groups': [ 'gl' ],
'func': check_statement(['EGL/egl.h', 'EGL/eglext.h'],
@@ -635,6 +635,12 @@ video_output_features = [
'-DANGLE_NO_ALIASES', '-DANGLE_EXPORT='],
lib=['EGL', 'GLESv2', 'dxguid', 'd3d9',
'gdi32', 'stdc++'])
+ }, {
+ 'name': '--egl-angle-win32',
+ 'desc': 'OpenGL Win32 ANGLE Backend',
+ 'deps': [ 'egl-angle', 'win32-desktop' ],
+ 'groups': [ 'gl' ],
+ 'func': check_true,
} , {
'name': '--vdpau',
'desc': 'VDPAU acceleration',
@@ -736,7 +742,7 @@ video_output_features = [
'name': 'egl-helpers',
'desc': 'EGL helper functions',
'deps_any': [ 'egl-x11', 'mali-fbdev', 'rpi', 'gl-wayland', 'egl-drm',
- 'egl-angle' ],
+ 'egl-angle-win32' ],
'func': check_true
}
]
@@ -794,13 +800,14 @@ hwaccel_features = [
' ? 1 : -1]',
use='libav'),
}, {
+ # (conflated with ANGLE for easier deps)
'name': '--d3d-hwaccel',
- 'desc': 'DXVA2 and D3D11VA hwaccel',
- 'deps': [ 'win32-desktop' ],
+ 'desc': 'D3D11VA hwaccel (plus ANGLE)',
+ 'deps': [ 'os-win32', 'egl-angle' ],
'func': check_true,
}, {
'name': '--d3d-hwaccel-new',
- 'desc': 'DXVA2 and D3D11VA hwaccel (new API)',
+ 'desc': 'D3D11VA hwaccel (new API)',
'func': check_statement('libavcodec/version.h',
'int x[(LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(58, 4, 0) && '
' LIBAVCODEC_VERSION_MICRO < 100) ||'
@@ -810,6 +817,17 @@ hwaccel_features = [
use='libav'),
'deps': [ 'd3d-hwaccel' ],
}, {
+ 'name': '--d3d9-hwaccel',
+ 'desc': 'DXVA2 hwaccel (plus ANGLE)',
+ 'deps': [ 'd3d-hwaccel', 'egl-angle-win32' ],
+ 'func': check_true,
+ }, {
+ 'name': '--gl-dxinterop-d3d9',
+ 'desc': 'OpenGL/DirectX Interop Backend DXVA2 interop',
+ 'deps': [ 'gl-dxinterop', 'd3d9-hwaccel' ],
+ 'groups': [ 'gl' ],
+ 'func': check_true,
+ }, {
'name': '--cuda-hwaccel',
'desc': 'CUDA hwaccel',
'deps': [ 'gl' ],