return BadAlloc;
/* TODO: Reuse screen if process creates another context */
- vscreen = vl_dri2_screen_create(dpy, scrn);
+ vscreen = vl_dri3_screen_create(dpy, scrn);
+ if (!vscreen)
+ vscreen = vl_dri2_screen_create(dpy, scrn);
if (!vscreen) {
XVMC_MSG(XVMC_ERR, "[XvMC] Could not create VL screen.\n");
return BadAlloc;
}
- pipe = vscreen->pscreen->context_create(vscreen->pscreen, vscreen, 0);
+ pipe = vscreen->pscreen->context_create(vscreen->pscreen, NULL, 0);
if (!pipe) {
XVMC_MSG(XVMC_ERR, "[XvMC] Could not create VL context.\n");
vscreen->destroy(vscreen);
context_priv->color_standard,
&context_priv->procamp, true, &csc
);
- vl_compositor_set_csc_matrix(&context_priv->cstate, (const vl_csc_matrix *)&csc);
+ vl_compositor_set_csc_matrix(&context_priv->cstate, (const vl_csc_matrix *)&csc, 1.0f, 0.0f);
context_priv->vscreen = vscreen;
context_priv->pipe = pipe;