From fdb9d219bbf25dde823cb9c1e9a7a7bb9344e5cc Mon Sep 17 00:00:00 2001 From: Luigi Santivetti Date: Tue, 22 Oct 2024 13:35:51 +0100 Subject: [PATCH] pvr: add support for U16U16U16 texture state format Add unsigned texture state format for R16G16B16_UINT necessary for some type of transfer operations, such as point filter and 48 bpp. For instance when the driver does a CopyBufferToImage and supports R16G16B16_SINT it will use R16G16B16_UINT for the memory transfer. Fix for deqp: dEQP-VK.pipeline.monolithic.sampler.view_type.1d.format.r16g16b16_sint.* Signed-off-by: Luigi Santivetti Acked-by: Erik Faye-Lund Part-of: --- src/imagination/vulkan/pvr_formats.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/imagination/vulkan/pvr_formats.c b/src/imagination/vulkan/pvr_formats.c index 67dd1651d20..ca359b4ec9a 100644 --- a/src/imagination/vulkan/pvr_formats.c +++ b/src/imagination/vulkan/pvr_formats.c @@ -175,6 +175,8 @@ static const struct pvr_format pvr_format_table[] = { FORMAT(R16G16_SFLOAT, F16F16, F16F16, F16), /* VK_FORMAT_R16G16B16_SNORM = 85. */ FORMAT(R16G16B16_SNORM, S16S16S16, S16S16S16, S16), + /* VK_FORMAT_R16G16B16_UINT = 88. */ + FORMAT(R16G16B16_UINT, U16U16U16, U16U16U16, UINT16), /* VK_FORMAT_R16G16B16_SINT = 89. */ FORMAT(R16G16B16_SINT, S16S16S16, S16S16S16, SINT16), /* VK_FORMAT_R16G16B16A16_UNORM = 91. */ @@ -291,6 +293,7 @@ static const struct pvr_tex_format_table_entry { /* 28 */ FORMAT(F16F16F16F16, NONE, R16G16B16A16_FLOAT), /* 29 */ FORMAT(U16U16U16U16, R16G16B16A16_UINT, R16G16B16A16_UNORM), /* 30 */ FORMAT(S16S16S16S16, R16G16B16A16_SINT, R16G16B16A16_SNORM), + /* 32 */ FORMAT(U16U16U16, R16G16B16_UINT, R16G16B16_UNORM), /* 33 */ FORMAT(S16S16S16, R16G16B16_SINT, R16G16B16_SNORM), /* 34 */ FORMAT(F32F32, NONE, R32G32_FLOAT), /* 35 */ FORMAT(U32U32, R32G32_UINT, R32G32_UNORM),