Vixen
dd8b0a81

Raven · guide

The .rvnlib IR

The lowered half of a compiled library — how a function body is written down so a later compilation can link it, why every cross-reference travels as a key or an index rather than as an object, and what a body may not contain if it is to travel at all.

Edit this page on GitHub

Documents

Next

  • Compiled artefacts — The two things the compiler writes — `.rvnfx`, one shader compiled for one target and one permutation, and `.rvnlib`, a library a later compilation binds and links against — what is in each container, and why both carry a version a reader refuses rather than guesses at.
  • Compiling a shader — The four phases a `.rvn` goes through — parse, bind, lower, generate — the handful of types a host touches to drive them, where each phase's diagnostics come from, and why a permutation value or a compose binding makes a separate compilation rather than a flag.
  • The target-independent IR — The model every back end consumes and none of them may look behind — a structured body over SSA values, storage reached only through an access chain, a deliberately small type system, and a verifier that runs before a back end ever sees a module.