[Mesa-dev] [PATCH 26/64] isl/state: Don't set SurfacePitch for gen9 1-D textures

Jason Ekstrand jason at jlekstrand.net
Sat Jun 11 16:02:41 UTC 2016


This field is ignored by the hardware in this case and, on very large 1-D
textures, it can end up being larger than the maximum allowed value.
---
 src/intel/isl/isl_surface_state.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c
index e1159b2..8f223d1 100644
--- a/src/intel/isl/isl_surface_state.c
+++ b/src/intel/isl/isl_surface_state.c
@@ -298,6 +298,9 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state,
        *    two rows interleaved."
        */
       s.SurfacePitch = info->surf->row_pitch * 2 - 1;
+   } else if (info->surf->dim_layout == ISL_DIM_LAYOUT_GEN9_1D) {
+      /* For gen9 1-D textures, surface pitch is ignored */
+      s.SurfacePitch = 0;
    } else {
       s.SurfacePitch = info->surf->row_pitch - 1;
    }
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list