Jordan Justen <jordan.l.jus...@intel.com> writes:

> Previously uniform blocks allowed for the 'uniform' keyword
> to be used with members of a uniform blocks. With interface
> blocks 'in' can be used on 'in' interface block members and
> 'out' can be used on 'out' interface block members.
>
> The basic_interface_block rule will verify that the same
> qualifier type is used with the block and each member.

> -        type->qualifier = $1;
> -        type->qualifier.flags.q.uniform = true;
> -        type->specifier = $3;
> +        if (!type->qualifier.merge_qualifier(& @1, state, $1)) {
> +           YYERROR;
> +        }
> +
> +        if (type->qualifier.flags.q.attribute) {
> +           _mesa_glsl_error(& @1, state,
> +                           "keyword 'attribute' cannot be used with "
> +                           "interface block member\n");
> +        } else if (type->qualifier.flags.q.varying) {
> +           _mesa_glsl_error(& @1, state,
> +                           "keyword 'varying' cannot be used with "
> +                           "interface block member\n");
> +        }

I think some more qualifiers are getting allowed now, are they all intentional?

- invariant
- smooth
- flat
- noperspective

Could 7/15 get easily moved before this one, so that we don't allow
uniforms in our in/out blocks at this commit?

I'm done for the evening.  Patches 1-5 are (other than minor comments):

Reviewed-by: Eric Anholt <e...@anholt.net>

Attachment: pgpblthzdX2Oz.pgp
Description: PGP signature

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

Reply via email to