util/u_format: don't crash in util_format_translate if we can't do translation
authorRoland Scheidegger <sroland@vmware.com>
Thu, 27 Feb 2014 16:35:08 +0000 (17:35 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Thu, 27 Feb 2014 16:56:10 +0000 (17:56 +0100)
commit612a1d5be1e8e21bceb28ebd77c3b25b72576394
treebbf88385c4a2528223fcce4d3dbe7583b7f90ea3
parent80c1b9349c861cc023c4f25c329a3c0ed4695b9e
util/u_format: don't crash in util_format_translate if we can't do translation

Some formats can't be handled - in particular cannot handle ints/uints formats,
which lack the pack_rgba_float/unpack_rgba_float functions. Instead of trying
to call these (and crash) return an error (I'm not sure yet if we should try
to translate such formats too here might not make much sense).

v2: suggested by Jose, use separate checks for pack/unpack of rgba_8unorm and
rgba_float functions (right now if one exists the other should as well).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/util/u_format.c
src/gallium/auxiliary/util/u_format.h