0
0
forked from blender/blender
The official Blender project repository.
Go to file
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: blender/blender#127838
2024-09-22 17:39:54 +02:00
.gitea Issue template: Use bug label for Python API reports 2024-08-22 04:28:52 +02:00
.github Funding: Add FUNDING.yml to link to fund.blender.org on GitHub mirror 2024-07-31 10:03:57 +02:00
build_files UV: add support for the SLIM unwrapping algorithm 2024-09-21 16:48:53 +10:00
doc UV: add support for the SLIM unwrapping algorithm 2024-09-21 16:48:53 +10:00
extern Cleanup: spelling in comments 2024-09-20 13:14:57 +10:00
intern Cleanup: various non functional changes 2024-09-22 18:25:40 +10:00
lib Linux: update ShaderC 2024-09-20 13:06:11 +10:00
locale I18N: Updated UI translations from git/weblate repository (849a7536ac6d4). 2024-09-16 13:26:34 +02:00
release GPv3: Rename Cutter tool to Trim 2024-09-13 16:56:51 +02:00
scripts GPv3: Missing stroke panel in tool properties tab 2024-09-21 12:57:41 +02:00
source BLI: faster float<->half array conversions, use in Vulkan 2024-09-22 17:39:54 +02:00
tests Tests: Add geometry nodes test for realize instance single geometry 2024-09-20 22:20:45 -04:00
tools Tools: support excluding directories for "make format" 2024-09-21 19:56:21 +10:00
.clang-format Clang-Format: Ensure single new line at the end of files 2024-02-22 14:42:10 +01:00
.clang-tidy Clang-tidy: Ignore variable name length and .c/.cc include warnings 2022-05-06 15:26:54 +02:00
.editorconfig editorconfig: add HTML entry 2023-12-08 13:28:13 +11:00
.git-blame-ignore-revs Cleanup: add commit to .git-blame-ignore-revs 2023-05-03 20:31:11 +10:00
.gitignore Switch SVN to Git submodules using Git-LFS 2024-02-22 13:50:55 +01:00
.gitmodules Revert "Release: Updates for the 4.2 branch" 2024-06-05 12:33:31 +02:00
AUTHORS AUTHORS: add 2 new authors, 3 updated names 2024-07-05 21:04:39 +10:00
CMakeLists.txt UV: add support for the SLIM unwrapping algorithm 2024-09-21 16:48:53 +10:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile Tools: support check_spelling for CMake files 2024-09-20 13:14:56 +10:00
make.bat Cleanup: remove unused icon utilities and make convenience target 2024-06-27 18:28:32 +02:00
pyproject.toml Extensions: Support online extensions and move add-ons outside Blender 2024-05-15 19:26:29 +02:00
README.md Docs: Replace most wiki links with links to new developer docs 2024-01-18 16:49:38 +01:00

Blender

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.

Blender screenshot

Project Pages

Development

License

Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.

See blender.org/about/license for details.