Aras Pranckevicius
c6f5c89669
BLI: faster float<->half array conversions, use in Vulkan
...
In addition to float<->half functions to convert one number (#127708 ), add
float_to_half_array and half_to_float_array functions:
- On x64, this uses SSE2 4-wide implementation to do the conversion
(2x faster half->float, 4x faster float->half compared to scalar),
- There's also an AVX2 codepath that uses CPU hardware F16C instructions
(8-wide), to be used when/if blender codebase will start to be built
for AVX2 (today it is not yet).
- On arm64, this uses NEON VCVT instructions to do the conversion.
Use these functions in Vulkan buffer/texture conversion code. Time taken to
convert float->half texture while viewing EXR file in image space (22M
numbers to convert): 39.7ms -> 10.1ms (would be 6.9ms if building for AVX2)
Pull Request: https://projects.blender.org/blender/blender/pulls/127838
2024-09-22 17:39:54 +02:00
..
2024-07-25 11:24:11 +10:00
2024-01-21 13:22:16 +01:00
2024-01-03 13:38:14 +01:00
2024-02-14 13:40:31 +11:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2024-05-21 18:20:54 +02:00
2023-08-16 00:20:26 +10:00
2024-08-29 12:15:33 +02:00
2024-02-14 13:40:31 +11:00
2023-08-16 00:20:26 +10:00
2024-03-05 14:32:48 +01:00
2024-08-06 14:33:53 +02:00
2023-08-16 00:20:26 +10:00
2024-03-31 22:47:23 +11:00
2023-08-16 00:20:26 +10:00
2024-02-27 23:09:54 -05:00
2024-02-14 13:40:31 +11:00
2023-08-16 00:20:26 +10:00
2024-03-28 22:57:57 +11:00
2023-12-07 12:45:27 +11:00
2024-03-27 10:31:24 +11:00
2024-09-03 18:06:12 +02:00
2024-07-22 16:35:36 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2024-06-23 12:14:19 +10:00
2024-02-02 19:55:06 +01:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-12-01 11:19:39 +01:00
2024-03-17 09:52:32 +01:00
2024-09-14 21:09:41 +02:00
2024-02-22 12:57:10 +01:00
2024-08-29 12:15:33 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 14:48:53 +03:00
2024-02-28 22:22:21 +01:00
2024-02-14 13:40:31 +11:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2024-02-14 13:40:31 +11:00
2023-08-16 00:20:26 +10:00
2024-09-17 15:48:06 +02:00
2024-08-29 12:15:33 +02:00
2024-05-03 12:05:56 +02:00
2024-02-11 17:16:17 +11:00
2024-09-22 17:39:54 +02:00
2024-03-21 13:22:10 +01:00
2024-04-15 18:04:19 +02:00
2024-03-03 16:26:04 +01:00
2024-06-06 19:26:40 +02:00
2024-06-28 12:16:56 +02:00
2024-03-28 22:57:57 +11:00
2023-08-16 00:20:26 +10:00
2023-08-17 15:05:52 +02:00
2023-08-16 00:20:26 +10:00
2023-10-20 10:27:26 +02:00
2024-08-19 20:39:32 +02:00
2024-08-16 17:20:19 +02:00
2024-02-14 13:40:31 +11:00
2023-08-16 00:20:26 +10:00
2024-02-15 13:15:56 +11:00
2023-08-16 00:20:26 +10:00
2024-09-12 20:28:35 +02:00
2024-09-03 21:37:13 +10:00
2023-08-29 17:00:33 +02:00
2024-02-14 13:40:31 +11:00
2024-02-17 20:59:45 +01:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2024-01-22 13:47:13 +01:00
2024-02-14 13:40:31 +11:00
2024-05-29 14:54:31 +02:00
2024-02-14 13:40:31 +11:00
2023-10-06 03:02:17 +02:00
2024-02-20 17:52:14 +01:00
2023-10-06 16:38:45 +02:00
2024-05-02 10:20:56 +10:00
2024-09-21 16:18:40 +10:00
2023-11-02 16:43:04 +11:00
2023-08-16 00:20:26 +10:00
2023-12-01 15:29:36 +01:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2024-02-20 15:20:11 +01:00
2024-02-14 13:40:31 +11:00
2024-02-14 13:40:31 +11:00
2024-08-15 13:40:05 +02:00