summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2017-02-11 00:25:57 -0800
committerKenneth Graunke <[email protected]>2017-02-14 14:47:40 -0800
commita3e4fa5495abd12d19c35a23156dbf8898049830 (patch)
tree7b64c23232f706a657e729e2e536223e4db8e2b3
parentf434a60a538bb3b8813f3bdcaa55e34a67279dee (diff)
glsl: Handle packed_type == ivec4[] in lower_packed_varyings().
For GS input arrays, we may turn a packed_type of ivec4 into an array of ivec4s. We still want flat qualification. Found by inspection. Not known to help anything. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]>
-rw-r--r--src/compiler/glsl/lower_packed_varyings.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/glsl/lower_packed_varyings.cpp b/src/compiler/glsl/lower_packed_varyings.cpp
index 1e9bdda12b1..13f7e5b52da 100644
--- a/src/compiler/glsl/lower_packed_varyings.cpp
+++ b/src/compiler/glsl/lower_packed_varyings.cpp
@@ -704,7 +704,8 @@ lower_packed_varyings_visitor::get_packed_varying_deref(
packed_var->data.centroid = unpacked_var->data.centroid;
packed_var->data.sample = unpacked_var->data.sample;
packed_var->data.patch = unpacked_var->data.patch;
- packed_var->data.interpolation = packed_type == glsl_type::ivec4_type
+ packed_var->data.interpolation =
+ packed_type->without_array() == glsl_type::ivec4_type
? unsigned(INTERP_MODE_FLAT) : unpacked_var->data.interpolation;
packed_var->data.location = location;
packed_var->data.precision = unpacked_var->data.precision;