summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2020-03-26 19:03:51 +1100
committerEric Engestrom <[email protected]>2020-03-30 12:26:45 +0200
commitc16dfe1c63dcc62c3ae266601bd337b0dc9d5430 (patch)
treec8e3e63bc3187f8b30ba173e5feb02e6d9bc3e6a
parentdfc0a5cc14d33ea94555d4f4b316485f23cb1bd1 (diff)
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 <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4328> (cherry picked from commit 8b9ebbcb546816f525298dc24711c1922751e312)
-rw-r--r--.pick_status.json2
-rw-r--r--src/compiler/glsl/link_varyings.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 3016971a806..9d97f72c88d 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -598,7 +598,7 @@
"description": "glsl: fix varying packing for 64bit integers",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": null
},
diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp
index 0868d1504db..fe42be332a7 100644
--- a/src/compiler/glsl/link_varyings.cpp
+++ b/src/compiler/glsl/link_varyings.cpp
@@ -2051,7 +2051,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)