Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e47498f8 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

add some logs to track a crash in eglCreateImageKHR

Bug: 5111008

Change-Id: I3e7f5b986151e80cbded39e0dec057770da52fc1
parent a13bd055
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -628,16 +628,32 @@ status_t SurfaceTexture::updateTexImage() {
    LOGV("SurfaceTexture::updateTexImage");
    Mutex::Autolock lock(mMutex);

    if (mAbandoned) {
        LOGE("calling updateTexImage() on an abandoned SurfaceTexture");
        //return NO_INIT;
    }

    // In asynchronous mode the list is guaranteed to be one buffer
    // deep, while in synchronous mode we use the oldest buffer.
    if (!mQueue.empty()) {
        Fifo::iterator front(mQueue.begin());
        int buf = *front;

        if (uint32_t(buf) >= NUM_BUFFER_SLOTS) {
            LOGE("buffer index out of range (index=%d)", buf);
            //return BAD_VALUE;
        }

        // Update the GL texture object.
        EGLImageKHR image = mSlots[buf].mEglImage;
        if (image == EGL_NO_IMAGE_KHR) {
            EGLDisplay dpy = eglGetCurrentDisplay();

            if (mSlots[buf].mGraphicBuffer == 0) {
                LOGE("buffer at slot %d is null", buf);
                //return BAD_VALUE;
            }

            image = createImage(dpy, mSlots[buf].mGraphicBuffer);
            mSlots[buf].mEglImage = image;
            mSlots[buf].mEglDisplay = dpy;