intel/compiler: Memory fence commit must always be enabled for gen10+
authorAnuj Phogat <anuj.phogat@gmail.com>
Wed, 7 Feb 2018 01:09:09 +0000 (17:09 -0800)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 2 Mar 2018 19:45:21 +0000 (11:45 -0800)
Commit bit in the message descriptor (Bit 13) must be always set
to true in CNL+ for memory fence messages. It also fixes a piglit
GPU hang on cnl+ in simulation environment.
Piglit test: arb_shader_image_load_store-shader-mem-barrier
See HSD ES # 1404612949

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/intel/compiler/brw_eu_emit.c

index 44abede16bc2ab884fed23e127131a43eb2678ba..f8102e014e598fbb0871d53b6376f26ca3e17d13 100644 (file)
@@ -3287,7 +3287,9 @@ brw_memory_fence(struct brw_codegen *p,
                  struct brw_reg dst)
 {
    const struct gen_device_info *devinfo = p->devinfo;
-   const bool commit_enable = devinfo->gen == 7 && !devinfo->is_haswell;
+   const bool commit_enable =
+      devinfo->gen >= 10 || /* HSD ES # 1404612949 */
+      (devinfo->gen == 7 && !devinfo->is_haswell);
    struct brw_inst *insn;
 
    brw_push_insn_state(p);