summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornanahi <130121847+na-na-hi@users.noreply.github.com>2024-02-16 01:01:38 -0500
committerDudemanguy <random342@airmail.cc>2024-02-17 16:06:33 +0000
commit8de67a4af50f9c51a4b643a5cbf343e656d27a27 (patch)
tree3af7f049c5140d3c832c23fd9e125fa0afb8bdbd
parent117622cd4ae4238bc00b60e8fbccdcc5c0baa724 (diff)
downloadmpv-8de67a4af50f9c51a4b643a5cbf343e656d27a27.tar.bz2
mpv-8de67a4af50f9c51a4b643a5cbf343e656d27a27.tar.xz
d3d11: make --alpha runtime changeable
The DWM compositor transparency API is runtime changeable. Handle this in update_render_opts.
-rw-r--r--video/out/d3d11/context.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/video/out/d3d11/context.c b/video/out/d3d11/context.c
index 7549d4804a..f374f6e710 100644
--- a/video/out/d3d11/context.c
+++ b/video/out/d3d11/context.c
@@ -512,6 +512,11 @@ error:
return false;
}
+static void d3d11_update_render_opts(struct ra_ctx *ctx)
+{
+ vo_w32_set_transparency(ctx->vo, ctx->opts.want_alpha);
+}
+
IDXGISwapChain *ra_d3d11_ctx_get_swapchain(struct ra_ctx *ra)
{
if (ra->swapchain->fns != &d3d11_swapchain)
@@ -535,10 +540,11 @@ bool ra_d3d11_ctx_prefer_8bit_output_format(struct ra_ctx *ra)
}
const struct ra_ctx_fns ra_ctx_d3d11 = {
- .type = "d3d11",
- .name = "d3d11",
- .reconfig = d3d11_reconfig,
- .control = d3d11_control,
- .init = d3d11_init,
- .uninit = d3d11_uninit,
+ .type = "d3d11",
+ .name = "d3d11",
+ .reconfig = d3d11_reconfig,
+ .control = d3d11_control,
+ .update_render_opts = d3d11_update_render_opts,
+ .init = d3d11_init,
+ .uninit = d3d11_uninit,
};