[Libre-soc-dev] [Mesa-dev] Loading Vulkan Driver

Jacob Lifshay programmerjake at gmail.com
Sun Aug 23 22:11:16 BST 2020


On Sun, Aug 23, 2020, 12:49 Dave Airlie <airlied at gmail.com> wrote:

> The big thing doing what Jacob did before, and from memory where he
> went wrong despite advice to the contrary is he skipped the
> "vectorises it" stage, which is highly important for vector CPU
> execution, as opposed to scalar GPU.
>

IIRC, my plan for Kazan all along was/is to vectorize and multi-thread it,
I just didn't get that far during the GSoC portion due to running out of
time, so, in order to get it to do something more impressive than parse
SPIR-V I kludged a rasterizer onto it during the last few weeks of GSoC.

Originally, my plan was to write a whole-function vectorization pass as a
LLVM pass. The new plan is to have the vectorization pass be done in a new
IR (shader-compiler-ir) before translating to LLVM IR since LLVM IR isn't
very good at retaining the structured IR needed to do full-function
vectorization. That also has the benefit of supporting non-LLVM backends,
such as cranelift.

For the rewritten version in Rust that I'm still working on (when not
working on the hardware design side), I'm not going to skip ahead and
actually get it to work properly.

Jacob


More information about the Libre-soc-dev mailing list