Reviewed-by: Ilia Mirkin <[email protected]>
On Thu, Nov 17, 2016 at 5:00 PM, Nicolai Hähnle <[email protected]> wrote: > From: Nicolai Hähnle <[email protected]> > > This whole pass is a no-op. > --- > src/compiler/glsl/lower_output_reads.cpp | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/src/compiler/glsl/lower_output_reads.cpp > b/src/compiler/glsl/lower_output_reads.cpp > index 8a375ac..b0045f0 100644 > --- a/src/compiler/glsl/lower_output_reads.cpp > +++ b/src/compiler/glsl/lower_output_reads.cpp > @@ -89,22 +89,20 @@ output_read_remover::~output_read_remover() > { > _mesa_hash_table_destroy(replacements, NULL); > ralloc_free(mem_ctx); > } > > ir_visitor_status > output_read_remover::visit(ir_dereference_variable *ir) > { > if (ir->var->data.mode != ir_var_shader_out) > return visit_continue; > - if (stage == MESA_SHADER_TESS_CTRL) > - return visit_continue; > > hash_entry *entry = _mesa_hash_table_search(replacements, ir->var); > ir_variable *temp = entry ? (ir_variable *) entry->data : NULL; > > /* If we don't have an existing temporary, create one. */ > if (temp == NULL) { > void *var_ctx = ralloc_parent(ir->var); > temp = new(var_ctx) ir_variable(ir->var->type, ir->var->name, > ir_var_temporary); > _mesa_hash_table_insert(replacements, ir->var, temp); > @@ -166,13 +164,19 @@ output_read_remover::visit_leave(ir_function_signature > *sig) > if (strcmp(sig->function_name(), "main") != 0) > return visit_continue; > > hash_table_call_foreach(replacements, emit_main_copy, sig); > return visit_continue; > } > > void > lower_output_reads(unsigned stage, exec_list *instructions) > { > + /* Due to the possible interactions between multiple tessellation control > + * shader invocations, we leave output variables as-is. > + */ > + if (stage == MESA_SHADER_TESS_CTRL) > + return; > + > output_read_remover v(stage); > visit_list_elements(&v, instructions); > } > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
