mirror of
https://github.com/mpv-player/mpv
synced 2024-12-22 14:52:43 +00:00
command: export current-gpu-context property
This exports `current-gpu-context` property, which is the string description of the current active GPU context. This allows scripts to uniquely identify the platform and backend used for --vo=gpu and --vo=gpu-next.
This commit is contained in:
parent
700f72f8e4
commit
a0ba10b62e
@ -28,6 +28,7 @@ Interface changes
|
||||
|
||||
--- mpv 0.38.0 ---
|
||||
- add `--volume-gain`, `--volume-gain-min`, and `--volume-gain-max` options
|
||||
- add `current-gpu-context` property
|
||||
- add `--secondary-sub-ass-override` option
|
||||
- remove shared-script-properties (user-data is a replacement)
|
||||
- add `--secondary-sub-delay`, decouple secondary subtitles from
|
||||
|
@ -3332,6 +3332,10 @@ Property list
|
||||
``current-vo``
|
||||
Current video output driver (name as used with ``--vo``).
|
||||
|
||||
``current-gpu-context``
|
||||
Current GPU context of video output driver (name as used with ``--gpu-context``).
|
||||
Valid for ``--vo=gpu`` and ``--vo=gpu-next``.
|
||||
|
||||
``current-ao``
|
||||
Current audio output driver (name as used with ``--ao``).
|
||||
|
||||
|
@ -2766,6 +2766,13 @@ static int mp_property_vo(void *ctx, struct m_property *p, int action, void *arg
|
||||
mpctx->video_out ? mpctx->video_out->driver->name : NULL);
|
||||
}
|
||||
|
||||
static int mp_property_gpu_context(void *ctx, struct m_property *p, int action, void *arg)
|
||||
{
|
||||
MPContext *mpctx = ctx;
|
||||
return m_property_strdup_ro(action, arg,
|
||||
mpctx->video_out ? mpctx->video_out->context_name : NULL);
|
||||
}
|
||||
|
||||
static int mp_property_osd_dim(void *ctx, struct m_property *prop,
|
||||
int action, void *arg)
|
||||
{
|
||||
@ -3923,6 +3930,7 @@ static const struct m_property mp_properties_base[] = {
|
||||
{"vo-passes", mp_property_vo_passes},
|
||||
{"perf-info", mp_property_perf_info},
|
||||
{"current-vo", mp_property_vo},
|
||||
{"current-gpu-context", mp_property_gpu_context},
|
||||
{"container-fps", mp_property_fps},
|
||||
{"estimated-vf-fps", mp_property_vf_fps},
|
||||
{"video-aspect-override", mp_property_video_aspect_override},
|
||||
|
@ -208,6 +208,7 @@ struct ra_ctx *ra_ctx_create(struct vo *vo, struct ra_ctx_opts opts)
|
||||
MP_VERBOSE(ctx, "Initializing GPU context '%s'\n", ctx->fns->name);
|
||||
if (contexts[i]->init(ctx)) {
|
||||
vo->probing = old_probing;
|
||||
vo->context_name = ctx->fns->name;
|
||||
return ctx;
|
||||
}
|
||||
|
||||
|
@ -494,6 +494,9 @@ struct vo {
|
||||
int dwidth;
|
||||
int dheight;
|
||||
float monitor_par;
|
||||
|
||||
// current GPU context (--vo=gpu and --vo=gpu-next only)
|
||||
const char *context_name;
|
||||
};
|
||||
|
||||
struct mpv_global;
|
||||
|
Loading…
Reference in New Issue
Block a user