From 12bf1308c41273e9ac9e7a7cdc48c2c594164d60 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Fri, 4 Oct 2019 15:51:54 +0300 Subject: [PATCH] intel/isl: set vertical surface alignment on null surfaces Just following the spec. Somewhat unclear whether this applies to NULL surfaces. Signed-off-by: Lionel Landwerlin Reviewed-by: Kenneth Graunke --- src/intel/isl/isl_surface_state.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index 4f61c1012d9..c1e91ffe963 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -803,6 +803,19 @@ isl_genX(null_fill_state)(void *state, struct isl_extent3d size) #else .TiledSurface = true, .TileWalk = TILEWALK_YMAJOR, +#endif +#if GEN_GEN == 7 + /* According to PRMs: "Volume 4 Part 1: Subsystem and Cores – Shared + * Functions" + * + * RENDER_SURFACE_STATE::Surface Vertical Alignment + * + * "This field must be set to VALIGN_4 for all tiled Y Render Target + * surfaces." + * + * Affect IVB, HSW. + */ + .SurfaceVerticalAlignment = VALIGN_4, #endif .Width = size.width - 1, .Height = size.height - 1, -- 2.30.2