[Libre-soc-dev] Vulkan and Power ISA compliance

Luke Kenneth Casson Leighton lkcl at lkcl.net
Thu Sep 24 01:48:45 BST 2020


On 9/24/20, Jacob Lifshay <programmerjake at gmail.com> wrote:

> Cole asked me to mention that Vulkan compliance means compliance with the
> API, not with any particular processor's instruction set. That means the
> Vulkan driver can adapt between what the Vulkan spec. requires any SPIR-V
> program to do and what the underlying processor's instructions can do.

so this means the implementor is free to do a full-on single hardware
level assembly opcode which matches the SPIRV opcode pretty much
exactly

or they can go "nuts to that" and call gnu libm in software or
whatever they like as long as it produces the correct answer.

of course, the trick is that if is dog slow but "compliant" or ultra
fast but uses 10x the power compared to other commercial products then
absolutely nobody will buy it.

which is where being able to flip bits in the ISA to say which level
of accuracy is returned becomes crucial.

as Paul worked out, it is perfectly fine for the SPIRV opcode to be
implemented as a set of ISA assembly instructions, the first of which
is "please set the FPSCR to specify reduced IEEE754 accuracy".

l.



More information about the Libre-soc-dev mailing list