i965/icl: Set Error Detection Behavior Control Bit in L3CNTLREG
authorAnuj Phogat <anuj.phogat@gmail.com>
Tue, 2 Oct 2018 16:10:04 +0000 (09:10 -0700)
committerAnuj Phogat <anuj.phogat@gmail.com>
Thu, 1 Nov 2018 19:00:23 +0000 (12:00 -0700)
The default setting of this bit is not the desirable behavior.
WA_1406697149

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/mesa/drivers/dri/i965/brw_defines.h
src/mesa/drivers/dri/i965/brw_state_upload.c

index 97a787a2ab388924e2bf8035a767c4406c86c850..897c91aa31e135501b0afc9c80881e0d02fd8393 100644 (file)
@@ -1646,6 +1646,7 @@ enum brw_pixel_shader_coverage_mask_mode {
 # define GEN8_L3CNTLREG_DC_ALLOC_MASK      INTEL_MASK(24, 18)
 # define GEN8_L3CNTLREG_ALL_ALLOC_SHIFT    25
 # define GEN8_L3CNTLREG_ALL_ALLOC_MASK     INTEL_MASK(31, 25)
+# define GEN8_L3CNTLREG_EDBC_NO_HANG       (1 << 9)
 
 #define GEN10_CACHE_MODE_SS            0x0e420
 #define GEN10_FLOAT_BLEND_OPTIMIZATION_ENABLE (1 << 4)
index 7f20579fb874f90d536c3f9cd1828810946269e4..60b72bf4ab3fa7db24e2ac50fe52e91333fd8cd0 100644 (file)
@@ -79,6 +79,13 @@ brw_upload_initial_gpu_state(struct brw_context *brw)
       brw_load_register_imm32(brw, HALF_SLICE_CHICKEN7,
                               TEXEL_OFFSET_FIX_MASK |
                               TEXEL_OFFSET_FIX_ENABLE);
+
+      /* WA_1406697149: Bit 9 "Error Detection Behavior Control" must be set
+       * in L3CNTLREG register. The default setting of the bit is not the
+       * desirable behavior.
+       */
+      brw_load_register_imm32(brw, GEN8_L3CNTLREG,
+                              GEN8_L3CNTLREG_EDBC_NO_HANG);
    }
 
    if (devinfo->gen == 10 || devinfo->gen == 11) {