From: Caio Marcelo de Oliveira Filho Date: Thu, 31 Jan 2019 21:28:24 +0000 (-0800) Subject: i965: skip bit6 swizzle detection in Gen8+ X-Git-Tag: upstream/19.3.0~10046 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=60740eade34993e036f1093f18adf8e5474f3ce5;p=platform%2Fupstream%2Fmesa.git i965: skip bit6 swizzle detection in Gen8+ It is always false on Gen8+. Reviewed-by: Jordan Justen Reviewed-by: Jason Ekstrand --- diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index 8838f97..0821d30 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -1889,6 +1889,20 @@ intel_init_bufmgr(struct intel_screen *screen) static bool intel_detect_swizzling(struct intel_screen *screen) { + /* Broadwell PRM says: + * + * "Before Gen8, there was a historical configuration control field to + * swizzle address bit[6] for in X/Y tiling modes. This was set in three + * different places: TILECTL[1:0], ARB_MODE[5:4], and + * DISP_ARB_CTL[14:13]. + * + * For Gen8 and subsequent generations, the swizzle fields are all + * reserved, and the CPU's memory controller performs all address + * swizzling modifications." + */ + if (screen->devinfo.gen >= 8) + return false; + uint32_t tiling = I915_TILING_X; uint32_t swizzle_mode = 0; struct brw_bo *buffer =