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

samplerExternalOES performance on Mali-400

Hi,

I've just noticed that texture lookups using samplerExternalOES (as specified in the OES_EGL_image_external extension) seem to come with a performance impact on Mali-400, at least if the instruction counts reported by Mali Offline Compiler are correct.

While a texture2D sampler lookup takes 1 cycle, the Mali Offline compiler reports the following for a samplerExternalOES access:

Number of instruction words emitted:            5
Number of cycles for shortest code path:        2
Number of cycles for longest code path:         5

Could someone shed some light on why accessing a samplerExternalOES would be so expensive?

How can I ensure that the fast path is hit (2 cycles)?

Is there a - perhaps less flexible - alternative to OES_EGL_image_external, which would allow for zero-copy textures without this overhead?

Could the cycle counts just be misreported by the Mali Offline Compiler?

Parents
  • External samplers require support for sampling from YUV camera or video data sources, and Mali uses shader-based color conversion to convert from YUV to RGB. The shortest path will be used when sampling from RGB external images, the longest path will be used when sampling from YUV external images with color conversion.

    HTH, 
    Pete

Reply
  • External samplers require support for sampling from YUV camera or video data sources, and Mali uses shader-based color conversion to convert from YUV to RGB. The shortest path will be used when sampling from RGB external images, the longest path will be used when sampling from YUV external images with color conversion.

    HTH, 
    Pete

Children