diff options
author | Marek Olšák <marek.olsak@amd.com> | 2019-10-30 20:18:05 -0400 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2019-11-01 19:19:03 -0400 |
commit | 86adce4fef170ad13e4dc7e341de241bd673993f (patch) | |
tree | 6bb913be70669df8230914b3eee5394ce11fa413 /src/compiler/glsl_types.cpp | |
parent | 21d2fbb8c3e0bfaec1b6896e117df4ae3161d677 (diff) |
glsl: encode vector_elements and matrix_columns better
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Diffstat (limited to 'src/compiler/glsl_types.cpp')
-rw-r--r-- | src/compiler/glsl_types.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/compiler/glsl_types.cpp b/src/compiler/glsl_types.cpp index 017b84a9bda..16cc79445e2 100644 --- a/src/compiler/glsl_types.cpp +++ b/src/compiler/glsl_types.cpp @@ -2578,9 +2578,9 @@ union packed_type { struct { unsigned base_type:5; unsigned interface_row_major:1; - unsigned vector_elements:6; - unsigned matrix_columns:4; - unsigned _pad:16; + unsigned vector_elements:3; + unsigned matrix_columns:3; + unsigned _pad:20; } basic; struct { unsigned base_type:5; @@ -2619,6 +2619,8 @@ encode_type_to_blob(struct blob *blob, const glsl_type *type) case GLSL_TYPE_INT64: case GLSL_TYPE_BOOL: encoded.basic.interface_row_major = type->interface_row_major; + assert(type->vector_elements < 8); + assert(type->matrix_columns < 8); encoded.basic.vector_elements = type->vector_elements; encoded.basic.matrix_columns = type->matrix_columns; blob_write_uint32(blob, encoded.u32); |