Revert "intel/isl: Ignore base_array_layer and array_len for 3D storage..."
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 13 Sep 2016 19:55:25 +0000 (12:55 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 13 Sep 2016 21:45:15 +0000 (14:45 -0700)
This reverts commit 3943888c94beca69e575b8d3d1ec7a6cbf474ee4.  It turns out
that commit was pretty-much bogus since it breaks binding a 3-D texture as a
2-D storage image.  The correct fix for the Vulkan CTS tests needs to be in
the Vulkan driver itself rather than ISL.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/isl/isl_surface_state.c

index f22bf36..1a1a819 100644 (file)
@@ -341,14 +341,10 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
        * Since it's already initialized to 0, we can just leave it alone for
        * texture surfaces.
        */
-      if (info->view->usage & ISL_SURF_USAGE_RENDER_TARGET_BIT) {
+      if (info->view->usage & (ISL_SURF_USAGE_RENDER_TARGET_BIT |
+                               ISL_SURF_USAGE_STORAGE_BIT)) {
          s.MinimumArrayElement = info->view->base_array_layer;
          s.RenderTargetViewExtent = info->view->array_len - 1;
-      } else if (info->view->usage & ISL_SURF_USAGE_STORAGE_BIT) {
-         s.MinimumArrayElement = 0;
-         s.RenderTargetViewExtent =
-            isl_minify(info->surf->logical_level0_px.depth,
-                       info->view->base_level) - 1;
       }
       break;
    default: