mitsuba-renderer / drjit

Dr.Jit — A Just-In-Time-Compiler for Differentiable Rendering
BSD 3-Clause "New" or "Revised" License
563 stars 40 forks source link

Fixes for AD traversal inside of symbolic scope #238

Closed njroussel closed 1 month ago

njroussel commented 1 month ago

This PR is a follow-up to https://github.com/mitsuba-renderer/drjit/commit/fe2526627650045b7a34f98fc75474aeda701468. That original commit only applied to symbolic loops, in this PR I've added a similar fix for calls and conditionals.

In addition, I refactored the isolation scope creation in c++ such that we can easily force it to be marked as symbolic.

The PR contains regressions tests for calls and conditionals (these could not pass prior to this fix).