[Libre-soc-bugs] [Bug 251] Initial 3D MESA non-accelerated software-only driver is needed

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Aug 5 11:39:43 BST 2020


https://bugs.libre-soc.org/show_bug.cgi?id=251

--- Comment #1 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---

the idea here is that we need something that is cross-platform
portable (works on x86 and POWER9 primarily) and is identical in
effect to google "SwiftShader".

however as you are no doubt aware, SwiftShader is targetted *only* at
software-rendering (using SIMD NEON, SSE, AVX etc.) and because of
that, what they've done is *lost* all the predication, vec3/4, swizzle
information in the SPIRV IR as quickly as possible, when translating
to LLVM IR

having lost that information during the translation, it is impossible
to get that information back, and even if you tried it would result in
massive CPU load and heavy latency.

so we therefore need a completely new SPIR-V to LLVM-IR translator:
one that **preserves** the predication and other intrinsics right up
until the very last minute, just like AMDVLK and RADV, probably using
NIR.

now, for the *first* version, that information will be "lost" through
handing over to standard scalar (non-vectorised, non-3D-accelerated)
general-purpose LLVM IR, on x86 and POWER9.

this we call the "soft-shader".
https://bugs.libre-soc.org/show_bug.cgi?id=251

after that is successful we will design and add accelerated hardware
opcodes to the processor (and to the simulator), then add support for
those in the LLVM-IR back-end.

at that point, the predication and vector intrinsics (preserved in NIR
format, rather than thrown away as they are in SwiftShader) can be
passed directly to the now vector-capable LLVM IR.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list