glsl/linker: outputs in the same location must share interpolation
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 19 Oct 2017 14:13:21 +0000 (16:13 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Thu, 26 Oct 2017 06:40:14 +0000 (08:40 +0200)
commit0b565f715d24d74d844f0708e3ed17ad1ee14faf
tree86563cf4d7df103b4b52a8d087ba64f3e6cb44d8
parentc4545676d7f4e5f898bdc54d5574cd56ca7b9aad
glsl/linker: outputs in the same location must share interpolation

From ARB_enhanced_layouts:

"[...]when location aliasing, the aliases sharing the location
 must have the same underlying numerical type (floating-point or
 integer) and the same auxiliary storage and
 interpolation qualification.[...]"

Add code to the linker to validate that aliased locations do
have the same interpolation.

Fixes:
KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/compiler/glsl/link_varyings.cpp