diff --git a/src/compiler/glsl/glsl_to_nir.cpp b/src/compiler/glsl/glsl_to_nir.cpp index 2043ea8d8ba..8ef74066925 100644 --- a/src/compiler/glsl/glsl_to_nir.cpp +++ b/src/compiler/glsl/glsl_to_nir.cpp @@ -464,6 +464,7 @@ nir_visitor::visit(ir_variable *ir) var->data.precision = ir->data.precision; var->data.explicit_location = ir->data.explicit_location; + var->data.matrix_layout = ir->data.matrix_layout; var->data.from_named_ifc_block = ir->data.from_named_ifc_block; var->data.compact = false; diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index c76d009bf8c..b9a5637e68e 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -439,6 +439,11 @@ typedef struct nir_variable { */ unsigned explicit_offset:1; + /** + * Layout of the matrix. Uses glsl_matrix_layout values. + */ + unsigned matrix_layout:2; + /** * Non-zero if this variable was created by lowering a named interface * block.