zink: add support for VK_EXT_4444_formats
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8240>
This commit is contained in:
@@ -113,6 +113,9 @@ EXTENSIONS = [
|
|||||||
properties=True,
|
properties=True,
|
||||||
features=True,
|
features=True,
|
||||||
guard=True),
|
guard=True),
|
||||||
|
Extension("VK_EXT_4444_formats",
|
||||||
|
alias="format_4444",
|
||||||
|
features=True),
|
||||||
]
|
]
|
||||||
|
|
||||||
# constructor: Versions(device_version(major, minor, patch), struct_version(major, minor))
|
# constructor: Versions(device_version(major, minor, patch), struct_version(major, minor))
|
||||||
|
@@ -93,6 +93,8 @@ static const VkFormat formats[PIPE_FORMAT_COUNT] = {
|
|||||||
// other color formats
|
// other color formats
|
||||||
[PIPE_FORMAT_A4B4G4R4_UNORM] = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
|
[PIPE_FORMAT_A4B4G4R4_UNORM] = VK_FORMAT_R4G4B4A4_UNORM_PACK16,
|
||||||
[PIPE_FORMAT_A4R4G4B4_UNORM] = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
|
[PIPE_FORMAT_A4R4G4B4_UNORM] = VK_FORMAT_B4G4R4A4_UNORM_PACK16,
|
||||||
|
[PIPE_FORMAT_B4G4R4A4_UNORM] = VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT,
|
||||||
|
[PIPE_FORMAT_R4G4B4A4_UNORM] = VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT,
|
||||||
[PIPE_FORMAT_B5G6R5_UNORM] = VK_FORMAT_R5G6B5_UNORM_PACK16,
|
[PIPE_FORMAT_B5G6R5_UNORM] = VK_FORMAT_R5G6B5_UNORM_PACK16,
|
||||||
[PIPE_FORMAT_R5G6B5_UNORM] = VK_FORMAT_B5G6R5_UNORM_PACK16,
|
[PIPE_FORMAT_R5G6B5_UNORM] = VK_FORMAT_B5G6R5_UNORM_PACK16,
|
||||||
|
|
||||||
|
@@ -804,6 +804,12 @@ zink_get_format(struct zink_screen *screen, enum pipe_format format)
|
|||||||
return VK_FORMAT_D32_SFLOAT_S8_UINT;
|
return VK_FORMAT_D32_SFLOAT_S8_UINT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((ret == VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT &&
|
||||||
|
!screen->info.format_4444_feats.formatA4B4G4R4) ||
|
||||||
|
(ret == VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT &&
|
||||||
|
!screen->info.format_4444_feats.formatA4R4G4B4))
|
||||||
|
return VK_FORMAT_UNDEFINED;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user