Commit Graph

1507 Commits

Author SHA1 Message Date
Aras Pranckevicius 986f493812 Audaspace: faster audio resampling
Previously in Audaspace there was choice between linear resampler (okay
for preview, but not great for final mix), or "extremely high quality
preset" for rendering the final mix; with nothing in between. I have just
landed "medium" and "low" resampler quality levels in upstream Audaspace
(see https://github.com/audaspace/audaspace/pull/18 with details and
quality spectograms, also comparison with Audacity resampler).

This PR updates Audaspace to latest upstream, and switches to use the newly
added "medium" quality resampler. There's no audible difference (nor visible
one in spectrograms), as far as I can tell.

Timings, rendering out frames 1000-3000 of Sprite Fright Edit blender
studio data set:
- Windows (Ryzen 5950X, VS2022): 92 -> 73 sec
- Mac (M1 Max, clang 15): 70 -> 62 sec

i.e. using a faster audio resampler makes the _whole render process_ be
10-20% faster (however, this from VSE where it combines already pre-rendered
image strips).

Pull Request: https://projects.blender.org/blender/blender/pulls/116059
2024-01-03 21:23:24 +01:00
bsavery d2e91fb0d7 Cycles: add ROCm 6 compatibility for HIP
ROCm 6 brings some changes to the HIP API. This pull request is meant to be
backward and forward compatible.

That is Blender could be compiled with either ROCM 6 or 5 and run on either.
The main change is the hipMemoryType enum, which we check based on the
runtime version to use the correct enum values.

Without this, HIP will not work on Windows with upcoming 23.40 driver.

Pull Request: https://projects.blender.org/blender/blender/pulls/116713
2024-01-03 18:16:07 +01:00
Brecht Van Lommel 1f3ce2a311 Build: changes to macOS build flags to fix linker warnings
* Different fix for Mantaflow linker warnings that works with new OpenVDB.
* Use new linker for arm64 as it no longer produces warnings with latest
  Xcode. Still use the old one for x86_64 as some warnings remain.
* Fix wrong x86_64 build target in deps builder.

For the upcoming 4.1 libraries.

Ref #113157

Pull Request: https://projects.blender.org/blender/blender/pulls/116708
2024-01-02 16:22:48 +01:00
Brecht Van Lommel e06561a27a Build: replace Blender specific DEBUG by standard NDEBUG
NDEBUG is part of the C standard and disables asserts. Only this will
now be used to decide if asserts are enabled.

DEBUG was a Blender specific define, that has now been removed.

_DEBUG is a Visual Studio define for builds in Debug configuration.
Blender defines this for all platforms. This is still used in a few
places in the draw code, and in external libraries Bullet and Mantaflow.

Pull Request: https://projects.blender.org/blender/blender/pulls/115774
2023-12-06 16:05:14 +01:00
Campbell Barton 7897e2d299 Cleanup: remove warning suppression which is no longer needed
Since updating fmtlib these aren't needed.
2023-11-30 15:02:52 +11:00
Aras Pranckevicius c0e5929ad2 Externals: update fmtlib to latest version (10.1.1)
The library is used by OBJ/PLY/STL exporters, and several other parts.
Performance of OBJ/PLY export seems to be the same.
2023-11-21 10:43:14 +02:00
Hans Goudey a404a356e2 Merge branch 'blender-v4.0-release' 2023-10-31 18:17:46 +01:00
bsavery b7b74385cd Cycles: update Linux library search paths for upcoming ROCm 6
Pull Request: https://projects.blender.org/blender/blender/pulls/114178
2023-10-31 17:54:03 +01:00
Campbell Barton 0e8e8fa462 CMake: mark WITH_COMPILER_ASAN_EXTERN as advanced, quiet warning 2023-10-31 10:42:06 +11:00
Brecht Van Lommel 39107b3133 Revert changes from main commits that were merged into blender-v4.0-release
The last good commit was 8474716abb.

After this commits from main were pushed to blender-v4.0-release. These are
being reverted.

Commits a4880576dc from to b26f176d1a that happend afterwards were meant for
4.0, and their contents is preserved.
2023-10-30 21:40:35 +01:00
Sergey Sharybin 21c8af467d Cleanup: Convert winfunc and utfconv to C++
Basically, the intern/utfconv directory, as well as users of
these headers.

Pull Request: https://projects.blender.org/blender/blender/pulls/113901
2023-10-20 10:27:31 +02:00
Bastien Montagne ab91c18995 Fix linking errors when doing full debug build with ASAN: Disable ASAN for `extern`.
With current main code, trying to build a full debug build with ASAN
enabled will fail at linking, due to out-of-bound memory references
within the binary file, e.g.:

```
  mold: error: /usr/lib/gcc/x86_64-linux-gnu/13/crtbegin.o:(.text):
        relocation R_X86_64_32S against .tm_clone_table out of range:
        2147741344 is not in [-2147483648, 2147483648)
```

This commit works around the issue by disabling ASAN by default for the
`extern` dependencies. A new `WITH_COMPILER_ASAN_EXTERN` CMake
option is added to enable it if needed - some other components need to be
disabled then.

NOTE: This is more of an emergency band-aid to the general binary size issue,
see #113892 for on-going discussions about better solutions in the long term.

Pull Request: https://projects.blender.org/blender/blender/pulls/113891
2023-10-19 11:07:06 +02:00
Campbell Barton 126cf64004 CMake: quiet undefined variable use with MOLTENVK on non-apple systems 2023-10-07 18:25:44 +11:00
Campbell Barton 04d4f73585 Cleanup: quiet unused variable warning for CMake 2023-10-05 13:59:09 +11:00
Campbell Barton 2f71d9f807 Build: quiet GCC warning for extern/fmtlib 2023-10-05 10:50:58 +11:00
Marcos Perez 1015bed2fd VSE: Sound equalizer modifier
The sound equalizer is using the Audaspace FFT Convolver.
The blender part creates an array of descriptions of power per "band"
and orders the creation of Equalizer (ISound) in the Audaspace.

Modifier can be created on sound strips. It lets you define
amplification or attenuation over frequency range from 30Hz to 20 kHz.
The power is limited to -30 db - 30 db. This is done using curve
mapping widget.

Co-authored-by: menda <alguien@aqui.es>
Co-authored-by: Richard Antalik <richardantalik@gmail.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/105613
2023-08-30 22:36:36 +02:00
Campbell Barton 8b840eb896 Cleanup: quiet redefined warning in GLOG 2023-08-17 16:09:58 +10:00
Campbell Barton 08b77bfd44 CMake: resolve undefined PROJECT_VERSION warning for quadriflow/lemon
While it seems harmless, LEMON_VERSION wasn't set by our CMake files.
2023-08-17 11:54:01 +10:00
Campbell Barton af16faf5d7 CMake: quiet AUDASPACE warning setting an old minimum_version
PR submitted upstream.
2023-08-17 11:53:59 +10:00
Campbell Barton c713c70781 CMake: quiet uninitialized warnings 2023-08-17 11:53:56 +10:00
Campbell Barton e955c94ed3 License Headers: Set copyright to "Blender Authors", add AUTHORS
Listing the "Blender Foundation" as copyright holder implied the Blender
Foundation holds copyright to files which may include work from many
developers.

While keeping copyright on headers makes sense for isolated libraries,
Blender's own code may be refactored or moved between files in a way
that makes the per file copyright holders less meaningful.

Copyright references to the "Blender Foundation" have been replaced with
"Blender Authors", with the exception of `./extern/` since these this
contains libraries which are more isolated, any changed to license
headers there can be handled on a case-by-case basis.

Some directories in `./intern/` have also been excluded:

- `./intern/cycles/` it's own `AUTHORS` file is planned.
- `./intern/opensubdiv/`.

An "AUTHORS" file has been added, using the chromium projects authors
file as a template.

Design task: #110784

Ref !110783.
2023-08-16 00:20:26 +10:00
Jeroen Bakker 1bbfa8c5d3 Fix: Compilation issue GCC13 with Vulkan
Has been reported by different developers that the Vulkan
backend doesn't compile on GCC13.

Pull Request: https://projects.blender.org/blender/blender/pulls/110992
2023-08-10 11:27:44 +02:00
Campbell Barton 10615e98bc Revert white-space edit from cc95c02a89 2023-08-10 17:45:38 +10:00
Campbell Barton cc95c02a89 Fix building WITH_OPENGL_BACKEND=OFF 2023-08-10 17:40:24 +10:00
Ray Molenkamp 4718c084e6 Cleanup: CMake: Modernize bf_extern_curve_fit_nd dependencies
Pretty straightforward

- Remove any curve_fit_nd paths from INC
- Add a dependency though LIB when missing

context: https://devtalk.blender.org/t/cmake-cleanup/30260

Pull Request: https://projects.blender.org/blender/blender/pulls/110762
2023-08-03 16:50:25 +02:00
Jörg Müller 7c3a779bc2 Fix #110336 Regression: Speaker ignoring of the starting position in NLA track
Porting fix from upstream:

Bugfix for reading an animated property with a negative time value.

This can now happen in SequenceHandle::seek.
2023-07-24 16:44:05 +02:00
Harley Acheson 565436bf5f UI: SVG Thumbnails
Allow SVG files to have previews in the File Browser. Adds
nanosvgrast.h to extern\nanosvg\, which is an SVG rasterizer that is
an optional part of the nanosvg source.

Pull Request: https://projects.blender.org/blender/blender/pulls/109567
2023-07-12 22:39:23 +02:00
Harley Acheson aa700821a8 Extern: Update NanoSVG
Update to current version of NanoSVG

Pull Request: https://projects.blender.org/blender/blender/pulls/109948
2023-07-12 21:27:00 +02:00
Julian Eisel 3d1bcb3b74 Extern: Update json library to 3.11.2
Update nlohman/json library from 3.10.2 (released 2021-08-26) to 3.11.2
(released 2022-08-12). No specific reason for an update, just to keep
libraries up-to-date.

Release logs: https://github.com/nlohmann/json/releases

Note: The library may use `std::filesystem` now, which was an issue on
macOS for Blender before. Availability is checked first though, so this
should be fine.

Pull Request: https://projects.blender.org/blender/blender/pulls/108519
2023-07-11 18:01:18 +02:00
Campbell Barton 25cc1b3029 Cleanup: disable -Weverything for clang under extern/
This is very noisy and didn't result in useful warnings.
2023-07-05 13:20:53 +10:00
Brecht Van Lommel 2ee0c23a82 Fix #109562: Cycles HIP device not found on Debian
Try loading ROCm 5.x libraries specifically, as the .so without version
is only part of the development package.

Thanks to Lee Ringham investigating and proposing this solution.
2023-07-04 14:21:34 +02:00
Sergey Sharybin 4e165c9d6f Update Eigen to version 3.4.0
Reportedly, it helps moving the Windows Arm libraries forward.

Pull Request: https://projects.blender.org/blender/blender/pulls/109378
2023-07-03 15:09:20 +02:00
Brecht Van Lommel c7319e6c79 Merge branch 'blender-v3.6-release' into main 2023-06-20 20:49:44 +02:00
salipourto b84d4dd16d Fix various HIP RT issues
* Motion blur issues due to missing ray time
* Wrong bitcode path for runtime compilation
* Quiet logging

Pull Request: https://projects.blender.org/blender/blender/pulls/109170
2023-06-20 20:47:10 +02:00
Campbell Barton 69d92bd3de Cleanup: remove strcpy usage
Remove strcpy use in:

- bone_autoside_name
- BLI_string_flip_side_name
- datatoc_icon utility.
- RNA define error messages.
- RNA UI registration.
- extern/xdnd.
2023-06-20 13:26:38 +10:00
Campbell Barton 24fef21bf8 Cleanup: cmake indentation 2023-06-16 12:20:33 +10:00
Campbell Barton 3331aaaf16 CMake: add missing headers 2023-06-16 09:49:56 +10:00
Campbell Barton 65f99397ec License headers: use SPDX-FileCopyrightText in all sources 2023-06-15 13:35:34 +10:00
Campbell Barton 49594c37ae License headers: use SPDX-FileCopyrightText for CMake files 2023-06-14 23:36:23 +10:00
Brecht Van Lommel 835252fd1c Merge branch 'blender-v3.6-release' into main 2023-06-13 19:48:48 +02:00
Brad Smith 57f7721ffc Build: fix NetBSD support in Glog
Pull Request: https://projects.blender.org/blender/blender/pulls/108835
2023-06-13 19:46:11 +02:00
Campbell Barton b9ddf2aec6 CMake: quiet uninitialized warning in fmtlib
This can be removed after the next upgrade.
2023-06-08 11:58:05 +10:00
Jeroen Bakker 3f89ec2866 Vulkan: Copy Between Textures
This PR adds support for copying between two textures.

Pull Request: https://projects.blender.org/blender/blender/pulls/108413
2023-05-30 13:50:35 +02:00
Aras Pranckevicius 0d38fa2422 Externals: compile fmtlib as a library instead of using it with FMT_HEADER_ONLY 2023-05-30 11:17:23 +03:00
Aras Pranckevicius 122c48aed0 Externals: update fmtlib to latest version (10.0.0)
The library is used by OBJ/PLY exporters, and asset_catalog_tree_view.
Performance of OBJ/PLY export seems to be the same. Blender executable
gets a tiny bit smaller (-5kb) on windows.
2023-05-30 10:48:43 +03:00
Aras Pranckevicius 1be9d9cb63 Externals: update fast_float to latest version (5.0.0) to fix some compile warnings
The library is used by OBJ/STL/PLY importers
2023-05-30 10:01:48 +03:00
Jörg Müller e98c26dece Audaspace: porting changes from upstream. 2023-05-25 23:00:22 +02:00
Brad Smith 02202dd5a1 Glog: fixed OpenBSD support
- Usage of syscall() is not allowed
- Use getthrid() to retreive the thread ID

Pull Request: https://projects.blender.org/blender/blender/pulls/107818
2023-05-16 09:30:35 +02:00
Brad Smith 322dab936f Build: fixes for OpenBSD
Pull Request: https://projects.blender.org/blender/blender/pulls/107666
2023-05-09 13:19:16 +02:00
Sahar A. Kashi 7026d9ac43 HIP: hipew and build system updates for new APIs, including HIP-RT
* Add HIP-RT API functions and library loading
* Add more HIP API types and functions
* Find HIP linker executable in CMake module
* New CMake module to find HIP-RT SDK

Co-authored-by: Brecht Van Lommel <brecht@blender.org>

Ref #105538
2023-04-25 20:19:43 +02:00