Offline Compiler for OpenGL ES shaders and OpenCL kernels

The Mali Offline Compiler is a command line tool that compiles vertex, fragment, compute, geometry, tessellation control, tessellation evaluation shaders written in the OpenGL ES Shading Language (ESSL). The Mali Offline Compiler can also compile shaders written in the Vulkan SPIR-V binary format and kernels written in OpenCL C.

For all cases, it prints information about the compiled code. Shaders can be written using the OpenGL ES 2.0, OpenGL ES 3.0, OpenGL ES 3.1 and Vulkan 1.0 APIs, and kernels can be written using the OpenCL 1.1 API.

Vertex, fragment, compute, geometry, tessellation control, and tessellation evaluation shaders can be compiled into binary shaders that you can link and run on the Mali GPU. The resulting binary file must be moved to the target platform, read in by the application, and given as parameter in a call to the appropriate OpenGL ES or Vulkan function.

Features & Benefits

  • Command line interface
    Easy integration into regression build and test systems

  • Offline compilation of shaders written in OpenGL ES Shading Language (ESSL) into Mali GPU binary
    This ensures that shaders compile properly without having to pass them through to target Mali GPU hardware as well as securing shader code confidentiality through distribution of pre-compiled shader binaries with OpenGL ES applications

  • Offline compilation of kernels written in OpenCL C
    Test the validity of OpenCL kernels and view information about the compiled code

  • Verbose output of shader performance and errors number of execution cycles
    Enables debugging and optimization of shaders