diff options
author | Kenneth Graunke <[email protected]> | 2017-02-11 00:25:57 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2017-02-14 14:47:40 -0800 |
commit | a3e4fa5495abd12d19c35a23156dbf8898049830 (patch) | |
tree | 7b64c23232f706a657e729e2e536223e4db8e2b3 /src/compiler/glsl/lower_packed_varyings.cpp | |
parent | f434a60a538bb3b8813f3bdcaa55e34a67279dee (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]>
Diffstat (limited to 'src/compiler/glsl/lower_packed_varyings.cpp')
-rw-r--r-- | src/compiler/glsl/lower_packed_varyings.cpp | 3 |
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; |