glsl: cross validate varyings with a component qualifier
authorTimothy Arceri <timothy.arceri@collabora.com>
Thu, 17 Dec 2015 00:34:09 +0000 (11:34 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Sun, 1 May 2016 13:13:10 +0000 (23:13 +1000)
commit0d88b15f073d09afed1747d9cdde98f15c7aa28d
treeeb715dbafbf6e7f684db8b0c2451d60ea54b1083
parent94438578d219d0f701a6324cf294ee23d102a978
glsl: cross validate varyings with a component qualifier

This change checks for component overlap, including handling overlap of
locations and components by doubles. Previously there was no validation
for assigning explicit locations to a location used by the second half
of a double.

V3: simplify handling of doubles and fix double component aliasing
detection

V2: fix component matching for matricies

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/compiler/glsl/link_varyings.cpp