summaryrefslogtreecommitdiffstats
path: root/src/intel/isl/isl_surface_state.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-06-09 15:08:13 -0700
committerJason Ekstrand <[email protected]>2016-06-22 12:26:43 -0700
commitce24097abe1427463ac300a686e4c36ea07464fc (patch)
tree84732da88b8d44cc407da7f2727793af1cf543d1 /src/intel/isl/isl_surface_state.c
parentf47e23a8b6abd3bbc1d2d60c023c5a7ffaf70d72 (diff)
isl/state: Don't set SurfacePitch for gen9 1-D textures
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. Reviewed-by: Chad Versace <[email protected]> Cc: "12.0" <[email protected]>
Diffstat (limited to 'src/intel/isl/isl_surface_state.c')
-rw-r--r--src/intel/isl/isl_surface_state.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c
index 9569c3ef44f..15b2fa9cadc 100644
--- a/src/intel/isl/isl_surface_state.c
+++ b/src/intel/isl/isl_surface_state.c
@@ -313,6 +313,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;
}