This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Multiple calls to eglCreateImageKHR is failing

Hi 

I am using DRA7xx evm with GLSDK version 7_00 . In my application  I am calling eglCreateImageKHR  for creating my texture. What I have observed is that multiple calls to this API fails after sometime giving the error:

PVR:(Error): PVRSRVWrapExtMemory: Error 8 returned [1629, /bridged_pvr_glue.c]

after eglCreateImageKHR() eglError 0x3003

I am calling eglDestroyImageKHR for every create call I make.

What could be the probable reason for this?

Regards,

Thushara.

  • Hello Thushara,

    The EGL client APIs each provide mechanisms for creating appropriate resource types (such as complete texture arrays or OpenVG VGImages) from EGLImages through a API-specific mechanisms. Collectively, resources which are created from EGLImages within client APIs are referred to as "EGLImage targets." Each EGLImage may have multiple associated EGLImage targets. Collectively, the EGLImage source and EGLImage targets associated with an EGLImage object are referred to as "EGLImage siblings.

    Take a look on this thread - community.arm.com/.../7805

    You already have a similar thread!
    e2e.ti.com/.../1550911

    Best regards,
    Yanko
  • Thanks Yanko for that link. My issue is different from what was discussed there. I am able to make around 100+ calls to create function and after that it was failing with PVR error.
    I assume I was able to fix that issue. What I understood is, there is a limit in number of eglCreateImageKHR calls we can make from a surface(even if one calls eglDestroyImageKHR ). What I did is after every call to destroy I am terminating the connection with native window(eglTerminate) and re establishing it again (eglInitialize). Now I am able to run it without fail.



    The thread I have created earlier(e2e.ti.com/.../1550911) was for another issue. I am trying to access VPE buffers in GPU. At that time I was getting PVRSRVWrapExtMemory error. That issue is still there. I have to do a memcpy currently to move the buffers to GPU. Please help me to figure that out.

    Sincerely
    Thushara.
  • Thanks Thushara, I have the same issue:

    PVR:(Error): PVRSRVWrapExtMemory: Error 8 returned [1629, /bridged_pvr_glue.c]
     EGL: after eglCreateImageKHR() eglError (0x3003)
    [info][System_eglSetupYuvTexSurface][145]:  EGL: ERROR: eglCreateImageKHR failed !!!
    [err][System_eglGetTexYuv][343]:  EGL: ERROR: Unable to bind texture[16] to address [0xa9198480] !!!

    Per you, I added following code just after eglSwapBuffers to try to fix this issue, but still has. Would you like to share me how do you fix this problem.
    eglTerminate(pSrvWidget->scale.eglObj.display);
     EGLint major, minor;;
     eglInitialize(pSrvWidget->scale.eglObj.display, &major, &minor);

  • Hi,
    When are you getting this error. Are getting this error after running it for a long time or just a call to this API is failing?

    Regards
    Thushara
  • Thanks, after about several minutes.

  • Hi,

    I was able to fix that issue by disconnecting the window from surface and re-establishing it. The previous message has those API's. 

    Regards,

    Thushara.