Commit: 34b24fb6025011a28fcce4fc85e9132f7bf1cf57
Author: Jacques Lucke
Date: Fri Jan 6 17:59:07 2023 +0100
Branches: master
https://developer.blender.org/rB34b24fb6025011a28fcce4fc85e9132f7bf1cf57
BLI: use proper alignment for new matrix types
===================================================================
M source/blender/blenlib/BLI_math_matrix_types.hh
===================================================================
diff --git a/source/blender/blenlib/BLI_math_matrix_types.hh
b/source/blender/blenlib/BLI_math_matrix_types.hh
index 6d6e738fc4b..f2cc66ebc1b 100644
--- a/source/blender/blenlib/BLI_math_matrix_types.hh
+++ b/source/blender/blenlib/BLI_math_matrix_types.hh
@@ -70,7 +70,7 @@ template<
int NumRow,
/* Alignment in bytes. Do not align matrices whose size is not a multiple
of 4 component.
* This is in order to avoid padding when using arrays of matrices. */
- int Alignment = (((NumCol * NumRow) % 4) ? 4 : 0) * sizeof(T)>
+ int Alignment = (((NumCol * NumRow) % 4 == 0) ? 4 : 1) * alignof(T)>
struct alignas(Alignment) MatBase : public vec_struct_base<vec_base<T,
NumRow>, NumCol> {
using base_type = T;
@@ -923,8 +923,8 @@ using float4x4 = MatBase<float, 4, 4>;
/* These types are reserved to wrap C matrices without copy. Note the
un-alignment. */
/* TODO: It would be preferable to align all C matrices inside DNA structs. */
-using float4x4_view = MatView<float, 4, 4, 4, 4, 0, 0, /* Alignment */ 0>;
-using float4x4_mutableview = MutableMatView<float, 4, 4, 4, 4, 0, 0, /*
Alignment */ 0>;
+using float4x4_view = MatView<float, 4, 4, 4, 4, 0, 0, alignof(float)>;
+using float4x4_mutableview = MutableMatView<float, 4, 4, 4, 4, 0, 0,
alignof(float)>;
using double2x2 = MatBase<double, 2, 2>;
using double2x3 = MatBase<double, 2, 3>;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs