Differences From Artifact [e3aa63e106]:
- File
src/OFMatrix4x4.h
— part of check-in
[71237f1a49]
at
2024-03-28 15:58:47
on branch trunk
— OFMatrix4x4: Move values to ivars
This should work now that objects are properly aligned. (user: js, size: 2727) [annotate] [blame] [check-ins using]
To Artifact [06311cf4f1]:
- File
src/OFMatrix4x4.h
— part of check-in
[1af54eb2c2]
at
2024-04-02 03:21:12
on branch trunk
— Only align OFVector4D where necessary
Changing the alignment of OFVector4D globally (as was done previously)
would have technically been an ABI break in extremely rare cases.
However, since we only need the alignment for the methods added after
1.0, it's better to only have the alignment there and get back to full
ABI compatibility with 1.0. (user: js, size: 2967) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | * @param vector The vector to transform * @return The transformed vector */ - (OFVector4D)transformedVector: (OFVector4D)vector; /** * @brief Transforms the specified vectors in-place according to the matrix. * * @param vectors The vectors to transform * @param count The count of the specified vectors */ - (void)transformVectors: (OFVector4D *)vectors count: (size_t)count; @end OF_ASSUME_NONNULL_END | > > > > > | 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | * @param vector The vector to transform * @return The transformed vector */ - (OFVector4D)transformedVector: (OFVector4D)vector; /** * @brief Transforms the specified vectors in-place according to the matrix. * * @warning Please note that the vectors must be 16 byte aligned! This is * required to allow SIMD optimizations. Passing a pointer to vectors * that are not 16 byte aligned will crash if SIMD optimizations are * enabled. * * @param vectors The vectors to transform * @param count The count of the specified vectors */ - (void)transformVectors: (OFVector4D *)vectors count: (size_t)count; @end OF_ASSUME_NONNULL_END |