[Mesa-dev] [PATCH 12/17] glsl/ast: Allow redeclaration of gl_LastFragData with different precision qualifier.
Francisco Jerez
currojerez at riseup.net
Fri Jul 29 00:46:23 UTC 2016
Kenneth Graunke <kenneth at 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 <kenneth at 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,
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160728/f462c40c/attachment.sig>
More information about the mesa-dev
mailing list