diff --git a/video/out/vo_gpu_next.c b/video/out/vo_gpu_next.c index 0663777376044..d9a370b3f6ac7 100644 --- a/video/out/vo_gpu_next.c +++ b/video/out/vo_gpu_next.c @@ -133,7 +133,6 @@ struct priv { bool is_interpolated; bool want_reset; bool frame_pending; - bool redraw; pl_options pars; struct m_config_cache *opts_cache; @@ -2134,6 +2133,11 @@ static void update_hook_opts(struct priv *p, char **opts, const char *shaderpath if (!mp_splitext(basename, &shadername)) shadername = bstr0(basename); + for (int i = 0; i < hook->num_parameters; i++) { + const struct pl_hook_par *hp = &hook->parameters[i]; + memcpy(hp->data, &hp->initial, sizeof(*hp->data)); + } + for (int n = 0; opts[n * 2]; n++) { struct bstr k = bstr0(opts[n * 2 + 0]); struct bstr v = bstr0(opts[n * 2 + 1]); @@ -2329,6 +2333,9 @@ AV_NOWARN_DEPRECATED( } pars->params.hooks = p->hooks; + + MP_DBG(p, "Render options updated, resetting render state.\n"); + p->want_reset = true; } const struct vo_driver video_out_gpu_next = {