gbm: convert gbm bo format to fourcc format on dma-buf import
authorRay Strode <rstrode@redhat.com>
Fri, 28 Aug 2015 18:50:21 +0000 (14:50 -0400)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 15 Sep 2015 11:27:45 +0000 (12:27 +0100)
commit4bf151e66279da00655cec02aadb52c9c6583213
tree426a0c90609ab273317cc4fbab970ea6cb238d7f
parenta26e82b81dc3cebf13c8fd418d87977f2ab2dbb5
gbm: convert gbm bo format to fourcc format on dma-buf import

At the moment if a gbm buffer is imported and the gbm buffer
has an old-style GBM_BO_FORMAT format, the import will crash,
since it's passed directly to DRI functions that expect
a fourcc format (as provided by the newer GBM_FORMAT
definitions)

This commit addresses the problem in two ways:

1) it prevents invalid formats from leading to a crash by
returning EINVAL if the image couldn't be created

2) it translates GBM_BO_FORMAT formats into the comparable
GBM_FORMAT formats.

Reference: https://bugzilla.gnome.org/show_bug.cgi?id=753531
CC: "10.6 11.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
src/gbm/backends/dri/gbm_dri.c