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,
>> 

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to