17333 Commits
Author SHA1 Message Date
Daniel Simon 6c6ebd9530 Update rtcore_scene.h (#555)
Add missing forward declaration for RTCGeometry in rtcore_scene.h
2026-07-09 09:21:11 +02:00
Chris Gyurgyik f03a7c7f0e Fix comment in triangle.h 2026-06-22 15:18:45 +02:00
Stefan Werner 7ba9359784 Use latest Level Zero RT API (#595)
* Update vendored Level Zero ze_api.h to upstream
* Migrate Embree RTAS integration from EXP to EXT API
* Check for relaxed allocation limit L0 extension before using it
2026-05-29 11:12:15 +02:00
Stefan Werner fcae907bf1 Curves: reduce transcendentals, divergence, and loads on Intel iGPU (#598)
* Curves: reduce transcendentals, divergence, and loads on Intel iGPU

Targets the SYCL/Xe code paths in the curve intersectors:

* curve_intersector_sweep.h (intersect_bezier_iterative_jacobian): share a single rsqrt(dot(dPdu,dPdu)) between the tangent normalization and the cos_err = P_err/length(dPdu) term, saving one sqrt/rsqrt per Jacobian iteration. Runs on both CPU and SYCL.

* curve_intersector_sweep.h (SYCL intersect_bezier_recursive_jacobian): replace the well-behaved test 'm < 0.2*length(W)' with the equivalent squared-form comparison 'm*m < 0.04*dot(W,W)', removing one sqrt per recursion step.

* curve_intersector_distance.h (DistanceCurve1Intersector1::intersect): the duplicated first-iteration prologue is now CPU-only (#if !defined(__SYCL_DEVICE_ONLY__)). On SYCL where W=1 the duplication only inflated kernel size; control flow now falls straight into the unified loop.
2026-05-08 11:46:26 +02:00
Tim BlechmannandStefan Werner 02e73a7a26 internalize loadTransform(RTCFormat, const float*) (#559)
loadTransform(RTCFormat, const float*) is an implementation detail of
rtcore.cpp, so it should be declared as `static` to prevent it from
being exported from static library builds.

Co-authored-by: Stefan Werner <stefan.werner@intel.com>
2026-04-13 14:08:44 +02:00
Tim Blechmann d7b5a300d3 include missing headers
`std::alignment_of` is in `type_traits`, `std::exception_ptr` is in
<exxception> so they need to be included.
Fixes a compile error with xcode when compiling in c++23.
2026-04-13 12:11:56 +02:00
Krzysztof Raszkowski f590db83ef ci: Remove cmake-presets system and refactor workflows
Replace cmake-presets with inline workflow configuration across all
GitHub Actions. Add new test scripts and remove deprecated utilities.
Simplifies build system by eliminating abstraction layer.
v4.4.1
2026-03-17 08:41:53 +01:00
Werner, Stefan 1a3cca4f8b Added PTL support to release notes 2026-03-16 22:56:40 +01:00
Werner, Stefan a0e08eba6e Updated documentation to 4.4.1 2026-03-16 22:56:40 +01:00
Stefan Werner 068d90f6c8 Updated version to 4.4.1 2026-03-16 22:56:40 +01:00
Stefan Werner d436cb396b Updating CI workflows: (#585)
* dropped Ubuntu 20.04
* upgraded to Fedora 42
* changed clang version to Fedora default instead of 4/5
2026-02-13 11:45:11 +01:00
Stefan Werner 7643460a6e Updated TinyEXR to fix resource leaks 2026-02-05 12:55:01 +01:00
Stefan Werner 0b10642882 Fixed potentially uninitialized variables 2026-02-05 12:55:01 +01:00
Stefan Werner bff3281ba8 Initializing HitList in next hit tutorial before use 2026-02-05 12:55:01 +01:00
Stefan Werner f743ffb8a8 Checking for potential divide by zero 2026-02-05 12:55:01 +01:00
Stefan Werner e2f984aedb Fixed integer over/underflows 2026-02-05 12:55:01 +01:00
Stefan Werner 1f1c7922f4 Reduced copies, using move semantics in more places 2026-02-05 12:55:01 +01:00
Stefan Werner 6e7df3a22c Fix Win32/ARM build
The wrong type (DWORD instead of usngined long) was used for bitscan.
2026-02-05 12:15:38 +01:00
Stefan Werner 40466c7858 Added specialization constants for curves and motion blur (#563)
Added specialization constants for curves and motion blur. Reduces kernel complexity when using curves without motion blur.
2026-01-16 11:35:07 +01:00
Stefan Werner 4c25c13557 Fixed a typo in verifyHit() (#581) 2026-01-15 17:09:57 +01:00
Johannes Günther 3a0f8c6923 Bump CMake minimum required version to 3.10 (#568)
Newer CMake v4.x dropped support for versions < 3.10
2026-01-15 10:48:25 +01:00
Werner, Stefan 6a81136d73 AVX512 flags in GCC are now closer to clang's 2026-01-14 15:34:51 +01:00
Krzysztof Raszkowski a8e4195108 ci: refactor release workflow 2026-01-13 08:39:24 +01:00
Stefan Werner 72cf45bd89 Updated TinyEXR, fixing resource leaks 2025-12-17 11:21:18 +01:00
Stefan WernerandKrzysztof Raszkowski 9cc2f3e960 Workaround GCC AVX512 movemask truncation issue (#574)
* Workaround GCC AVX512 movemask truncation issue

* ci: add Ubuntu 24.04 GCC AVX512 test job

---------

Co-authored-by: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com>
2025-12-04 14:26:57 +01:00
Stefan Werner 515904d2a0 Fixed asserts, simplified bounds check 2025-11-24 12:00:21 +01:00
Stefan Werner 0be7017a54 Added bounds check for grid dimensions 2025-11-24 12:00:21 +01:00
Stefan Werner e6a60c8698 Fixed bounds checks to allow 0 offset, 0 buffer size 2025-11-24 12:00:21 +01:00
Stefan Werner 377f611e78 More size checks for buffers 2025-11-24 12:00:21 +01:00
Stefan Werner 198156be14 Added size limit check for buffer stride 2025-11-24 12:00:21 +01:00
Krzysztof Raszkowski c4ad4a5506 ci: add more GPU tests (BMG, LNL) & cleanup 2025-11-24 07:55:58 +01:00
Krzysztof Raszkowski acadfd413f ci: switch to intel-llvm/v6.2.0 SYCL compiler 2025-11-24 07:55:58 +01:00
Krzysztof Raszkowski 9f10068a9c ci: add PVC testing to continuous & nightly workflows 2025-11-20 08:32:54 +01:00
Krzysztof Raszkowski 59980b358b rthwif_embree_builder: apply WA for PVC device memory allocation bug 2025-11-20 08:32:54 +01:00
Krzysztof Raszkowski ce619796f6 ci: multiple fixes for internal CI workflows 2025-11-18 19:09:25 +01:00
Daniel Opitz e9b8633e1d fix coverity static analysis 2025-10-29 10:23:58 +01:00
Daniel Opitz 5d1725d34c added gpu debug build to ci 2025-10-29 10:23:58 +01:00
Stefan Werner 1970895eb9 SYCL fix:
pass procedural UVs directly to prevent data loss from UNORM conversion
2025-10-10 11:10:43 +02:00
Stefan Werner a509d1e41a Fixed compilation with internal task scheduler
Internal task scheduler is now outside of RTC namespace
matching the other schedulers.
2025-10-08 10:17:40 +02:00
Stefan Werner 46a17a0b0e Explicit lambda captures to silence warnings 2025-10-08 10:16:36 +02:00
Stefan Werner 04b3911e3d Fixed gcc warnings when casting to reference types 2025-10-08 09:37:10 +02:00
Daniel Simon 1372ca0865 Add missing RTC_NAMESPACE definition to rtcore_config
`rtcore_config.h.in does` not define `RTC_NAMESPACE` when `EMBREE_API_NAMESPACE` is not defined when it should be defined but empty. This can cause a problem with forward declarations like the following:
```c++
RTC_NAMESPACE_BEGIN
typedef struct RTCSceneTy* RTCScene;
RTC_NAMESPACE_END

void my_function(RTC_NAMESPACE::RTCScene scene);
```
2025-08-07 10:10:00 +02:00
Stefan Werner 756ff3510f Added specialization constants for motion blurred instances
Improves performance in embree_forest_sycl by about 50%.
2025-07-04 09:22:33 +02:00
Stefan Werner 13dcb333fd Enabled AVX512 support with MSVC. Fixes #206 2025-06-17 16:30:24 +02:00
Stefan Werner 6f1d59ea0c Fix gcc warnings/errors when compiling with C++26. Fixes #397 2025-06-16 12:00:10 +02:00
Stefan Werner 0ce7bd2f70 Fixed signature of ISPC memory monitor in forest tutorial 2025-06-16 10:44:13 +02:00
Krishnan Ramachandran d9b7eaab50 Fix manpage section: rename *.4embree4 to *.3embree4, update Makefile rule, and remove obsolete *.4embree4 files. Section 3 is for library calls, not section 4. 2025-06-06 21:09:32 +02:00
Stefan Werner cd72eb4627 Fixed morton builder for instance arrays - arguments were mismatched 2025-06-02 11:30:11 +02:00
Stefan Werner 024cd7eb2b Fixed double/float conversion warnings 2025-06-02 11:12:25 +02:00
Stefan Werner 95d34e7f0d Fixed signed/unsigned mismatches 2025-06-02 11:12:25 +02:00