On 05/09/2016 08:46 PM, Ian Romanick wrote: > Patches 1 and 2 are > Pushed 1 and 2.
> Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> > > I don't have a strong opinion about patch 3, so I'll call that > > Acked-by: Ian Romanick <ian.d.roman...@intel.com> > I will hold on pushing 3 for the moment. Thanks, Ian. Eduardo > On 05/05/2016 01:52 PM, Eduardo Lima Mitev wrote: >> This is missing and memory qualifiers are currently being ignored for SSBOs. >> --- >> src/compiler/glsl/ast_to_hir.cpp | 22 +++++++++++++++------- >> 1 file changed, 15 insertions(+), 7 deletions(-) >> >> diff --git a/src/compiler/glsl/ast_to_hir.cpp >> b/src/compiler/glsl/ast_to_hir.cpp >> index c5cd48f..5a1fc9f 100644 >> --- a/src/compiler/glsl/ast_to_hir.cpp >> +++ b/src/compiler/glsl/ast_to_hir.cpp >> @@ -6963,6 +6963,16 @@ is_unsized_array_last_element(ir_variable *v) >> return false; >> } >> >> +static void >> +apply_memory_qualifiers(ir_variable *var, glsl_struct_field field) >> +{ >> + var->data.image_read_only = field.image_read_only; >> + var->data.image_write_only = field.image_write_only; >> + var->data.image_coherent = field.image_coherent; >> + var->data.image_volatile = field.image_volatile; >> + var->data.image_restrict = field.image_restrict; >> +} >> + >> ir_rvalue * >> ast_interface_block::hir(exec_list *instructions, >> struct _mesa_glsl_parse_state *state) >> @@ -7449,6 +7459,9 @@ ast_interface_block::hir(exec_list *instructions, >> } >> } >> } >> + >> + if (var->data.mode == ir_var_shader_storage) >> + apply_memory_qualifiers(var, fields[i]); >> } >> >> if (ir_variable *earlier = >> @@ -7523,13 +7536,8 @@ ast_interface_block::hir(exec_list *instructions, >> var->data.matrix_layout = fields[i].matrix_layout; >> } >> >> - if (var->data.mode == ir_var_shader_storage) { >> - var->data.image_read_only = fields[i].image_read_only; >> - var->data.image_write_only = fields[i].image_write_only; >> - var->data.image_coherent = fields[i].image_coherent; >> - var->data.image_volatile = fields[i].image_volatile; >> - var->data.image_restrict = fields[i].image_restrict; >> - } >> + if (var->data.mode == ir_var_shader_storage) >> + apply_memory_qualifiers(var, fields[i]); >> >> /* Examine var name here since var may get deleted in the next >> call */ >> bool var_is_gl_id = is_gl_identifier(var->name); >> > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev