summaryrefslogtreecommitdiffstats
path: root/src/glsl/glsl_types.h
diff options
context:
space:
mode:
authorPaul Berry <stereotype441@gmail.com>2013-10-22 15:11:51 -0700
committerPaul Berry <stereotype441@gmail.com>2013-10-24 22:01:10 -0700
commit99512dc40d762d15d636ea711c496bd0350ef7f1 (patch)
tree679d5dffee517cf4816497f7a37a6e48305a576e /src/glsl/glsl_types.h
parente17d671d9f64fe135a10ec54dd5b5a6beacfd991 (diff)
downloadexternal_mesa3d-99512dc40d762d15d636ea711c496bd0350ef7f1.zip
external_mesa3d-99512dc40d762d15d636ea711c496bd0350ef7f1.tar.gz
external_mesa3d-99512dc40d762d15d636ea711c496bd0350ef7f1.tar.bz2
glsl: Keep track of centroid/interpolation mode for interface block members.
Fixes piglit tests: - interface-block-interpolation-{array,named,unnamed} - glsl-1.50-interface-block-centroid {array,named,unnamed} Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src/glsl/glsl_types.h')
-rw-r--r--src/glsl/glsl_types.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/glsl/glsl_types.h b/src/glsl/glsl_types.h
index e60c191..4b5b6ef 100644
--- a/src/glsl/glsl_types.h
+++ b/src/glsl/glsl_types.h
@@ -590,6 +590,18 @@ struct glsl_struct_field {
* Ignored for structs.
*/
int location;
+
+ /**
+ * For interface blocks, the interpolation mode (as in
+ * ir_variable::interpolation). 0 otherwise.
+ */
+ unsigned interpolation:2;
+
+ /**
+ * For interface blocks, 1 if this variable uses centroid interpolation (as
+ * in ir_variable::centroid). 0 otherwise.
+ */
+ unsigned centroid:1;
};
static inline unsigned int