History of file src/OFMatrix4x4.m at check-in 80f3a121e5b8701f
2024-05-01
| ||
15:19 |
Document a lot of undocumented functions & macros
Also fixes Doxygen not creating documentation for `static OF_INLINE` | |
2024-04-03
| ||
02:16 | Change license to LGPLv3 only file: [a90d32dcbf] check-in: [7413a728a7] user: js, branch: trunk, size: 10553 [annotate] [blame] [check-ins using] [diff] | |
2024-04-02
| ||
03:21 |
Only align OFVector4D where necessary
Changing the alignment of OFVector4D globally (as was done previously) | |
2024-03-28
| ||
15:58 |
OFMatrix4x4: Move values to ivars
This should work now that objects are properly aligned. file: [67c177d7d9] check-in: [71237f1a49] user: js, branch: trunk, size: 10332 [annotate] [blame] [check-ins using] [diff] | |
2024-02-03
| ||
11:41 | Update copyright file: [2c87027fdc] check-in: [7324ec8590] user: js, branch: 1.0, size: 5609 [annotate] [blame] [check-ins using] [diff] | |
2024-01-02
| ||
17:17 | Update copyright file: [9ade524fc2] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 10533 [annotate] [blame] [check-ins using] [diff] | |
2023-11-09
| ||
21:09 | Use named operands for __asm__ file: [c5d68e8b03] check-in: [1b22456db6] user: js, branch: trunk, size: 10533 [annotate] [blame] [check-ins using] [diff] | |
2023-11-06
| ||
20:17 |
OFMatrix4x4: Use an extra SSE register on AMD64
This gives another nice speed improvement. file: [a4f9a5f812] check-in: [5edf0d083d] user: js, branch: trunk, size: 9943 [annotate] [blame] [check-ins using] [diff] | |
20:11 | OFMatrix4x4: Fix missing vector reload in SSE file: [b53637018a] check-in: [9ba7594f7b] user: js, branch: trunk, size: 9780 [annotate] [blame] [check-ins using] [diff] | |
00:59 |
OFMatrix4x4: SSE1 for -[transformVectors:count:]
This new SSE1 implementation is better than the SSE4.1 implementation, | |
2023-11-05
| ||
18:18 |
OFMatrix4x4: Unroll inner loop in 3DNow! version
This results in a ~ 16% performance improvement on a Duron 750. file: [b31d5e9464] check-in: [3280466d35] user: js, branch: trunk, size: 9256 [annotate] [blame] [check-ins using] [diff] | |
13:37 |
OFMatrix4x4: Improve 3DNow! implementation
The new 3DNow! implementation is now better than the Enhanced 3DNow! | |
2023-11-04
| ||
13:13 | Make GCC happy again file: [6d7dc755b7] check-in: [998478014d] user: js, branch: trunk, size: 11724 [annotate] [blame] [check-ins using] [diff] | |
13:10 |
OFMatrix4x4: Restore SSE4.1 code
The Clang alignment bug has been worked around in the previous commit, | |
13:06 | Work around Clang not aligning ivars correctly file: [1cf8596c69] check-in: [055e14fc75] user: js, branch: trunk, size: 10447 [annotate] [blame] [check-ins using] [diff] | |
2023-11-03
| ||
00:16 |
OFMatrix4x4: SSE4.1 for -[transformVectors:count:]
This requires the vectors to be 16 byte aligned. In order to achieve | |
2023-11-02
| ||
23:00 | OFMatrix4x4: Minor cleanups file: [740fcdd16f] check-in: [b5c3a36731] user: js, branch: trunk, size: 10267 [annotate] [blame] [check-ins using] [diff] | |
22:48 | OFMatrix4x4: Move __asm__ out of loop file: [a12ee064b0] check-in: [0d671245d4] user: js, branch: trunk, size: 10093 [annotate] [blame] [check-ins using] [diff] | |
2023-11-01
| ||
21:22 |
OFMatrix4x4: Use __asm__ __volatile__
The outputs aren't consumed as they are used as inputs that can be | |
20:54 | Add -[OFMatrix4x4 transformVectors:count:] file: [43a6889a80] check-in: [ad6b3e6442] user: js, branch: trunk, size: 9504 [annotate] [blame] [check-ins using] [diff] | |
2023-10-31
| ||
23:53 | OFMatrix4x4: Add Enhanced 3DNow! implementation file: [e50ac72e61] check-in: [089a51310c] user: js, branch: trunk, size: 8936 [annotate] [blame] [check-ins using] [diff] | |
22:14 | OFMatrix4x4: Add #pragma GCC target("3dnow") file: [240d8b02dd] check-in: [fa3c89f802] user: js, branch: trunk, size: 6771 [annotate] [blame] [check-ins using] [diff] | |
20:27 |
OFMatrix4x4: Partially unroll multiplication loop
This way, `result` doesn't need to be initialized. file: [b494f24572] check-in: [d53c87e7bb] user: js, branch: trunk, size: 6634 [annotate] [blame] [check-ins using] [diff] | |
20:25 |
Don't use -masm=intel
It's broken in older versions of Clang (e.g. Clang 12). file: [c5f86994f5] check-in: [d9af65de97] user: js, branch: trunk, size: 6546 [annotate] [blame] [check-ins using] [diff] | |
2023-10-30
| ||
23:58 | OFMatrix4x4: Use 3DNow! to transform vectors file: [9f0079818c] check-in: [1ac0583aae] user: js, branch: trunk, size: 6482 [annotate] [blame] [check-ins using] [diff] | |
23:31 | OFMatrix4x4: Use 3DNow! for multiplication file: [5d349ae57d] check-in: [5b213166ee] user: js, branch: trunk, size: 4918 [annotate] [blame] [check-ins using] [diff] | |
2023-10-29
| ||
12:03 |
OFMatrix4x4: Convert multiplication to loop
This should make vectorization easier. file: [ccf7b44cda] check-in: [cf4d6a3dfa] user: js, branch: trunk, size: 3699 [annotate] [blame] [check-ins using] [diff] | |
2023-08-17
| ||
14:53 | Add more designated initializers file: [7871015766] check-in: [abc315cc89] user: js, branch: trunk, size: 5609 [annotate] [blame] [check-ins using] [diff] | |
2023-02-19
| ||
17:40 | Make GCC happy again file: [77a89afbe5] check-in: [d377e8819e] user: js, branch: trunk, size: 5559 [annotate] [blame] [check-ins using] [diff] | |
13:37 |
OFMatrix4x4: Use 2D arrays in row-major format
This allows writing matrices more naturally, without having to transpose | |
2023-02-18
| ||
23:53 |
OFMatrix4x4: Don't create a singleton
A singleton for the identity matrix makes no sense since OFMatrix4x4 is | |
12:01 | OFMatrix4x4: Transform vectors in 4D space file: [2f91cc67c5] check-in: [e31a31bdcb] user: js, branch: trunk, size: 4483 [annotate] [blame] [check-ins using] [diff] | |
2023-02-16
| ||
21:37 | OFMatrix4x4: Add translation and scaling file: [284898f541] check-in: [3e4ed4e59f] user: js, branch: trunk, size: 6201 [annotate] [blame] [check-ins using] [diff] | |
19:59 |
OFVector3D -> OFPoint3D
For now, we're only interested in transformed points. file: [630e704e06] check-in: [db7991d07b] user: js, branch: trunk, size: 5642 [annotate] [blame] [check-ins using] [diff] | |
2023-02-15
| ||
21:54 | OFMatrix4x4: Add -[transformedVector3D:] file: [97bdb88364] check-in: [1e550fabe3] user: js, branch: trunk, size: 5614 [annotate] [blame] [check-ins using] [diff] | |
2023-02-13
| ||
20:32 | Support for storing OFColors in tagged pointers file: [61d81a3bf6] check-in: [51c8047121] user: js, branch: trunk, size: 5286 [annotate] [blame] [check-ins using] [diff] | |
2023-02-12
| ||
22:20 |
Add OFMatrix4x4 and OFVector3D
These will be useful for 3D graphics. file: [8c09d10573] check-in: [44eb35b212] user: js, branch: trunk, size: 5287 [annotate] [blame] [check-ins using] | |
2021-09-26
| ||
20:48 | OF4x4Matrix: Add -[multiplyWithMatrix:] file: [cd962a5d85] check-in: [42b5eee531] user: js, branch: 3d-affine-transforms, size: 5098 [annotate] [blame] [check-ins using] [diff] | |
2021-09-24
| ||
01:35 | Added: Add initial OF4x4Matrix file: [070da82233] check-in: [831ce30929] user: js, branch: 3d-affine-transforms, size: 2414 [annotate] [blame] [check-ins using] | |