diff options
author | wm4 <wm4@nowhere> | 2017-06-30 12:27:15 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-06-30 18:57:37 +0200 |
commit | dd408e68ed57fa5130bef976751e58a5d6e42f75 (patch) | |
tree | 7b47f293f3a07b318289ac277bcba6c588f0e586 /wscript | |
parent | c61520b6bd51d2ab8ba1fa14d89170844ebd159b (diff) | |
download | mpv-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-- | wscript | 28 |
1 files changed, 23 insertions, 5 deletions
@@ -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' ], |