radv: don't advertise transfer props unless we can do anything else
There is no reason to advertise transfer ability for formats we can't use for anything else. This stops some CTS tests hitting internal error for 64-bit types when they see the transfer flags. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -597,13 +597,13 @@ radv_physical_device_get_format_properties(struct radv_physical_device *physical
|
|||||||
tiled |= VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT;
|
tiled |= VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (util_is_power_of_two(vk_format_get_blocksize(format)) && !scaled) {
|
if (tiled && util_is_power_of_two(vk_format_get_blocksize(format)) && !scaled) {
|
||||||
tiled |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR |
|
tiled |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR |
|
||||||
VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
|
VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (util_is_power_of_two(vk_format_get_blocksize(format)) && !scaled) {
|
if (linear && util_is_power_of_two(vk_format_get_blocksize(format)) && !scaled) {
|
||||||
linear |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR |
|
linear |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR |
|
||||||
VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
|
VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user