1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-09 16:37:24 +00:00

vo_opengl: hwdec_dxva2egl: probe whether ANGLE mapping works

With some newer ANGLE builds, mapping can fail with "Failed to create
EGL surface" during playback. The reason is unknown, and it might just
be an ANGLE bug. Probe whether it works at init time to avoid the
problem.
This commit is contained in:
wm4 2017-07-10 15:23:13 +02:00
parent ba921e2617
commit 02468dcbde

View File

@ -91,6 +91,8 @@ static void destroy(struct gl_hwdec *hw)
IDirect3D9Ex_Release(p->d3d9ex);
}
static int reinit(struct gl_hwdec *hw, struct mp_image_params *params);
static int create(struct gl_hwdec *hw)
{
if (!angle_load())
@ -207,6 +209,16 @@ static int create(struct gl_hwdec *hw)
goto fail;
}
struct mp_image_params dummy_params = {
.imgfmt = IMGFMT_DXVA2,
.w = 256,
.h = 256,
};
if (reinit(hw, &dummy_params) < 0)
goto fail;
destroy_textures(hw);
p->hwctx = (struct mp_hwdec_ctx){
.type = HWDEC_DXVA2,
.driver_name = hw->driver->name,