summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2017-08-30 00:58:03 +0200
committerEmil Velikov <[email protected]>2017-09-13 21:52:42 +0100
commitc6b3732967bc886430a6c00c353b0bba90dd117b (patch)
treec1b7591b45515346865b50cd16db989216b417ba /src
parente012ade1cfa6df420d60502b1acee557b3df7617 (diff)
radv: Disable multilayer & multilevel DCC.
The current DCC init routine doesn't account for initializing a single layer or level. Multilayer seems hard for small textures on pre-GFX9 as tre metadata for the layers can be interleaved. For GFX9 multilevel textures are a problem for similar reasons. So just disable this for now, until we handle the texture modes correctly. Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver" (cherry picked from commit bee83b26611c0a4a554aa37c59187351242e82fd)
Diffstat (limited to 'src')
-rw-r--r--src/amd/vulkan/radv_image.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index f113c966efa..cd7ed55c58c 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -120,6 +120,7 @@ radv_init_surface(struct radv_device *device,
VK_IMAGE_USAGE_STORAGE_BIT)) ||
(pCreateInfo->flags & VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT) ||
(pCreateInfo->tiling == VK_IMAGE_TILING_LINEAR) ||
+ pCreateInfo->mipLevels > 1 || pCreateInfo->arrayLayers > 1 ||
device->physical_device->rad_info.chip_class < VI ||
create_info->scanout || (device->debug_flags & RADV_DEBUG_NO_DCC) ||
!radv_is_colorbuffer_format_supported(pCreateInfo->format, &blendable))