From d118ff876559e468d2d243470947eee53171fe57 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 22 Aug 2017 12:47:09 +1000 Subject: [PATCH] radv: disable 1d/2d linear optimisation on gfx9. This causes hangs in some of the CTS tests with a 2d 1536x2 texture. This fixes hangs with: dEQP-VK.pipeline.image.suballocation.sampling_type.combined.iew_type.1d_aray.format.r4g4b4a4_unorm_pack16.count_1.size.512x1_array_of_3 if we reenable it, make sure these don't regress. Reviewed-by: Bas Nieuwenhuizen Cc: "17.2" Signed-off-by: Dave Airlie --- src/amd/vulkan/radv_image.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index c9e8bb3..06b9c2f 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -35,7 +35,7 @@ #include "util/debug.h" #include "util/u_atomic.h" static unsigned -radv_choose_tiling(struct radv_device *Device, +radv_choose_tiling(struct radv_device *device, const struct radv_image_create_info *create_info) { const VkImageCreateInfo *pCreateInfo = create_info->vk_info; @@ -46,14 +46,15 @@ radv_choose_tiling(struct radv_device *Device, } if (!vk_format_is_compressed(pCreateInfo->format) && - !vk_format_is_depth_or_stencil(pCreateInfo->format)) { + !vk_format_is_depth_or_stencil(pCreateInfo->format) + && device->physical_device->rad_info.chip_class <= VI) { + /* this causes hangs in some VK CTS tests on GFX9. */ /* Textures with a very small height are recommended to be linear. */ if (pCreateInfo->imageType == VK_IMAGE_TYPE_1D || /* Only very thin and long 2D textures should benefit from * linear_aligned. */ (pCreateInfo->extent.width > 8 && pCreateInfo->extent.height <= 2)) return RADEON_SURF_MODE_LINEAR_ALIGNED; - } /* MSAA resources must be 2D tiled. */ -- 2.7.4