This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Offline shader compiler tools

Does such a tool exists?

I am working with some researchers in computer vision on porting to GPU some of their algorithm. Does ARM provide a mean to protect shader content? I understand the general case does not mandate such endeavor as the application is much more important than individual shaders. But in my specific scenario, I believe there is a novelty that could be worth spending some effort to protect. Precompiling shaders offline for a specific architecture, at the expanse of portability, is the only way I can imagine. Feedback on this would be greatly appreciated.

  • The offline compiler is available here:

    Mali Offline Compiler - Mali Developer Center

    As you say, for most real applications no-one bothers with binary shaders (simply too many vendors/GPUs/driver versions to keep on top of - you'd need literally hundreds of variants if you are shipping on multiple devices, and would have to keep on top of any over-the-air firmware changes). I've only ever seen it used in anger for platform-level software which therefore only has to support a single variant as part of the device firmware.

    Newer APIs such as Vulkan are moving away from pure text source to a compiled intermediate representation (SPIR-V) which is less transparent, although still possible to decompile back into a source form.

    HTH,
    Pete