On Sat, Aug 22, 2020 at 10:34 PM apinheiro <apinhe...@igalia.com> wrote:
> As Jason mentioned, to get a Vulkan driver started, you would need more > than just one method. If you want a reference: > > https://gitlab.freedesktop.org/apinheiro/mesa/-/commit/07d01ebf6aae2f9ae71a8bea13a5d8acccb6280e > > This commit added the basic skeleton for v3dv (broadcom mesa vulkan > driver). fantastic this is extremely helpful and much appreciated, thank you. some background: vivek has kindly agreed to start the NLNet-funded LibreSOC MESA Vulkan driver. given that the LibreSOC CPU is a hybrid CPU/VPU/GPU with an augmented POWER9 ISA (rather than "a totally separate custom GPU with a foreign ISA completely incompatible with POWER9"), the first step is actually a general-purpose non-accelerated *software* Vulkan Driver, very similar to SwiftShader in concept except: * utilising NIR in order to take advantage of the 3D shader passes and the information it can hold * retaining vector, predication and texturisation intrinsics right up to the very last second when handing over to LLVM-IR * relying on "general" LLVM-IR to perform translation for *native* (host) execution - not a "totally separate custom GPU..." * initially entirely targetting *host* (native) scalar instructions [or, if general-purpose LLVM-IR happens to use NEON, SSE etc. that's great but not our concern] in other words it should be possible for the LibreSOC Vulkan driver to run on native non-accelerated CPUs - x86, POWER9, ARM, MIPS and so on. the second step will be to add custom 3D instructions *to POWER9*, at which point whilst we hope to retain the ability to still run on unaccelerated hardware, it is a secondary priority, albeit a very important one. as there may be questions "why not start from a different point, why not use SwiftShader or gallium" and so on, that evaluation took place here: https://bugs.libre-soc.org/show_bug.cgi?id=251 constructive feedback on this approach greatly appreciated: https://bugs.libre-soc.org/show_bug.cgi?id=251#c36 with thanks and gratitude, l. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev