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, and tessellation evaluation shaders written in the OpenGL ES Shading Language (ESSL), or kernels written in OpenCL C, and prints information about the compiled code. Shaders can be used in the OpenGL ES 2.0, OpenGL ES 3.0 and OpenGL ES 3.1 APIs, and kernels can be used in 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 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