intel/nir: Lowering image loads and stores trashes all metadata
authorJason Ekstrand <jason.ekstrand@intel.com>
Thu, 30 Aug 2018 17:50:31 +0000 (12:50 -0500)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 30 Aug 2018 19:06:31 +0000 (14:06 -0500)
This fixes the GL_ARB_fragment_shader_interlock piglit test on gen8
platforms where the lack of metadata dirtying was causing another pass
to accidentally delete a much needed loop.

https://bugs.freedesktop.org/show_bug.cgi?id=107745
Fixes: 37f7983bcca1 "intel/compiler: Do image load/store lowering..."
Jason Ekstrand <jason@jlekstrand.net> writes:
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
src/intel/compiler/brw_nir_lower_image_load_store.c

index de6f7683be46cb19a013e38097fdac08e49d085f..e8083a80cb769a3b7799a9a13b1bd7d43b3c9162 100644 (file)
@@ -817,8 +817,8 @@ brw_nir_lower_image_load_store(nir_shader *shader,
          }
       }
 
-      nir_metadata_preserve(function->impl, nir_metadata_block_index |
-                                            nir_metadata_dominance);
+      if (progress)
+         nir_metadata_preserve(function->impl, nir_metadata_none);
    }
 
    return progress;