glsl: fix varying packing for 64bit integers
authorTimothy Arceri <tarceri@itsqueeze.com>
Thu, 26 Mar 2020 08:03:51 +0000 (19:03 +1100)
committerMarge Bot <eric+marge@anholt.net>
Fri, 27 Mar 2020 07:26:39 +0000 (07:26 +0000)
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>

src/compiler/glsl/link_varyings.cpp

index 5219294ad7bf90cf7c38dc42b5554e22c6cd0242..7af97cddc0ccd0375c2339bfad0ddf4af383a8b1 100644 (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)