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

GL_OES_EGL_image_external with GLSL 3.0 shader and GLES 3.0 context?

Hello Mali driver devs,

It appears the GLSL 3.0 compiler doesn't support GL_OES_EGL_image_external extension, required by Android 3.0+ for use with SurfaceTexture. Recompilation for #version 100 instead of #version 300 es resolves the issue. GL_OES_EGL_image_external is present in the extension strings.

02-18 14:26:50.087: I/jbe(26539): Shader compile log:

02-18 14:26:50.087: I/jbe(26539): 0:32: P0003: Extension 'GL_OES_EGL_image_external' not supported

02-18 14:26:50.087: I/jbe(26539): 0:33: L0001: Typename expected, found 'samplerExternalOES'

Best regards,

Stephane

Parents
  • Hi Stephane,

    After a discussion in the driver team today we've come to the conclusion that technically this is not a bug, but we agree it's a bit of an oddity which we'd like to fix.

    Rationale:

    While the OpenGL ES3 API is backwards compatible with the OpenGL ES2 API, and it supports both GLSL 1.0 and 3.0, GLSL 3.0 isn't defined to be backwards compatible with GLSL 1.0.

    As it stands today the GL_OES_EGL_image_external extension does not currently specify interactions with ESSL3. We are working with Khronos to amend the extension. In the meantime, you have the right workaround - we recommend using ESSL1 for this use case for the time being.

    Cheers,

    Pete

Reply
  • Hi Stephane,

    After a discussion in the driver team today we've come to the conclusion that technically this is not a bug, but we agree it's a bit of an oddity which we'd like to fix.

    Rationale:

    While the OpenGL ES3 API is backwards compatible with the OpenGL ES2 API, and it supports both GLSL 1.0 and 3.0, GLSL 3.0 isn't defined to be backwards compatible with GLSL 1.0.

    As it stands today the GL_OES_EGL_image_external extension does not currently specify interactions with ESSL3. We are working with Khronos to amend the extension. In the meantime, you have the right workaround - we recommend using ESSL1 for this use case for the time being.

    Cheers,

    Pete

Children