diff options
author | Dave Airlie <[email protected]> | 2017-08-22 12:47:09 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2017-09-06 03:06:08 +0100 |
commit | d118ff876559e468d2d243470947eee53171fe57 (patch) | |
tree | 7adac2bfa3d54bfc165c7a799633859bfa2429ae | |
parent | b880cd3b597ea0ce514bdf88091e4cc5ec6c3785 (diff) |
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 <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r-- | src/amd/vulkan/radv_image.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index c9e8bb3d430..06b9c2f9d37 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. */ |