summaryrefslogtreecommitdiffstats
path: root/options/options.c
diff options
context:
space:
mode:
authorJames Ross-Gowan <rossy@jrg.systems>2017-11-01 22:38:41 +1100
committerJames Ross-Gowan <rossy@jrg.systems>2017-11-07 20:27:13 +1100
commite7bf5576e599593b1bba5bbf2a7cd6d4270c7809 (patch)
tree8a91e157cbd47bdd6f9bdbb40f2b0722ad5d3d53 /options/options.c
parentb258d82d6eab5cec7f27f4d6780bf991d28aadef (diff)
downloadmpv-e7bf5576e599593b1bba5bbf2a7cd6d4270c7809.tar.bz2
mpv-e7bf5576e599593b1bba5bbf2a7cd6d4270c7809.tar.xz
vo_gpu: hwdec_d3d11va: allow zero-copy video decoding
Like the manual says, this is technically undefined behaviour. See: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476085.aspx In particular, MSDN says texture arrays created with the BIND_DECODER flag cannot be used with CreateShaderResourceView, which means they can't be sampled through SRVs like normal Direct3D textures. However, some programs (Google Chrome included) do this anyway for performance and power-usage reasons, and it appears to work with most drivers. Older AMD drivers had a "bug" with zero-copy decoding, but this appears to have been fixed. See #3255, #3464 and http://crbug.com/623029.
Diffstat (limited to 'options/options.c')
-rw-r--r--options/options.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/options/options.c b/options/options.c
index 3bf4ee1108..e295afa9bc 100644
--- a/options/options.c
+++ b/options/options.c
@@ -91,6 +91,7 @@ extern const struct m_sub_options opengl_conf;
extern const struct m_sub_options vulkan_conf;
extern const struct m_sub_options spirv_conf;
extern const struct m_sub_options d3d11_conf;
+extern const struct m_sub_options d3d11va_conf;
extern const struct m_sub_options angle_conf;
extern const struct m_sub_options cocoa_conf;
@@ -702,6 +703,9 @@ const m_option_t mp_opts[] = {
#if HAVE_D3D11
OPT_SUBSTRUCT("", d3d11_opts, d3d11_conf, 0),
+#if HAVE_D3D_HWACCEL
+ OPT_SUBSTRUCT("", d3d11va_opts, d3d11va_conf, 0),
+#endif
#endif
#if HAVE_EGL_ANGLE_WIN32