video/d3d11: add adapter selection by name into d3d11 options

This lets the user define an adapter name that can then be passed
further into the internals.
This commit is contained in:
Jan Ekström 2019-04-20 01:26:39 +03:00
parent e205e179e0
commit 8163906299
3 changed files with 15 additions and 0 deletions

View File

@ -20,6 +20,8 @@ Interface changes
::
--- mpv 0.30.0 ---
- add `--d3d11-adapter` to enable explicit selection of a D3D11 rendering
adapter by name.
- rename `--drm-osd-plane-id` to `--drm-draw-plane`, `--drm-video-plane-id` to
`--drm-drmprime-video-plane` and `--drm-osd-size` to `--drm-draw-surface-size`
to better reflect what the options actually control, that the values they

View File

@ -4675,6 +4675,16 @@ The following video options are currently all specific to ``--vo=gpu`` and
Schedule each frame to be presented for this number of VBlank intervals.
(default: 1) Setting to 1 will enable VSync, setting to 0 will disable it.
``--d3d11-adapter=<adapter name>``
Select a specific D3D11 adapter to utilize for D3D11 rendering.
Will pick the default adapter if unset. Alternatives are listed
when the d3d11 back-end is initialized with verbosity level verbose
or higher.
Hardware decoders utilizing the D3D11 rendering abstraction's helper
functionality to receive a device, such as D3D11VA or DXVA2's DXGI
mode, will be affected by this choice.
``--d3d11va-zero-copy=<yes|no>``
By default, when using hardware decoding with ``--gpu-api=d3d11``, the
video image will be copied (GPU-to-GPU) from the decoder surface to a

View File

@ -31,6 +31,7 @@ struct d3d11_opts {
int warp;
int flip;
int sync_interval;
char *adapter_name;
};
#define OPT_BASE_STRUCT struct d3d11_opts
@ -52,6 +53,7 @@ const struct m_sub_options d3d11_conf = {
{"9_1", D3D_FEATURE_LEVEL_9_1})),
OPT_FLAG("d3d11-flip", flip, 0),
OPT_INTRANGE("d3d11-sync-interval", sync_interval, 0, 0, 4),
OPT_STRING("d3d11-adapter", adapter_name, 0),
{0}
},
.defaults = &(const struct d3d11_opts) {
@ -59,6 +61,7 @@ const struct m_sub_options d3d11_conf = {
.warp = -1,
.flip = 1,
.sync_interval = 1,
.adapter_name = NULL,
},
.size = sizeof(struct d3d11_opts)
};