[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
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".
More information about the Libre-soc-dev