From: Jason Ekstrand Date: Wed, 23 Jan 2019 22:47:46 +0000 (-0600) Subject: nir: Allow SSBOs and global to alias X-Git-Tag: upstream/19.0.0~271 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9e34781aef3611bfcc3843694576c5972f0710fb;p=platform%2Fupstream%2Fmesa.git nir: Allow SSBOs and global to alias Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/compiler/nir/nir_deref.c b/src/compiler/nir/nir_deref.c index 513e824..2f5fda6 100644 --- a/src/compiler/nir/nir_deref.c +++ b/src/compiler/nir/nir_deref.c @@ -293,7 +293,12 @@ nir_fixup_deref_modes(nir_shader *shader) static bool modes_may_alias(nir_variable_mode a, nir_variable_mode b) { - /* Two pointers can only alias if they have the same mode. + /* Generic pointers can alias with SSBOs */ + if ((a == nir_var_mem_ssbo || a == nir_var_mem_global) && + (b == nir_var_mem_ssbo || b == nir_var_mem_global)) + return true; + + /* In the general case, pointers can only alias if they have the same mode. * * NOTE: In future, with things like OpenCL generic pointers, this may not * be true and will have to be re-evaluated. However, with graphics only,