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 <luigi.santivetti@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
This commit is contained in:
Luigi Santivetti 2024-10-22 13:35:51 +01:00 committed by Marge Bot
parent 5700dd771d
commit fdb9d219bb

View file

@ -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),