From ffacf92485edcdb61f5239bbeca46aaf24707ad7 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Wed, 22 Apr 2020 13:32:43 +0200 Subject: [PATCH] v3dv: require optimal tiling for features that reqiure sampling The hardware can only do sampling with a raster format for 1D textures, so let's just require optimal for everything. Part-of: --- src/broadcom/vulkan/v3dv_formats.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/broadcom/vulkan/v3dv_formats.c b/src/broadcom/vulkan/v3dv_formats.c index 1197c667665..ccd12ae7f2a 100644 --- a/src/broadcom/vulkan/v3dv_formats.c +++ b/src/broadcom/vulkan/v3dv_formats.c @@ -400,7 +400,11 @@ image_format_features(VkFormat vk_format, VkFormatFeatureFlags flags = 0; - if (v3dv_format->tex_type != TEXTURE_DATA_FORMAT_NO) { + /* Raster format is only supported for 1D textures, so let's just + * always require optimal tiling for anything that requires sampling. + */ + if (v3dv_format->tex_type != TEXTURE_DATA_FORMAT_NO && + tiling == VK_IMAGE_TILING_OPTIMAL) { flags |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT | VK_FORMAT_FEATURE_BLIT_SRC_BIT;