glsl: add offset to glsl interface type
authorTimothy Arceri <timothy.arceri@collabora.com>
Wed, 30 Dec 2015 02:31:24 +0000 (13:31 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Sat, 5 Mar 2016 08:38:34 +0000 (19:38 +1100)
commit9f24f42c491221a79641a0d810f9c78393d81e5c
tree82e74776fa31f1431aadf3b79cbff58067d8682e
parent8abed7f185329250adf9f8c90a131797feda83b6
glsl: add offset to glsl interface type

In this patch we also copy the offset value from the ast and
implement offset linking rules by adding it to the record_compare()
function.

From Section 4.4.5 (Uniform and Shader Storage Block Layout Qualifiers)
of the GLSL 4.50 spec:

   "Two blocks linked together in the same program with the same block
   name must have the exact same set of members qualified with
   offset and their integral-constant-expression values must be the
   same, or a link-time error results."

Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
src/compiler/glsl/ast_to_hir.cpp
src/compiler/glsl/builtin_variables.cpp
src/compiler/glsl_types.cpp
src/compiler/glsl_types.h