Kenneth Graunke <kenn...@whitecape.org> writes: > On Wednesday, July 20, 2016 9:49:42 PM PDT Francisco Jerez wrote: >> --- >> src/compiler/glsl/ast_to_hir.cpp | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/src/compiler/glsl/ast_to_hir.cpp >> b/src/compiler/glsl/ast_to_hir.cpp >> index c050a3f..ac651a9 100644 >> --- a/src/compiler/glsl/ast_to_hir.cpp >> +++ b/src/compiler/glsl/ast_to_hir.cpp >> @@ -3948,6 +3948,19 @@ get_variable_being_redeclared(ir_variable *var, >> YYLTYPE loc, >> >> earlier->data.depth_layout = var->data.depth_layout; >> >> + } else if (state->has_framebuffer_fetch() && >> + !state->is_version(420, 300) && > > I think you can drop the is_version check - there won't be an > gl_LastFragData to redeclare in the other case, so earlier == NULL > and we would have bailed out earlier. > Good point, dropped locally.
> With the caveat that I haven't seen the specs, and am just assuming > they work like I think they should, the series looks good to me. > > For the series: > Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> > Thanks. >> + strcmp(var->name, "gl_LastFragData") == 0 && >> + var->type == earlier->type && >> + var->data.mode == ir_var_auto) { >> + /* According to the EXT_shader_framebuffer_fetch spec: >> + * >> + * "By default, gl_LastFragData is declared with the mediump >> precision >> + * qualifier. This can be changed by redeclaring the corresponding >> + * variables with the desired precision qualifier." >> + */ >> + earlier->data.precision = var->data.precision; >> + >> } else if (allow_all_redeclarations) { >> if (earlier->data.mode != var->data.mode) { >> _mesa_glsl_error(&loc, state, >>
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev