Hi Timothy, Thanks for the review. Piglit patch is updated with the additional out var: https://patchwork.freedesktop.org/patch/258899/ Original reporter confirmed that issue is finally fixed with the current patch and closed it.
Can I ask to push the patch please ? Regards, Vadym сб, 27 окт. 2018 г. в 1:21, Timothy Arceri <tarc...@itsqueeze.com>: > On Wed, Oct 24, 2018, at 3:28 AM, Vadym Shovkoplias wrote: > > Since out variables are copied from shader objects instruction > > streams to linked shader instruction steam it should be cloned > > at first to keep source instruction steam unaltered. > > > > Fixes: 966a797e433 glsl/linker: Link all out vars from a shader > > objects on a single stage > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105731 > > Signed-off-by: Vadym Shovkoplias <vadym.shovkopl...@globallogic.com> > > Reviewed-by: Timothy Arceri <tarc...@itsqueeze.com> > > Also please either update the existing piglit or add a new one to better > cover the use of the freed vars. From the bug report it seems adding > another out var is enough to do it. Thanks. > > > --- > > src/compiler/glsl/linker.cpp | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp > > index 7db34ebf95..8b1b03322a 100644 > > --- a/src/compiler/glsl/linker.cpp > > +++ b/src/compiler/glsl/linker.cpp > > @@ -2269,10 +2269,11 @@ link_output_variables(struct gl_linked_shader > > *linked_shader, > > if (ir->ir_type != ir_type_variable) > > continue; > > > > - ir_variable *const var = (ir_variable *) ir; > > + ir_variable *var = (ir_variable *) ir; > > > > if (var->data.mode == ir_var_shader_out && > > !symbols->get_variable(var->name)) { > > + var = var->clone(linked_shader, NULL); > > symbols->add_variable(var); > > linked_shader->ir->push_head(var); > > } > > -- > > 2.18.0 > > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev