Commit Graph

75 Commits

Author SHA1 Message Date
Brecht Van Lommel
597f279702 Clang Format: disable formatting lib/, same as was done for extern/
Precompiled library headers don't follow Blender code style.
2025-01-04 18:35:11 +01:00
salipourto
4e5a9c5dfb Cycles: Handling SDK/ROCm 6+ lack of backward compatibility with pre ROCm 6
This commit introduces proper handling of ROCm 5 and ROCm 6 runtimes on
Linux, based on the version of the ROCm compiler used at build time.
Previously, HIPEW (the HIP equivalent of Cuda Wrangler) defaulted to
loading the ROCm 5 runtime. If ROCm 5 was unavailable, it would attempt
to load ROCm 6. However, ROCm 6 introduces changes in certain
structures and functions that are not backward compatible, leading to
potential issues when kernels compiled with the ROCm 6 compiler are
executed on the ROCm 5 runtime.

### Summary of Changes:

**Separation of Structures and Functions:**
Structures and functions are now separated into hipew5 and hipew6 to
accommodate the differences between ROCm versions.

**Build-Time Version Detection:**
The ROCm version is determined during build time, and the corresponding
hipew5 or hipew6 is included accordingly.

**Runtime Default to ROCm 6:**
By default, HIPEW now loads the ROCm 6 runtime and
includes hipew6 (Linux only).

**JIT Compilation Behavior:**
Since ROCm 6 is the default version, JIT compilation is supported only
when the ROCm 6 compiler is detected at runtime.

**HIP-RT Update:**
HIP-RT has been updated to load the ROCm 6 runtime by default.

These changes ensure compatibility and stability when switching
between ROCm versions, avoiding issues caused by runtime
and compiler mismatches.

Co-authored-by: Alaska <alaskayou01@gmail.com>
Co-authored-by: Sergey Sharybin <sergey@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/130153
2024-12-17 16:19:36 +01:00
Anthony Roberts
89102b3b5d Libs: Update Windows ARM64 Vulkan + shaderc
In line with what other platofrms have already done as part of #128577

Pull Request: https://projects.blender.org/blender/blender/pulls/131628
2024-12-10 11:16:12 +01:00
Sebastian Parborg
4d9a9a65f4 Libs: Linux: shaderc v2024.3 Vulkan loader/headers 1.3.296
see #129971 and #128995 for details
2024-12-05 14:14:39 +01:00
Ray Molenkamp
c71fba8190 Libs: Windows_X64: shaderc v2024.3 Vulkan loader/headers 1.3.296
see #129971 and #128995 for details
2024-12-02 11:55:20 -07:00
Sebastian Parborg
aad4e62173 Libs: Update linux libs 2024-11-14 18:07:16 +01:00
Anthony Roberts
6a242055a3 Windows ARM64: Update autopep8
Part of the 4.3 lib updates, which was missed (#125241)

Pull Request: https://projects.blender.org/blender/blender/pulls/129877
2024-11-05 19:23:15 +01:00
Ray Molenkamp
3469dea422 Windows_X64: Libs Autopep8 1.6.0-> 2.3.1
see #127553 for details
2024-11-04 11:42:36 -07:00
Jonas Holzman
b2a333a0cc Libs: macOS arm64/x64: Update autopep8 to 2.3.1
Ref: blender/blender#127553
4.3 Library Changes Task: blender/blender#125241
2024-10-16 23:39:46 +02:00
Sebastian Parborg
417f9f29cf Linux: Bump autopep8 version 2024-10-15 19:21:21 +02:00
Sebastian Parborg
1458ba1d6c Bump Linux libs 2024-10-15 18:26:31 +02:00
Jonas Holzman
eb2b0ac3f1 Libs: macOS arm64/x64: Update ShaderC to remove global locale lock
4.3 Library Changes Tracking Issue: #125241

Pull Request: https://projects.blender.org/blender/blender/pulls/128947
2024-10-13 13:29:33 +02:00
Sebastian Parborg
9d6794dd5d Fix #124173: SVG export creates invalid xml
Bump MaterialX libs with our workarounds
2024-10-11 14:17:34 +02:00
Ray Molenkamp
1d11123da7 Deps: WinX64 - 4.3 Library update
see #125241 for details
2024-10-10 12:07:28 -06:00
Campbell Barton
819fce6a3a Linux: add missing files from wayland protocols 2024-10-08 09:09:44 +11:00
Anthony Roberts
937b289137 Libs: Update OIIO+OSL+LibPNG+ShaderC
Pull Request: https://projects.blender.org/blender/blender/pulls/128690
2024-10-07 18:55:00 +02:00
Campbell Barton
470ccdd327 Linux: update ShaderC (#2)
Ref !127564
2024-09-25 12:38:39 +10:00
Sahar A. Kashi
26ed4d3892 Cycles: Linux Support for HIP-RT
This change switches Cycles to an opensource HIP-RT library which
implements hardware ray-tracing. This library is now used on
both Windows and Linux. While there should be no noticeable changes
on Windows, on Linux this adds support for hardware ray-tracing on
AMD GPUs.

The majority of the change is typical platform code to add new
library to the dependency builder, and a change in the way how
ahead-of-time (AoT) kernels are compiled. There are changes in
Cycles itself, but they are rather straightforward: some APIs
changed in the opensource version of the library.

There are a couple of extra files which are needed for this to
work: hiprt02003_6.1_amd.hipfb and oro_compiled_kernels.hipfb.
There are some assumptions in the HIP-RT library about how they
are available. Currently they follow the same rule as AoT
kernels for oneAPI:
- On Windows they are next to blender.exe
- On Linux they are in the lib/ folder

Performance comparison on Ubuntu 22.04.5:
```
GPU: AMD Radeon PRO W7800
Driver: amdgpu-install_6.1.60103-1_all.deb
                       main         hip-rt
attic                  0.1414s      0.0932s
barbershop_interior    0.1563s      0.1258s
bistro                 0.2134s      0.1597s
bmw27                  0.0119s      0.0099s
classroom              0.1006s      0.0803s
fishy_cat              0.0248s      0.0178s
junkshop               0.0916s      0.0713s
koro                   0.0589s      0.0720s
monster                0.0435s      0.0385s
pabellon               0.0543s      0.0391s
sponza                 0.0223s      0.0180s
spring                 0.1026s      1.5145s
victor                 0.1901s      0.1239s
wdas_cloud             0.1153s      0.1125s
```

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Co-authored-by: Ray Molenkamp <github@lazydodo.com>
Co-authored-by: Sergey Sharybin <sergey@blender.org>

Pull Request: https://projects.blender.org/blender/blender/pulls/121050
2024-09-24 14:35:24 +02:00
Campbell Barton
c9c57e2fe6 Linux: update ShaderC
Ref !127564
2024-09-20 13:06:11 +10:00
Ray Molenkamp
6a7b54db20 Revert "Libs: Win64: hiprt 83e18cc9c3"
This reverts commit 4fcad1858a.

this broke something that should not have been breaking,
revert for now
2024-09-17 09:47:06 -06:00
Anthony Roberts
de9fc05af6 Windows: Update TBB patch + enable OpenPGL for Windows ARM64
See: #125241 and #127705

Pull Request: https://projects.blender.org/blender/blender/pulls/127763
2024-09-17 17:20:31 +02:00
Ray Molenkamp
4fcad1858a Libs: Win64: hiprt 83e18cc9c3 2024-09-17 08:16:06 -06:00
Campbell Barton
a63ab1840e Linux: update Python to 3.11.9
Ref !125771
2024-09-13 14:01:51 +10:00
Campbell Barton
610cf11bee Linux: update for intel graphics compiler
Update IGC 1.0.17384, ocloc 24.31.30508.

Ref !127251.
2024-09-12 22:53:59 +10:00
Campbell Barton
7cd91c55a4 Linux: LibPNG: Update to 1.6.43, OSL & OpenImageIO
Ref !126980.
2024-09-12 22:53:59 +10:00
Sybren A. Stüvel
f271e89a45 Revert "Linux: LibPNG: Update to 1.6.43"
This reverts commit 1890887f3b.

It was referring to a submodule commit that doesn't exist (likely wasn't
pushed yet).
2024-09-12 11:06:50 +02:00
Campbell Barton
1890887f3b Linux: LibPNG: Update to 1.6.43 2024-09-12 14:48:24 +10:00
Sergey Sharybin
c1010f46c3 Build: LibPNG: Update to 1.6.43
Fixes issue with EXIF after IDAT.

The change also includes new libraries for macos for PNG and OIIO which
were needed to fix the original bug.

Ref #123620
Ref #125241

Pull Request: https://projects.blender.org/blender/blender/pulls/126980
2024-09-11 12:13:22 +02:00
Anthony Roberts
3a6a953662 Libs: Update OIIO/sse2neon/Python for Windows ARM64
Pull Request: https://projects.blender.org/blender/blender/pulls/126640
2024-08-22 13:00:57 +02:00
Ray Molenkamp
4f084d180b windows_x64: rebuild ffmpeg with sse flags
See PR #126396 for details.
2024-08-21 14:19:20 -06:00
Sergey Sharybin
359caa3710 Fix #126408: macOS ARM Cycles performance regression
Update macOS sse2neon library to the newer version

Ref #126413
2024-08-16 18:45:08 +02:00
Sergey Sharybin
a4fff6cd66 Libs: sse2neon: update to the newer version
Addresses compilation issue with clang-cl on WoA.

Ref #126237
2024-08-14 16:08:35 +02:00
Sergey Sharybin
0549be7128 Libs: macOS: Update Python version to 3.11.9
Ref #125241

Pull Request: https://projects.blender.org/blender/blender/pulls/126085
2024-08-08 16:49:59 +02:00
Ray Molenkamp
4e6237e009 windows_x64: Opencollada dfc341ab0b3b23
See #125304 for details
2024-07-29 09:15:05 -06:00
Anthony Roberts
0060204dd8 Windows: Update ARM64 OpenCollada version
Addresses #124859

Pull Request: https://projects.blender.org/blender/blender/pulls/125484
2024-07-26 13:39:41 +02:00
Campbell Barton
2bf5a12e3b Linux: Update OpenCollada library version
Ref #124859 (original bug report)
Ref #125241 (library management task)

Pr !125480
2024-07-26 21:12:14 +10:00
Sergey Sharybin
84cbb6b711 macOS: Update OpenCollada library version
Ref #124859 (original bug report)
Ref #125241 (library management task)

Pull Request: https://projects.blender.org/blender/blender/pulls/125306
2024-07-24 11:28:00 +02:00
Sergey Sharybin
9460dfd4f3 Fix #124086: blake2 hasher is unavailable on macOS
The issue is caused by an external dependency to
/opt/homebrew/opt/libb2/lib/libb2.1.dylib

This change adds a test to catch the same issue in the future,
and moves the arm64 libraries to a newer hash with fixed Python.

Pull Request: https://projects.blender.org/blender/blender/pulls/124096
2024-07-03 14:46:33 +02:00
Anthony Roberts
39fe42fcac Windows: 4.2 Library incremental (OIIO+OIDN)
Updating as per #118455, new versions of OIIO and OIDN

Pull Request: https://projects.blender.org/blender/blender/pulls/123851
2024-06-27 19:22:51 +02:00
Sergey Sharybin
2dc4bd3cdf Fix: PSD images are read wrong
The original report on Blender is is #123218, this commit takes care of
fixing it for macOS by updating the OpenImageIO libraries.

Ref #123218
Ref #118455

Pull Request: https://projects.blender.org/blender/blender/pulls/123826
2024-06-27 12:47:39 +02:00
Campbell Barton
ce9500dc50 Linux: update wayland deps 2024-06-26 15:55:57 +10:00
Campbell Barton
2d8d3bd0f8 Linux: update OpenImageDenoise 2024-06-26 15:36:55 +10:00
Campbell Barton
1291ac6590 Linux: update OpenImageIO 2024-06-26 14:53:19 +10:00
Ray Molenkamp
68b85d1e68 Windows_X64: OIIO rebuild with upstream PR 4302
Fixes PSD loading.
2024-06-24 12:15:56 -06:00
Brecht Van Lommel
1ea70c3e3e Fix: macOS x265 libraries have wrong deployment target
Pull Request: https://projects.blender.org/blender/blender/pulls/123694
2024-06-24 20:02:20 +02:00
Ray Molenkamp
65e5db1f95 Windows_x64: OIDN 2.3.0 2024-06-24 10:02:35 -06:00
Raul Fernandez Hernandez
33b8147678 Build: Update macOS libraries for Blender 4.2
Ref #118455

Pull Request: https://projects.blender.org/blender/blender/pulls/123348
2024-06-24 11:29:47 +02:00
Campbell Barton
50c5771a77 Build: rebuild OSL (update LFS), resolve LLVM linking error 2024-06-15 18:32:26 +10:00
Campbell Barton
2cccc941a8 Build: rebuild OSL (update LFS) 2024-06-15 17:57:38 +10:00
Campbell Barton
a0b556a39a Build: update 4.2 libraries 2024-06-15 15:22:13 +10:00