diff --git a/video/out/placebo/ra_pl.c b/video/out/placebo/ra_pl.c index 334f2f135f..18d8f37070 100644 --- a/video/out/placebo/ra_pl.c +++ b/video/out/placebo/ra_pl.c @@ -8,7 +8,7 @@ struct ra_pl { const struct pl_gpu *gpu; }; -static inline const struct pl_gpu *get_gpu(struct ra *ra) +static inline const struct pl_gpu *get_gpu(const struct ra *ra) { struct ra_pl *p = ra->priv; return p->gpu; @@ -16,6 +16,11 @@ static inline const struct pl_gpu *get_gpu(struct ra *ra) static struct ra_fns ra_fns_pl; +const struct pl_gpu *ra_pl_get(const struct ra *ra) +{ + return ra->fns == &ra_fns_pl ? get_gpu(ra) : NULL; +} + struct ra *ra_create_pl(const struct pl_gpu *gpu, struct mp_log *log) { assert(gpu); diff --git a/video/out/placebo/ra_pl.h b/video/out/placebo/ra_pl.h index a342892963..c1c0c16af5 100644 --- a/video/out/placebo/ra_pl.h +++ b/video/out/placebo/ra_pl.h @@ -5,6 +5,8 @@ struct ra *ra_create_pl(const struct pl_gpu *gpu, struct mp_log *log); +const struct pl_gpu *ra_pl_get(const struct ra *ra); + // Wrap a pl_tex into a ra_tex struct, returns if successful bool mppl_wrap_tex(struct ra *ra, const struct pl_tex *pltex, struct ra_tex *out_tex);