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,
|
||||
features=True,
|
||||
guard=True),
|
||||
Extension("VK_EXT_4444_formats",
|
||||
alias="format_4444",
|
||||
features=True),
|
||||
]
|
||||
|
||||
# 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
|
||||
[PIPE_FORMAT_A4B4G4R4_UNORM] = VK_FORMAT_R4G4B4A4_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_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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user