st/vdpau: Use output buffer as back buffer with 24-bit color only

Using output buffer with 8 bits video RGB as back buffer
certainly is not working for 30 bits color depth visual.

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
Leo Liu 2018-09-07 09:26:08 -04:00
parent 4d8ec12f03
commit cb63e5d1eb
1 changed files with 2 additions and 1 deletions

View File

@ -80,7 +80,8 @@ vlVdpOutputSurfaceCreate(VdpDevice device,
* if the VDPAU RGB component order doesn't match the X11 one so
* we only allow the X11 format
*/
vlsurface->send_to_X = rgba_format == VDP_RGBA_FORMAT_B8G8R8A8;
vlsurface->send_to_X = dev->vscreen->color_depth == 24 &&
rgba_format == VDP_RGBA_FORMAT_B8G8R8A8;
res_tmpl.target = PIPE_TEXTURE_2D;
res_tmpl.format = VdpFormatRGBAToPipe(rgba_format);