mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 03:00:24 +01:00
panfrost: RGBA4 and RGB5_A1 framebuffer support
Tested with fbo_firecube. Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5573>
This commit is contained in:
parent
b96d4449f4
commit
9630012060
3 changed files with 6 additions and 0 deletions
|
|
@ -74,6 +74,7 @@ panfrost_mfbd_format(struct pipe_surface *surf)
|
|||
|
||||
case PIPE_FORMAT_A4B4G4R4_UNORM:
|
||||
case PIPE_FORMAT_B4G4R4A4_UNORM:
|
||||
case PIPE_FORMAT_R4G4B4A4_UNORM:
|
||||
fmt.unk1 = 0x10000000;
|
||||
fmt.unk3 = 0x5;
|
||||
fmt.nr_channels = MALI_POSITIVE(1);
|
||||
|
|
@ -89,6 +90,7 @@ panfrost_mfbd_format(struct pipe_surface *surf)
|
|||
break;
|
||||
|
||||
case PIPE_FORMAT_B5G5R5A1_UNORM:
|
||||
case PIPE_FORMAT_R5G5B5A1_UNORM:
|
||||
case PIPE_FORMAT_B5G5R5X1_UNORM:
|
||||
fmt.unk1 = 0x18000000;
|
||||
fmt.unk3 = 0x7;
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ panfrost_sfbd_format(struct pipe_surface *surf)
|
|||
|
||||
case PIPE_FORMAT_A4B4G4R4_UNORM:
|
||||
case PIPE_FORMAT_B4G4R4A4_UNORM:
|
||||
case PIPE_FORMAT_R4G4B4A4_UNORM:
|
||||
fmt.unk1 = 0x4;
|
||||
fmt.nr_channels = MALI_POSITIVE(1);
|
||||
fmt.unk2 = 0x5;
|
||||
|
|
|
|||
|
|
@ -506,6 +506,7 @@ pan_is_unorm4(const struct util_format_description *desc)
|
|||
case PIPE_FORMAT_A4R4_UNORM:
|
||||
case PIPE_FORMAT_R4A4_UNORM:
|
||||
case PIPE_FORMAT_A4B4G4R4_UNORM:
|
||||
case PIPE_FORMAT_R4G4B4A4_UNORM:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
|
@ -545,6 +546,7 @@ pan_unpack(nir_builder *b,
|
|||
|
||||
switch (desc->format) {
|
||||
case PIPE_FORMAT_B5G5R5A1_UNORM:
|
||||
case PIPE_FORMAT_R5G5B5A1_UNORM:
|
||||
return pan_unpack_unorm_5551(b, packed);
|
||||
case PIPE_FORMAT_B5G6R5_UNORM:
|
||||
return pan_unpack_unorm_565(b, packed);
|
||||
|
|
@ -597,6 +599,7 @@ pan_pack(nir_builder *b,
|
|||
|
||||
switch (desc->format) {
|
||||
case PIPE_FORMAT_B5G5R5A1_UNORM:
|
||||
case PIPE_FORMAT_R5G5B5A1_UNORM:
|
||||
return pan_pack_unorm_5551(b, unpacked);
|
||||
case PIPE_FORMAT_B5G6R5_UNORM:
|
||||
return pan_pack_unorm_565(b, unpacked);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue