-
Notifications
You must be signed in to change notification settings - Fork 262
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Upgrade to new Dr.Jit version using an abstract node-based IR
This commit propagates a few significant changes in Dr.Jit(-Core) to the Mitsuba project. - Previously, Dr.Jit used a string-based IR representation, which meant that snippets of LLVM/PTX IR were spread across many implementation files. This design arose organically and made it difficult to extend the system. This PR switches to an abstract (backend-agnostic) node-based IR. Code generation is now centralized in a backend-specific part that consumes this abstract IR. The new design should facilitate future extensions, e.g., to add an Apple Metal backend. - The process of turning a computation graph into a textural IR representation was streamlined through a new `StringBuffer` class. This change does not impact functionality, but it allowed to shorten and simplify a large amount of backend code. - On recent LLVM versions (15.0.0+) Dr.Jit now generates IR with opaque pointers. This change is necessary to maintain compatibility with future LLVM versions since typed pointers are deprecated. More information about opaque pointers is available here: https://llvm.org/docs/OpaquePointers.html. The referenced Dr.Jit(-Core) changes are in the following PRs: - mitsuba-renderer/drjit-core#51, - mitsuba-renderer/drjit-core#52, and - mitsuba-renderer/drjit#113 This commit also fixes a minor pytest warning.
- Loading branch information
Showing
4 changed files
with
9 additions
and
10 deletions.
There are no files selected for viewing
Submodule drjit
updated
9 files
+1 −1 | ext/drjit-core | |
+1 −1 | include/drjit/array_base.h | |
+53 −89 | include/drjit/jit.h | |
+1 −1 | include/drjit/loop.h | |
+2 −8 | include/drjit/vcall_jit_record.h | |
+1 −3 | src/python/main.cpp | |
+4 −9 | src/python/switch.h | |
+2 −2 | tests/python/test_simple.py | |
+11 −11 | tests/texture.cpp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters