anv: Remove the finishme for CCS_E with storage images
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 1 Feb 2017 20:05:07 +0000 (12:05 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 2 Feb 2017 21:33:43 +0000 (13:33 -0800)
The data port can't handle CCS at all so replace the finishme with
better comments.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/intel/vulkan/anv_image.c

index 94436ca..e59ef4d 100644 (file)
@@ -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;
             }
          }
       }