panfrost: Add support for R3G3B2

Tested with texenv from mesa-demos.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4292>
This commit is contained in:
Icecream95 2020-03-24 13:25:19 +13:00 committed by Marge Bot
parent 49a81a431e
commit bd87bcb8ac
4 changed files with 9 additions and 1 deletions

View File

@ -461,7 +461,9 @@ panfrost_is_format_supported( struct pipe_screen *screen,
if (format == PIPE_FORMAT_X8Z24_UNORM)
return false;
if (format == PIPE_FORMAT_A1B5G5R5_UNORM || format == PIPE_FORMAT_X1B5G5R5_UNORM)
if (format == PIPE_FORMAT_A1B5G5R5_UNORM ||
format == PIPE_FORMAT_X1B5G5R5_UNORM ||
format == PIPE_FORMAT_B2G3R3_UNORM)
return false;
/* TODO */

View File

@ -124,6 +124,9 @@ panfrost_find_format(const struct util_format_description *desc)
/* Z32F = R32F to the hardware */
return MALI_R32F;
case PIPE_FORMAT_R3G3B2_UNORM:
return MALI_RGB332_UNORM;
case PIPE_FORMAT_B5G6R5_UNORM:
return MALI_RGB565;

View File

@ -294,6 +294,8 @@ enum mali_format {
MALI_RGB10_A2UI = MALI_FORMAT_SPECIAL | 0x7,
MALI_RGB10_A2I = MALI_FORMAT_SPECIAL | 0x9,
MALI_RGB332_UNORM = MALI_FORMAT_SPECIAL | 0xb,
/* YUV formats */
MALI_NV12 = MALI_FORMAT_SPECIAL | 0xc,

View File

@ -52,6 +52,7 @@ char *pandecode_format(enum mali_format format)
DEFINE_CASE(RGB10_A2_SNORM);
DEFINE_CASE(RGB10_A2UI);
DEFINE_CASE(RGB10_A2I);
DEFINE_CASE(RGB332_UNORM);
DEFINE_CASE(NV12);
DEFINE_CASE(Z32_UNORM);
DEFINE_CASE(R32_FIXED);