mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-27 14:10:25 +01:00
pvr: Convert format table to indexing with pipe_format
This simplifies adding extension formats later down the line. Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39214>
This commit is contained in:
parent
0b4398134c
commit
0f0938ed2e
2 changed files with 124 additions and 121 deletions
|
|
@ -50,7 +50,7 @@
|
|||
#define FLAGS__T_Z (_T | _Z)
|
||||
|
||||
#define FORMAT(vk, tex_fmt, bind_) \
|
||||
[VK_FORMAT_##vk] = { \
|
||||
[PIPE_FORMAT_##vk] = { \
|
||||
.tex_format = ROGUE_TEXSTATE_FORMAT_##tex_fmt, \
|
||||
.depth_tex_format = ROGUE_TEXSTATE_FORMAT_INVALID, \
|
||||
.stencil_tex_format = ROGUE_TEXSTATE_FORMAT_INVALID, \
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
}
|
||||
|
||||
#define FORMAT_COMPRESSED(vk, tex_fmt) \
|
||||
[VK_FORMAT_##vk] = { \
|
||||
[PIPE_FORMAT_##vk] = { \
|
||||
.tex_format = ROGUE_TEXSTATE_FORMAT_COMPRESSED_##tex_fmt, \
|
||||
.depth_tex_format = ROGUE_TEXSTATE_FORMAT_INVALID, \
|
||||
.stencil_tex_format = ROGUE_TEXSTATE_FORMAT_INVALID, \
|
||||
|
|
@ -66,7 +66,7 @@
|
|||
}
|
||||
|
||||
#define FORMAT_DEPTH_STENCIL(vk, combined_fmt, d_fmt, s_fmt) \
|
||||
[VK_FORMAT_##vk] = { \
|
||||
[PIPE_FORMAT_##vk] = { \
|
||||
.tex_format = ROGUE_TEXSTATE_FORMAT_##combined_fmt, \
|
||||
.depth_tex_format = ROGUE_TEXSTATE_FORMAT_##d_fmt, \
|
||||
.stencil_tex_format = ROGUE_TEXSTATE_FORMAT_##s_fmt, \
|
||||
|
|
@ -75,86 +75,86 @@
|
|||
|
||||
/* clang-format off */
|
||||
static const struct pvr_format pvr_format_table[] = {
|
||||
FORMAT(B4G4R4A4_UNORM_PACK16, A4R4G4B4, VTR_),
|
||||
FORMAT(R5G6B5_UNORM_PACK16, R5G6B5, VTR_),
|
||||
FORMAT(A1R5G5B5_UNORM_PACK16, A1R5G5B5, VTR_),
|
||||
FORMAT(R8_UNORM, U8, VTRI),
|
||||
FORMAT(R8_SNORM, S8, VTRI),
|
||||
FORMAT(R8_UINT, U8, VTRI),
|
||||
FORMAT(R8_SINT, S8, VTRI),
|
||||
FORMAT(R8G8_UNORM, U8U8, VTRI),
|
||||
FORMAT(R8G8_SNORM, S8S8, VTRI),
|
||||
FORMAT(R8G8_SSCALED, S8S8, V___),
|
||||
FORMAT(R8G8_UINT, U8U8, VTRI),
|
||||
FORMAT(R8G8_SINT, S8S8, VTRI),
|
||||
FORMAT(R8G8B8_UINT, U8U8U8, VTR_),
|
||||
FORMAT(R8G8B8A8_UNORM, U8U8U8U8, VTRI),
|
||||
FORMAT(R8G8B8A8_SNORM, S8S8S8S8, VTRI),
|
||||
FORMAT(R8G8B8A8_UINT, U8U8U8U8, VTRI),
|
||||
FORMAT(R8G8B8A8_SINT, S8S8S8S8, VTRI),
|
||||
FORMAT(R8G8B8A8_SRGB, U8U8U8U8, _TR_),
|
||||
FORMAT(B8G8R8A8_UNORM, U8U8U8U8, VTR_),
|
||||
FORMAT(B8G8R8A8_SRGB, U8U8U8U8, _TR_),
|
||||
FORMAT(A8B8G8R8_UNORM_PACK32, U8U8U8U8, VTR_),
|
||||
FORMAT(A8B8G8R8_SNORM_PACK32, S8S8S8S8, VTR_),
|
||||
FORMAT(A8B8G8R8_UINT_PACK32, U8U8U8U8, VTR_),
|
||||
FORMAT(A8B8G8R8_SINT_PACK32, S8S8S8S8, VTR_),
|
||||
FORMAT(A8B8G8R8_SRGB_PACK32, U8U8U8U8, _TR_),
|
||||
FORMAT(A2R10G10B10_USCALED_PACK32, INVALID, V___),
|
||||
FORMAT(A2R10G10B10_SSCALED_PACK32, INVALID, V___),
|
||||
FORMAT(A2B10G10R10_UNORM_PACK32, A2R10B10G10, VTRI),
|
||||
FORMAT(A2B10G10R10_SNORM_PACK32, A2R10B10G10, V___),
|
||||
FORMAT(A2B10G10R10_USCALED_PACK32, INVALID, V___),
|
||||
FORMAT(A2B10G10R10_SSCALED_PACK32, INVALID, V___),
|
||||
FORMAT(A2B10G10R10_UINT_PACK32, A2R10B10G10, VTRI),
|
||||
FORMAT(R16_UNORM, U16, VTRI),
|
||||
FORMAT(R16_SNORM, S16, VTRI),
|
||||
FORMAT(R16_UINT, U16, VTRI),
|
||||
FORMAT(R16_SINT, S16, VTRI),
|
||||
FORMAT(R16_SFLOAT, F16, VTRI),
|
||||
FORMAT(R16G16_UNORM, U16U16, VTRI),
|
||||
FORMAT(R16G16_SNORM, S16S16, VTRI),
|
||||
FORMAT(R16G16_UINT, U16U16, VTRI),
|
||||
FORMAT(R16G16_SINT, S16S16, VTRI),
|
||||
FORMAT(R16G16_SFLOAT, F16F16, VTRI),
|
||||
FORMAT(R16G16B16_SNORM, S16S16S16, VTR_),
|
||||
FORMAT(R16G16B16_UINT, U16U16U16, VTR_),
|
||||
FORMAT(R16G16B16_SINT, S16S16S16, VTR_),
|
||||
FORMAT(R16G16B16A16_UNORM, U16U16U16U16, VTRI),
|
||||
FORMAT(R16G16B16A16_SNORM, S16S16S16S16, VTRI),
|
||||
FORMAT(R16G16B16A16_UINT, U16U16U16U16, VTRI),
|
||||
FORMAT(R16G16B16A16_SINT, S16S16S16S16, VTRI),
|
||||
FORMAT(R16G16B16A16_SFLOAT, F16F16F16F16, VTRI),
|
||||
FORMAT(R32_UINT, U32, VTRI),
|
||||
FORMAT(R32_SINT, S32, VTRI),
|
||||
FORMAT(R32_SFLOAT, F32, VTRI),
|
||||
FORMAT(R32G32_UINT, U32U32, VTRI),
|
||||
FORMAT(R32G32_SINT, S32S32, VTRI),
|
||||
FORMAT(R32G32_SFLOAT, F32F32, VTRI),
|
||||
FORMAT(R32G32B32_UINT, U32U32U32, VTR_),
|
||||
FORMAT(R32G32B32_SINT, S32S32S32, VTR_),
|
||||
FORMAT(R32G32B32_SFLOAT, F32F32F32, VTR_),
|
||||
FORMAT(R32G32B32A32_UINT, U32U32U32U32, VTRI),
|
||||
FORMAT(R32G32B32A32_SINT, S32S32S32S32, VTRI),
|
||||
FORMAT(R32G32B32A32_SFLOAT, F32F32F32F32, VTRI),
|
||||
FORMAT(B10G11R11_UFLOAT_PACK32, F10F11F11, _TRI),
|
||||
FORMAT(E5B9G9R9_UFLOAT_PACK32, SE9995, VT__),
|
||||
FORMAT_DEPTH_STENCIL(D16_UNORM, U16, U16, INVALID),
|
||||
FORMAT_DEPTH_STENCIL(X8_D24_UNORM_PACK32, X8U24, X8U24, INVALID),
|
||||
FORMAT_DEPTH_STENCIL(D32_SFLOAT, F32, F32, INVALID),
|
||||
FORMAT(A4R4G4B4_UNORM, A4R4G4B4, VTR_),
|
||||
FORMAT(B5G6R5_UNORM, R5G6B5, VTR_),
|
||||
FORMAT(B5G5R5A1_UNORM, A1R5G5B5, VTR_),
|
||||
FORMAT(R8_UNORM, U8, VTRI),
|
||||
FORMAT(R8_SNORM, S8, VTRI),
|
||||
FORMAT(R8_UINT, U8, VTRI),
|
||||
FORMAT(R8_SINT, S8, VTRI),
|
||||
FORMAT(R8G8_UNORM, U8U8, VTRI),
|
||||
FORMAT(R8G8_SNORM, S8S8, VTRI),
|
||||
FORMAT(R8G8_SSCALED, S8S8, V___),
|
||||
FORMAT(R8G8_UINT, U8U8, VTRI),
|
||||
FORMAT(R8G8_SINT, S8S8, VTRI),
|
||||
FORMAT(R8G8B8_UINT, U8U8U8, VTR_),
|
||||
FORMAT(R8G8B8A8_UNORM, U8U8U8U8, VTRI),
|
||||
FORMAT(R8G8B8A8_SNORM, S8S8S8S8, VTRI),
|
||||
FORMAT(R8G8B8A8_UINT, U8U8U8U8, VTRI),
|
||||
FORMAT(R8G8B8A8_SINT, S8S8S8S8, VTRI),
|
||||
FORMAT(R8G8B8A8_SRGB, U8U8U8U8, _TR_),
|
||||
FORMAT(B8G8R8A8_UNORM, U8U8U8U8, VTR_),
|
||||
FORMAT(B8G8R8A8_SRGB, U8U8U8U8, _TR_),
|
||||
FORMAT(A8B8G8R8_UNORM, U8U8U8U8, VTR_),
|
||||
FORMAT(A8B8G8R8_SNORM, S8S8S8S8, VTR_),
|
||||
FORMAT(A8B8G8R8_UINT, U8U8U8U8, VTR_),
|
||||
FORMAT(A8B8G8R8_SINT, S8S8S8S8, VTR_),
|
||||
FORMAT(A8B8G8R8_SRGB, U8U8U8U8, _TR_),
|
||||
FORMAT(B10G10R10A2_USCALED, INVALID, V___),
|
||||
FORMAT(B10G10R10A2_SSCALED, INVALID, V___),
|
||||
FORMAT(R10G10B10A2_UNORM, A2R10B10G10, VTRI),
|
||||
FORMAT(R10G10B10A2_SNORM, A2R10B10G10, V___),
|
||||
FORMAT(R10G10B10A2_USCALED, INVALID, V___),
|
||||
FORMAT(R10G10B10A2_SSCALED, INVALID, V___),
|
||||
FORMAT(R10G10B10A2_UINT, A2R10B10G10, VTRI),
|
||||
FORMAT(R16_UNORM, U16, VTRI),
|
||||
FORMAT(R16_SNORM, S16, VTRI),
|
||||
FORMAT(R16_UINT, U16, VTRI),
|
||||
FORMAT(R16_SINT, S16, VTRI),
|
||||
FORMAT(R16_FLOAT, F16, VTRI),
|
||||
FORMAT(R16G16_UNORM, U16U16, VTRI),
|
||||
FORMAT(R16G16_SNORM, S16S16, VTRI),
|
||||
FORMAT(R16G16_UINT, U16U16, VTRI),
|
||||
FORMAT(R16G16_SINT, S16S16, VTRI),
|
||||
FORMAT(R16G16_FLOAT, F16F16, VTRI),
|
||||
FORMAT(R16G16B16_SNORM, S16S16S16, VTR_),
|
||||
FORMAT(R16G16B16_UINT, U16U16U16, VTR_),
|
||||
FORMAT(R16G16B16_SINT, S16S16S16, VTR_),
|
||||
FORMAT(R16G16B16A16_UNORM, U16U16U16U16, VTRI),
|
||||
FORMAT(R16G16B16A16_SNORM, S16S16S16S16, VTRI),
|
||||
FORMAT(R16G16B16A16_UINT, U16U16U16U16, VTRI),
|
||||
FORMAT(R16G16B16A16_SINT, S16S16S16S16, VTRI),
|
||||
FORMAT(R16G16B16A16_FLOAT, F16F16F16F16, VTRI),
|
||||
FORMAT(R32_UINT, U32, VTRI),
|
||||
FORMAT(R32_SINT, S32, VTRI),
|
||||
FORMAT(R32_FLOAT, F32, VTRI),
|
||||
FORMAT(R32G32_UINT, U32U32, VTRI),
|
||||
FORMAT(R32G32_SINT, S32S32, VTRI),
|
||||
FORMAT(R32G32_FLOAT, F32F32, VTRI),
|
||||
FORMAT(R32G32B32_UINT, U32U32U32, VTR_),
|
||||
FORMAT(R32G32B32_SINT, S32S32S32, VTR_),
|
||||
FORMAT(R32G32B32_FLOAT, F32F32F32, VTR_),
|
||||
FORMAT(R32G32B32A32_UINT, U32U32U32U32, VTRI),
|
||||
FORMAT(R32G32B32A32_SINT, S32S32S32S32, VTRI),
|
||||
FORMAT(R32G32B32A32_FLOAT, F32F32F32F32, VTRI),
|
||||
FORMAT(R11G11B10_FLOAT, F10F11F11, _TRI),
|
||||
FORMAT(R9G9B9E5_FLOAT, SE9995, VT__),
|
||||
FORMAT_DEPTH_STENCIL(Z16_UNORM, U16, U16, INVALID),
|
||||
FORMAT_DEPTH_STENCIL(Z24X8_UNORM, X8U24, X8U24, INVALID),
|
||||
FORMAT_DEPTH_STENCIL(Z32_FLOAT, F32, F32, INVALID),
|
||||
FORMAT_DEPTH_STENCIL(S8_UINT, U8, INVALID, U8),
|
||||
FORMAT_DEPTH_STENCIL(D24_UNORM_S8_UINT, ST8U24, X8U24, U8X24),
|
||||
FORMAT_DEPTH_STENCIL(D32_SFLOAT_S8_UINT, X24U8F32, X24X8F32, X24G8X32),
|
||||
FORMAT_COMPRESSED(ETC2_R8G8B8_UNORM_BLOCK, ETC2_RGB),
|
||||
FORMAT_COMPRESSED(ETC2_R8G8B8_SRGB_BLOCK, ETC2_RGB),
|
||||
FORMAT_COMPRESSED(ETC2_R8G8B8A1_UNORM_BLOCK, ETC2_PUNCHTHROUGHA),
|
||||
FORMAT_COMPRESSED(ETC2_R8G8B8A1_SRGB_BLOCK, ETC2_PUNCHTHROUGHA),
|
||||
FORMAT_COMPRESSED(ETC2_R8G8B8A8_UNORM_BLOCK, ETC2A_RGBA),
|
||||
FORMAT_COMPRESSED(ETC2_R8G8B8A8_SRGB_BLOCK, ETC2A_RGBA),
|
||||
FORMAT_COMPRESSED(EAC_R11_UNORM_BLOCK, EAC_R11_UNSIGNED),
|
||||
FORMAT_COMPRESSED(EAC_R11_SNORM_BLOCK, EAC_R11_SIGNED),
|
||||
FORMAT_COMPRESSED(EAC_R11G11_UNORM_BLOCK, EAC_RG11_UNSIGNED),
|
||||
FORMAT_COMPRESSED(EAC_R11G11_SNORM_BLOCK, EAC_RG11_SIGNED),
|
||||
FORMAT_DEPTH_STENCIL(Z24_UNORM_S8_UINT, ST8U24, X8U24, U8X24),
|
||||
FORMAT_DEPTH_STENCIL(Z32_FLOAT_S8X24_UINT, X24U8F32, X24X8F32, X24G8X32),
|
||||
FORMAT_COMPRESSED(ETC2_RGB8, ETC2_RGB),
|
||||
FORMAT_COMPRESSED(ETC2_SRGB8, ETC2_RGB),
|
||||
FORMAT_COMPRESSED(ETC2_RGB8A1, ETC2_PUNCHTHROUGHA),
|
||||
FORMAT_COMPRESSED(ETC2_SRGB8A1, ETC2_PUNCHTHROUGHA),
|
||||
FORMAT_COMPRESSED(ETC2_RGBA8, ETC2A_RGBA),
|
||||
FORMAT_COMPRESSED(ETC2_SRGBA8, ETC2A_RGBA),
|
||||
FORMAT_COMPRESSED(ETC2_R11_UNORM, EAC_R11_UNSIGNED),
|
||||
FORMAT_COMPRESSED(ETC2_R11_SNORM, EAC_R11_SIGNED),
|
||||
FORMAT_COMPRESSED(ETC2_RG11_UNORM, EAC_RG11_UNSIGNED),
|
||||
FORMAT_COMPRESSED(ETC2_RG11_SNORM, EAC_RG11_SIGNED),
|
||||
};
|
||||
/* clang-format on */
|
||||
|
||||
|
|
@ -163,13 +163,13 @@ static const struct pvr_format pvr_format_table[] = {
|
|||
#undef FORMAT_COMPRESSED
|
||||
|
||||
#define FORMAT(vk, pack_mode_, accum_format_) \
|
||||
[VK_FORMAT_##vk] = { \
|
||||
[PIPE_FORMAT_##vk] = { \
|
||||
.packmode = ROGUE_PBESTATE_PACKMODE_##pack_mode_, \
|
||||
.accum_format = PVR_PBE_ACCUM_FORMAT_##accum_format_, \
|
||||
}
|
||||
|
||||
#define FORMAT_DEPTH_STENCIL(vk, combined_fmt) \
|
||||
[VK_FORMAT_##vk] = { \
|
||||
[PIPE_FORMAT_##vk] = { \
|
||||
.packmode = ROGUE_PBESTATE_PACKMODE_##combined_fmt, \
|
||||
.accum_format = PVR_PBE_ACCUM_FORMAT_INVALID, \
|
||||
}
|
||||
|
|
@ -180,9 +180,9 @@ struct pvr_pbe_format {
|
|||
};
|
||||
|
||||
static const struct pvr_pbe_format pvr_pbe_format_table[] = {
|
||||
FORMAT(B4G4R4A4_UNORM_PACK16, A4R4G4B4, U8),
|
||||
FORMAT(R5G6B5_UNORM_PACK16, R5G6B5, U8),
|
||||
FORMAT(A1R5G5B5_UNORM_PACK16, A1R5G5B5, U8),
|
||||
FORMAT(B4G4R4A4_UNORM, A4R4G4B4, U8),
|
||||
FORMAT(R5G6B5_UNORM, R5G6B5, U8),
|
||||
FORMAT(A1R5G5B5_UNORM, A1R5G5B5, U8),
|
||||
FORMAT(R8_UNORM, U8, U8),
|
||||
FORMAT(R8_SNORM, S8, S8),
|
||||
FORMAT(R8_UINT, U8, UINT8),
|
||||
|
|
@ -200,28 +200,28 @@ static const struct pvr_pbe_format pvr_pbe_format_table[] = {
|
|||
FORMAT(R8G8B8A8_SRGB, U8U8U8U8, F16),
|
||||
FORMAT(B8G8R8A8_UNORM, U8U8U8U8, U8),
|
||||
FORMAT(B8G8R8A8_SRGB, U8U8U8U8, F16),
|
||||
FORMAT(A8B8G8R8_UNORM_PACK32, U8U8U8U8, U8),
|
||||
FORMAT(A8B8G8R8_SNORM_PACK32, S8S8S8S8, S8),
|
||||
FORMAT(A8B8G8R8_UINT_PACK32, U8U8U8U8, UINT8),
|
||||
FORMAT(A8B8G8R8_SINT_PACK32, S8S8S8S8, SINT8),
|
||||
FORMAT(A8B8G8R8_SRGB_PACK32, U8U8U8U8, F16),
|
||||
FORMAT(A2R10G10B10_USCALED_PACK32, INVALID, INVALID),
|
||||
FORMAT(A2R10G10B10_SSCALED_PACK32, INVALID, INVALID),
|
||||
FORMAT(A2B10G10R10_UNORM_PACK32, A2R10B10G10, F16),
|
||||
FORMAT(A2B10G10R10_SNORM_PACK32, A2R10B10G10, F16),
|
||||
FORMAT(A2B10G10R10_USCALED_PACK32, INVALID, INVALID),
|
||||
FORMAT(A2B10G10R10_SSCALED_PACK32, INVALID, INVALID),
|
||||
FORMAT(A2B10G10R10_UINT_PACK32, U32, U1010102),
|
||||
FORMAT(A8B8G8R8_UNORM, U8U8U8U8, U8),
|
||||
FORMAT(A8B8G8R8_SNORM, S8S8S8S8, S8),
|
||||
FORMAT(A8B8G8R8_UINT, U8U8U8U8, UINT8),
|
||||
FORMAT(A8B8G8R8_SINT, S8S8S8S8, SINT8),
|
||||
FORMAT(A8B8G8R8_SRGB, U8U8U8U8, F16),
|
||||
FORMAT(B10G10R10A2_USCALED, INVALID, INVALID),
|
||||
FORMAT(B10G10R10A2_SSCALED, INVALID, INVALID),
|
||||
FORMAT(R10G10B10A2_UNORM, A2R10B10G10, F16),
|
||||
FORMAT(R10G10B10A2_SNORM, A2R10B10G10, F16),
|
||||
FORMAT(R10G10B10A2_USCALED, INVALID, INVALID),
|
||||
FORMAT(R10G10B10A2_SSCALED, INVALID, INVALID),
|
||||
FORMAT(R10G10B10A2_UINT, U32, U1010102),
|
||||
FORMAT(R16_UNORM, U16, U16),
|
||||
FORMAT(R16_SNORM, S16, S16),
|
||||
FORMAT(R16_UINT, U16, UINT16),
|
||||
FORMAT(R16_SINT, S16, SINT16),
|
||||
FORMAT(R16_SFLOAT, F16, F16),
|
||||
FORMAT(R16_FLOAT, F16, F16),
|
||||
FORMAT(R16G16_UNORM, U16U16, U16),
|
||||
FORMAT(R16G16_SNORM, S16S16, S16),
|
||||
FORMAT(R16G16_UINT, U16U16, UINT16),
|
||||
FORMAT(R16G16_SINT, S16S16, SINT16),
|
||||
FORMAT(R16G16_SFLOAT, F16F16, F16),
|
||||
FORMAT(R16G16_FLOAT, F16F16, F16),
|
||||
FORMAT(R16G16B16_SNORM, S16S16S16, S16),
|
||||
FORMAT(R16G16B16_UINT, U16U16U16, UINT16),
|
||||
FORMAT(R16G16B16_SINT, S16S16S16, SINT16),
|
||||
|
|
@ -229,27 +229,27 @@ static const struct pvr_pbe_format pvr_pbe_format_table[] = {
|
|||
FORMAT(R16G16B16A16_SNORM, S16S16S16S16, S16),
|
||||
FORMAT(R16G16B16A16_UINT, U16U16U16U16, UINT16),
|
||||
FORMAT(R16G16B16A16_SINT, S16S16S16S16, SINT16),
|
||||
FORMAT(R16G16B16A16_SFLOAT, F16F16F16F16, F16),
|
||||
FORMAT(R16G16B16A16_FLOAT, F16F16F16F16, F16),
|
||||
FORMAT(R32_UINT, U32, UINT32),
|
||||
FORMAT(R32_SINT, S32, SINT32),
|
||||
FORMAT(R32_SFLOAT, F32, F32),
|
||||
FORMAT(R32_FLOAT, F32, F32),
|
||||
FORMAT(R32G32_UINT, U32U32, UINT32),
|
||||
FORMAT(R32G32_SINT, S32S32, SINT32),
|
||||
FORMAT(R32G32_SFLOAT, F32F32, F32),
|
||||
FORMAT(R32G32_FLOAT, F32F32, F32),
|
||||
FORMAT(R32G32B32_UINT, U32U32U32, UINT32),
|
||||
FORMAT(R32G32B32_SINT, S32S32S32, SINT32),
|
||||
FORMAT(R32G32B32_SFLOAT, F32F32F32, F32),
|
||||
FORMAT(R32G32B32_FLOAT, F32F32F32, F32),
|
||||
FORMAT(R32G32B32A32_UINT, U32U32U32U32, UINT32),
|
||||
FORMAT(R32G32B32A32_SINT, S32S32S32S32, SINT32),
|
||||
FORMAT(R32G32B32A32_SFLOAT, F32F32F32F32, F32),
|
||||
FORMAT(B10G11R11_UFLOAT_PACK32, F10F11F11, F16),
|
||||
FORMAT(E5B9G9R9_UFLOAT_PACK32, SE9995, INVALID),
|
||||
FORMAT_DEPTH_STENCIL(D16_UNORM, U16),
|
||||
FORMAT_DEPTH_STENCIL(X8_D24_UNORM_PACK32, X8U24),
|
||||
FORMAT_DEPTH_STENCIL(D32_SFLOAT, F32),
|
||||
FORMAT(R32G32B32A32_FLOAT, F32F32F32F32, F32),
|
||||
FORMAT(R11G11B10_FLOAT, F10F11F11, F16),
|
||||
FORMAT(R9G9B9E5_FLOAT, SE9995, INVALID),
|
||||
FORMAT_DEPTH_STENCIL(Z16_UNORM, U16),
|
||||
FORMAT_DEPTH_STENCIL(Z24X8_UNORM, X8U24),
|
||||
FORMAT_DEPTH_STENCIL(Z32_FLOAT, F32),
|
||||
FORMAT_DEPTH_STENCIL(S8_UINT, U8),
|
||||
FORMAT_DEPTH_STENCIL(D24_UNORM_S8_UINT, ST8U24),
|
||||
FORMAT_DEPTH_STENCIL(D32_SFLOAT_S8_UINT, X24U8F32),
|
||||
FORMAT_DEPTH_STENCIL(Z24_UNORM_S8_UINT, ST8U24),
|
||||
FORMAT_DEPTH_STENCIL(Z32_FLOAT_S8X24_UINT, X24U8F32),
|
||||
};
|
||||
|
||||
#undef FORMAT
|
||||
|
|
@ -265,9 +265,10 @@ const struct pvr_format *PVR_PER_ARCH(get_format_table)(unsigned *num_formats)
|
|||
static inline const struct pvr_format *
|
||||
PVR_PER_ARCH(get_format)(VkFormat vk_format)
|
||||
{
|
||||
if (vk_format < ARRAY_SIZE(pvr_format_table) &&
|
||||
pvr_format_table[vk_format].bind != 0) {
|
||||
return &pvr_format_table[vk_format];
|
||||
enum pipe_format format = vk_format_to_pipe_format(vk_format);
|
||||
if (format < ARRAY_SIZE(pvr_format_table) &&
|
||||
pvr_format_table[format].bind != 0) {
|
||||
return &pvr_format_table[format];
|
||||
}
|
||||
|
||||
mesa_logd("Format %s(%d) not supported\n",
|
||||
|
|
@ -280,8 +281,9 @@ PVR_PER_ARCH(get_format)(VkFormat vk_format)
|
|||
static inline const struct pvr_pbe_format *
|
||||
pvr_get_pbe_format(VkFormat vk_format)
|
||||
{
|
||||
assert(vk_format < ARRAY_SIZE(pvr_pbe_format_table));
|
||||
return &pvr_pbe_format_table[vk_format];
|
||||
enum pipe_format format = vk_format_to_pipe_format(vk_format);
|
||||
assert(format < ARRAY_SIZE(pvr_pbe_format_table));
|
||||
return &pvr_pbe_format_table[format];
|
||||
}
|
||||
|
||||
uint32_t PVR_PER_ARCH(get_tex_format)(VkFormat vk_format)
|
||||
|
|
|
|||
|
|
@ -231,9 +231,10 @@ void pvr_get_hw_clear_color(
|
|||
static inline const struct pvr_format *
|
||||
pvr_get_format(struct pvr_physical_device *pdevice, VkFormat vk_format)
|
||||
{
|
||||
if (vk_format < pdevice->num_formats &&
|
||||
pdevice->formats[vk_format].bind != 0) {
|
||||
return &pdevice->formats[vk_format];
|
||||
enum pipe_format format = vk_format_to_pipe_format(vk_format);
|
||||
if (format < pdevice->num_formats &&
|
||||
pdevice->formats[format].bind != 0) {
|
||||
return &pdevice->formats[format];
|
||||
}
|
||||
|
||||
mesa_logd("Format %s(%d) not supported\n",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue