[libre-riscv-dev] shader compiler progress update

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sat Dec 22 22:00:04 GMT 2018


On Sat, Dec 22, 2018 at 9:57 PM Jacob Lifshay <programmerjake at gmail.com> wrote:

> LLVM does sort-of support vector masks (it supports the on load/store, but
> not all arithmetic operations).

 ok - interesting.  and quirky.

> On Sat, Dec 22, 2018, 08:34 Luke Kenneth Casson Leighton <lkcl at lkcl.net
> wrote:
>
> > thoughts / questions coming through: what's the general goal? SPIR-V
> > is an intermediate (compiled) representation, based originally on
> > LLVM.  so... is the goal to *interpret* the SPIR-V or to *compile*
> > SPIR-V?   as in, is the plan to write a rust *program* that
> > *interprets* the SPIR-V compiled code, or to write a write
> > *translator* that translates the SPIR-V into say.... LLVM IR, and then
> > execute that under the standard LLVM runtime (or an LLVM JIT)?
> >
>
> Translating to LLVM IR and executing using LLVM to JIT compile the code is
> the goal.

 awesome.

 btw in the pyjs project we did quite a lot of AST remapping.  looking
for patterns, and replacing them with alternative AST trees.
*finally* an output pass was done.  the exact same kind of trick is
done in lib2to3.

> If we implemented a SPIR-V interpreter, everyone would use llvmpipe instead
> because it would be many times faster.

 thought so :)



More information about the libre-riscv-dev mailing list