diff options
-rw-r--r-- | src/intel/vulkan/anv_image.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index 94436ca8f5d..e59ef4dbb67 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -225,22 +225,15 @@ make_surface(const struct anv_device *dev, /* For images created without MUTABLE_FORMAT_BIT set, we know that * they will always be used with the original format. In * particular, they will always be used with a format that - * supports color compression. This means that it's safe to just - * leave compression on at all times for these formats. + * supports color compression. If it's never used as a storage + * image, then it will only be used through the sampler or the as + * a render target. This means that it's safe to just leave + * compression on at all times for these formats. */ - if (!(vk_info->flags & VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT) && + if (!(vk_info->usage & VK_IMAGE_USAGE_STORAGE_BIT) && + !(vk_info->flags & VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT) && isl_format_supports_ccs_e(&dev->info, format)) { - if (vk_info->usage & VK_IMAGE_USAGE_STORAGE_BIT) { - /* - * For now, we leave compression off for anything that may - * be used as a storage image. This is because accessing - * storage images may involve ccs-incompatible views or even - * untyped messages which don't support compression at all. - */ - anv_finishme("Enable CCS for storage images"); - } else { - image->aux_usage = ISL_AUX_USAGE_CCS_E; - } + image->aux_usage = ISL_AUX_USAGE_CCS_E; } } } |