glsl: fix varying packing for 64bit integers

Without this we can incorrectly end up marking things as making
use of ARB_enhanced_layouts style packing.

Cc: 19.3 20.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4328>
This commit is contained in:
Timothy Arceri 2020-03-26 19:03:51 +11:00 committed by Marge Bot
parent ba2ec1f369
commit 8b9ebbcb54

View file

@ -2095,7 +2095,7 @@ varying_matches::store_locations() const
const glsl_type *type =
get_varying_type(producer_var, producer_stage);
if (type->is_array() || type->is_matrix() || type->is_struct() ||
type->is_double()) {
type->is_64bit()) {
unsigned comp_slots = type->component_slots() + offset;
unsigned slots = comp_slots / 4;
if (comp_slots % 4)