mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
turnip: set ycbcr feature bits properly
Set ycbcr feature bits only for ycbcr formats. Besides, we can control chroma locations only for planar formats and we support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT on newer gens. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19609>
This commit is contained in:
parent
6bc1fd1862
commit
aa86369163
1 changed files with 11 additions and 6 deletions
|
|
@ -272,18 +272,23 @@ tu_physical_device_get_format_properties(
|
|||
optimal |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT |
|
||||
VK_FORMAT_FEATURE_TRANSFER_DST_BIT |
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT |
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT |
|
||||
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT |
|
||||
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT;
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT;
|
||||
|
||||
/* no blit src bit for YUYV/NV12/I420 formats */
|
||||
if (desc->layout != UTIL_FORMAT_LAYOUT_SUBSAMPLED &&
|
||||
desc->layout != UTIL_FORMAT_LAYOUT_PLANAR2 &&
|
||||
desc->layout != UTIL_FORMAT_LAYOUT_PLANAR3)
|
||||
desc->layout != UTIL_FORMAT_LAYOUT_PLANAR3) {
|
||||
optimal |= VK_FORMAT_FEATURE_BLIT_SRC_BIT;
|
||||
} else {
|
||||
optimal |= VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT;
|
||||
|
||||
if (desc->layout != UTIL_FORMAT_LAYOUT_SUBSAMPLED)
|
||||
optimal |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT;
|
||||
if (desc->layout != UTIL_FORMAT_LAYOUT_SUBSAMPLED) {
|
||||
optimal |= VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT |
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT;
|
||||
if (physical_device->info->a6xx.has_separate_chroma_filter)
|
||||
optimal |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT;
|
||||
}
|
||||
}
|
||||
|
||||
if (!vk_format_is_int(vk_format)) {
|
||||
optimal |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue