summaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorAndres Rodriguez <andresx7@gmail.com>2018-05-09 23:40:21 -0400
committerAndres Rodriguez <andresx7@gmail.com>2018-05-10 11:27:12 -0400
commit34e9e4023fcebb6581751f553c8c877045068547 (patch)
tree87a1a406be308a4e45ba49d15cc3c316a50f7d4d /src/amd
parent54bbe600ec2654bcf43c3378e84d972e0a7ce4b6 (diff)
radv: disable DCC for shareable images on GFX9+
This seems to be broken at the moment for opengl interop. Signed-off-by: Andres Rodriguez <andresx7@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/vulkan/radv_image.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index 5cdffe1627f..07618853049 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -110,6 +110,8 @@ radv_use_dcc_for_image(struct radv_device *device,
{
bool dcc_compatible_formats;
bool blendable;
+ bool shareable = vk_find_struct_const(pCreateInfo->pNext,
+ EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR) != NULL;
/* DCC (Delta Color Compression) is only available for GFX8+. */
if (device->physical_device->rad_info.chip_class < VI)
@@ -118,6 +120,11 @@ radv_use_dcc_for_image(struct radv_device *device,
if (device->instance->debug_flags & RADV_DEBUG_NO_DCC)
return false;
+ /* FIXME: DCC is broken for shareable images starting with GFX9 */
+ if (device->physical_device->rad_info.chip_class >= GFX9 &&
+ shareable)
+ return false;
+
/* TODO: Enable DCC for storage images. */
if ((pCreateInfo->usage & VK_IMAGE_USAGE_STORAGE_BIT) ||
(pCreateInfo->flags & VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR))