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

NO proper offline compiler for Mali-G51 Biforst r16p0-01rel0

Dear All,

Anyone shares proper offline compiler for Mali-G51 Biforst r16p0-01rel0?

I am using ARM Mali-G51 and Open GL ES to develop my Kanzi HMI. As I know from Kanzi, it's possible to reduce my APP loading time if using binary shader rather than online shader.

My G51 HW version is Biforst, r16p0-01rel0.

I tried two versions, both failed. 


1. ARM Mobile studio v7.1: https://developer.arm.com/tools-and-software/graphics-and-gaming/arm-mobile-studio/installation/download 
2. Mali_Offline_Compiler_v6.4.0.504d49_Windows_x64: https://developer.arm.com/tools-and-software/graphics-and-gaming/mali-offline-compiler/downloads

r16p0-01rel0 is not included in the supported driver list.

Anyone guide me how to find a proper version of shader compiler? 


Alternaltively, pls guide me how to config ARM mobile studio 7.1 to compatitably run with r16p0-01rel0, because it maybe backward compatitable.

Thanks in advance. 

Parents
  • Hi Mark,

    We no longer ship a compiler which generates binaries offline; it caused a lot of compatibility problems and the shaders it generated were sub-optimal (effectively forcing separate shader objects, and removing whole pipeline optimization).

    The recommend approach for caching is to compile and link programs on the target device and then reading back the compiled result, for example by using glGetProgramBinary(). This can be saved to mass storage your application is using. The "first boot" is therefore slower, but on subsequent runs you can re-upload the binary using glProgramBinary() to avoid the compile and link process. 

    Note on Android devices you should always keep the source code for shaders available; glProgramBinary() may fail if the driver has been updated with an over-the-air phone update.

    HTH, 
    Pete

Reply
  • Hi Mark,

    We no longer ship a compiler which generates binaries offline; it caused a lot of compatibility problems and the shaders it generated were sub-optimal (effectively forcing separate shader objects, and removing whole pipeline optimization).

    The recommend approach for caching is to compile and link programs on the target device and then reading back the compiled result, for example by using glGetProgramBinary(). This can be saved to mass storage your application is using. The "first boot" is therefore slower, but on subsequent runs you can re-upload the binary using glProgramBinary() to avoid the compile and link process. 

    Note on Android devices you should always keep the source code for shaders available; glProgramBinary() may fail if the driver has been updated with an over-the-air phone update.

    HTH, 
    Pete

Children