X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fcompiler%2Fglsl%2Fopt_dead_builtin_varyings.cpp;h=4526f2bca009e3b631c1fda3a94c19e59ec1de2a;hb=f9ab60202d48c72afa6a6f2a8c27db1e0777ed16;hp=a28887f7cff8b28494ab2a17d722c7ff4f578280;hpb=a37e46323c7e18bec4160f2f66847c10b7041dc1;p=mesa.git diff --git a/src/compiler/glsl/opt_dead_builtin_varyings.cpp b/src/compiler/glsl/opt_dead_builtin_varyings.cpp index a28887f7cff..4526f2bca00 100644 --- a/src/compiler/glsl/opt_dead_builtin_varyings.cpp +++ b/src/compiler/glsl/opt_dead_builtin_varyings.cpp @@ -89,9 +89,10 @@ public: !is_gl_identifier(var->name)) return visit_continue; - /* Only match gl_FragData[], not gl_SecondaryFragDataEXT[] */ - if (this->find_frag_outputs && var->data.location == FRAG_RESULT_DATA0 && - var->data.index == 0) { + /* Only match gl_FragData[], not gl_SecondaryFragDataEXT[] or + * gl_LastFragData[]. + */ + if (this->find_frag_outputs && strcmp(var->name, "gl_FragData") == 0) { this->fragdata_array = var; ir_constant *index = ir->array_index->as_constant(); @@ -379,7 +380,7 @@ public: new_var[i]->data.explicit_index = 0; } - ir->head->insert_before(new_var[i]); + ir->get_head_raw()->insert_before(new_var[i]); } } }