intel/compiler: Use two components for 1D array image sizes
[mesa.git] / src / intel / isl / isl_storage_image.c
index 43398e8a020e21080a5ec9eac79e46e44e09f364..c36985af127d037e5dfbd371a1dddcc2a5cd2bc4 100644 (file)
@@ -233,12 +233,12 @@ isl_surf_fill_image_param(const struct isl_device *dev,
              surf->logical_level0_px.array_len);
    }
    param->size[0] = isl_minify(surf->logical_level0_px.w, view->base_level);
-   param->size[1] = isl_minify(surf->logical_level0_px.h, view->base_level);
-   if (surf->dim == ISL_SURF_DIM_3D) {
-      param->size[2] = isl_minify(surf->logical_level0_px.d, view->base_level);
-   } else {
-      param->size[2] = view->array_len;
-   }
+   param->size[1] = surf->dim == ISL_SURF_DIM_1D ?
+                    view->array_len :
+                    isl_minify(surf->logical_level0_px.h, view->base_level);
+   param->size[2] = surf->dim == ISL_SURF_DIM_2D ?
+                    view->array_len :
+                    isl_minify(surf->logical_level0_px.d, view->base_level);
 
    isl_surf_get_image_offset_el(surf, view->base_level,
                                 surf->dim == ISL_SURF_DIM_3D ?