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

Analyzing optimized SPIR-V binaries using Mali Offline Compiler

I have a question regarding performance analysis of precompiled & optimized SPIR-V binaries using Mali Offline Compiler. 

From the documentation, it seems that it should be possible to provide SPIR-V binary file format as input to malioc tool for performance analysis:

"The input file can be either:
• A single ESSL source shader
• A single SPIR-V binary module that has been compiled using Vulkan semantics"

I have tried the second option by using the following command line:

./malioc --spirv -y main --fragment optimized.spirv

but what happens is that glslValidator gets called by malioc, tries to compile the input as ESSL and displays the following error: 

"ERROR: Failed to compile ESSL to SPIR-V"

Is there a way to skip the compile step, and just do a performance analysis run on the provided SPIR-V file? 

Thanks,
Milan

Parents
  • Hi Milan, 

    Thanks for the feedback. We'll make sure the documentation gets updated. Note that for the next release we have a number of related changes which will help here. 

    * If you are using a default extension (e.g. myshader.vert.spv) for a binary module you'll now no longer need to specify shader type. 

    * If you want to use a non-standard extension for source you can manually define the type using e.g. --vertex.

    * If you want to use a non-standard extension for a binary module you can manually define the type using e.g. --vertex --spirv.

    Cheers, 
    Pete

Reply
  • Hi Milan, 

    Thanks for the feedback. We'll make sure the documentation gets updated. Note that for the next release we have a number of related changes which will help here. 

    * If you are using a default extension (e.g. myshader.vert.spv) for a binary module you'll now no longer need to specify shader type. 

    * If you want to use a non-standard extension for source you can manually define the type using e.g. --vertex.

    * If you want to use a non-standard extension for a binary module you can manually define the type using e.g. --vertex --spirv.

    Cheers, 
    Pete

Children