Module: Mesa
Branch: master
Commit: 325ecffc62c311dba37ae6b86b7f2bf13ab8763e
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=325ecffc62c311dba37ae6b86b7f2bf13ab8763e

Author: Nanley Chery <[email protected]>
Date:   Wed Jul  5 12:15:24 2017 -0700

anv/image: Disable CCS if the image doesn't support rendering

Signed-off-by: Nanley Chery <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>

---

 src/intel/vulkan/anv_image.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index 4f0057c952..f33a445d1d 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -214,6 +214,21 @@ make_surface(const struct anv_device *dev,
          ok = isl_surf_get_ccs_surf(&dev->isl_dev, &anv_surf->isl,
                                     &image->aux_surface.isl, 0);
          if (ok) {
+
+            /* Disable CCS when it is not useful (i.e., when you can't render
+             * to the image with CCS enabled).
+             */
+            if (!isl_format_supports_rendering(&dev->info, format)) {
+               /* While it may be technically possible to enable CCS for this
+                * image, we currently don't have things hooked up to get it
+                * working.
+                */
+               anv_perf_warn("This image format doesn't support rendering. "
+                             "Not allocating an CCS buffer.");
+               image->aux_surface.isl.size = 0;
+               return VK_SUCCESS;
+            }
+
             add_surface(image, &image->aux_surface);
 
             /* For images created without MUTABLE_FORMAT_BIT set, we know that

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to