From 244cae1a329b9e0d9dcd6de9e625022b1afdd2b6 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Tue, 15 Jul 2025 11:56:28 +0200 Subject: [PATCH] etnaviv: Add 128 bit format helper TODO: maybe use more util_format helpers, to get rid of hardcoded list. Signed-off-by: Christian Gmeiner Part-of: --- src/gallium/drivers/etnaviv/etnaviv_format.h | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/gallium/drivers/etnaviv/etnaviv_format.h b/src/gallium/drivers/etnaviv/etnaviv_format.h index 0aaa4ad6e5e..11f106a0e89 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_format.h +++ b/src/gallium/drivers/etnaviv/etnaviv_format.h @@ -59,4 +59,32 @@ translate_pe_format_rb_swap(enum pipe_format fmt); uint32_t translate_vertex_format_type(enum pipe_format fmt); +static inline enum pipe_format +translate_format_128bit_to_64bit(enum pipe_format fmt) +{ + switch (fmt) { + case PIPE_FORMAT_R32G32B32A32_FLOAT: + return PIPE_FORMAT_R32G32_FLOAT; + case PIPE_FORMAT_R32G32B32A32_SINT: + return PIPE_FORMAT_R32G32_SINT; + case PIPE_FORMAT_R32G32B32A32_UINT: + return PIPE_FORMAT_R32G32_UINT; + default: + return fmt; + } +} + +static inline bool +format_is_128bit(enum pipe_format fmt) +{ + switch (fmt) { + case PIPE_FORMAT_R32G32B32A32_FLOAT: + case PIPE_FORMAT_R32G32B32A32_SINT: + case PIPE_FORMAT_R32G32B32A32_UINT: + return true; + default: + return false; + } +} + #endif /* ETNAVIV_FORMAT_H_ */