[libre-riscv-dev] Vulkanizing

Scheming Pony scheming-pony at protonmail.com
Tue Feb 18 22:42:27 GMT 2020

> Dissent is certainly allowed, but it's not really practical to switch at this point,
I was joking, should have used a smiley--as you see, I went on to dissent anyway. I joke a lot, which gets me in trouble. :)  Again, "I think you are *nice*," lies my wife.

> The shader language Kazan is designed to use is the shader variant of SPIR-V, which is a compiler intermediate language. There are several front-ends which target it, some of which compile GLSL (including OpenGL 2.x) to SPIR-V. There might be a front-end for RenderMan, I'm not sure -- someone will probably write one at some point. If you're looking, just make sure that whatever front-end you use supports producing the shader variant since there is also a quite different (OpenCL) kernel variant of SPIR-V which Kazan won't support (at least without lots of work).

Thanks, that helps clarify it.   I am still unsure about (1) where on the prototype and (2) subsequently on the production ASIC the Mesa driver is going to be run.  Could someone clarify this?  Sorry, I am just starting out here.

At a high level though, isn't there going to have to be some engine (e.g. Godot, scene graph) for application developers (mere mortals)?  Will that overhead yield decent performance with your design (assuming Vulkan has decent performance)?  Are individual graphics developers really learning Vulkan, I have heard *not*.  State of the art GPU graphics and general programming is kind of a nightmare, IMHO--incompatible drivers, hardware requirements, etc.  It's a lot of overhead when trying to solve a problem.

As a closing thought, at the modeling (and rendering) level many of us are trying to get away from triangles.  There is a technique called f-rep (which my project Tovero and others use) which uses signed distance fields.  Currently, we are using a technique to generate an isosurface of triangles in the CPU (dual contouring), then pushing the triangles to the GPU.  F-rep has the potential to generate "Turing complete" shapes, if that makes sense.  There is the concept of rendering them directly on the GPU (e.g. sphere tracing), but also doing engineering analysis like FEM on the GPU (or other co-processor) using AD.

More information about the libre-riscv-dev mailing list