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

OpenCL/OpenGL ES interop on Android

Hi,

I'm having trouble creating an OpenCL context from an OpenGL ES context on an Odroid XU3 running Android 4.4.4. The following code works fine on other non-ARM graphics hardware, but on the Mali chip the call to clCreateContextFromType fails with the error: "CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR (-1000)"

cl_context_properties contextProps[] = {

  CL_CONTEXT_PLATFORM, cl_context_properties(m_platform),

  CL_GL_CONTEXT_KHR, (cl_context_properties)eglGetCurrentContext(),

  CL_EGL_DISPLAY_KHR, (cl_context_properties)eglGetCurrentDisplay(),

  0

};

clCreateContextFromType(contextProps, CL_DEVICE_TYPE_GPU, 0, &err);

We have checked the m_platform variable and the value is the correct platform id. Are there any special/additional steps in order to create the context, or is OpenCL/OpenGL interop not fully supported at this time on Android?

Thanks,

-Alex

Parents
  • Hi Sheri,

    We were using the order -lEGL -lGLESv2 -lOpenCL originally.

    Using the original order this gives the CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR error, the context and display were reported by eglGetCurrentContext/eglGetCurrentDisplay as

    • Context 2000702920
    • Dispay 1

    Using the order in your post (-lOpenCL -lEGL -lGLESv2) the error reported is CL_INVALID_PROPERTY since both the context and display are now invalid (both are reported as 0). However, we are still able to draw within the GL context.

    Thanks,

    Alex

Reply
  • Hi Sheri,

    We were using the order -lEGL -lGLESv2 -lOpenCL originally.

    Using the original order this gives the CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR error, the context and display were reported by eglGetCurrentContext/eglGetCurrentDisplay as

    • Context 2000702920
    • Dispay 1

    Using the order in your post (-lOpenCL -lEGL -lGLESv2) the error reported is CL_INVALID_PROPERTY since both the context and display are now invalid (both are reported as 0). However, we are still able to draw within the GL context.

    Thanks,

    Alex

Children