Mesa (master): intel/isl: Assert that we don't use CCS for storage images

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Feb 2 21:34:20 UTC 2017


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Feb  1 14:34:27 2017 -0800

intel/isl: Assert that we don't use CCS for storage images

I enabled CCS for storage images in the Vulkan driver and ran it through
the CTS.  It didn't result in any hangs but it demonstrated that the data
port cannot handle CCS.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Reviewed-by: Chad Versace <chadversary at chromium.org>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>

---

 src/intel/isl/isl_surface_state.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c
index c7b220b..29ec289 100644
--- a/src/intel/isl/isl_surface_state.c
+++ b/src/intel/isl/isl_surface_state.c
@@ -537,6 +537,12 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
 
 #if GEN_GEN >= 7
    if (info->aux_surf && info->aux_usage != ISL_AUX_USAGE_NONE) {
+      /* The docs don't appear to say anything whatsoever about compression
+       * and the data port.  Testing seems to indicate that the data port
+       * completely ignores the AuxiliarySurfaceMode field.
+       */
+      assert(!(info->view->usage & ISL_SURF_USAGE_STORAGE_BIT));
+
       struct isl_tile_info tile_info;
       isl_surf_get_tile_info(dev, info->aux_surf, &tile_info);
       uint32_t pitch_in_tiles =




More information about the mesa-commit mailing list