Lines Matching refs:fence

271             // if we're detached, we just use the fence that was created in detachFromContext()
528 void GLConsumer::setReleaseFence(const sp<Fence>& fence) {
529 if (fence->isValid() &&
532 mCurrentTextureImage->graphicBuffer(), fence);
534 ST_LOGE("setReleaseFence: failed to add the fence: %s (%d)",
646 ST_LOGE("syncForReleaseLocked: error creating EGL fence: %#x",
654 ST_LOGE("syncForReleaseLocked: error dup'ing native fence "
658 sp<Fence> fence(new Fence(fenceFd));
660 mCurrentTextureImage->graphicBuffer(), fence);
662 ST_LOGE("syncForReleaseLocked: error adding release fence: "
667 EGLSyncKHR fence = mEglSlots[mCurrentTexture].mEglFence;
668 if (fence != EGL_NO_SYNC_KHR) {
669 // There is already a fence for the current slot. We need to
670 // wait on that before replacing it with another fence to
673 EGLint result = eglClientWaitSyncKHR(dpy, fence, 0, 1000000000);
676 "fence: %#x", eglGetError());
680 "fence");
683 eglDestroySyncKHR(dpy, fence);
686 // Create a fence for the outstanding accesses in the current
688 fence = eglCreateSyncKHR(dpy, EGL_SYNC_FENCE_KHR, NULL);
689 if (fence == EGL_NO_SYNC_KHR) {
690 ST_LOGE("syncForReleaseLocked: error creating fence: %#x",
695 mEglSlots[mCurrentTexture].mEglFence = fence;
943 // Create an EGLSyncKHR from the current fence.
946 ST_LOGE("doGLFenceWait: error dup'ing fence fd: %d", errno);
957 ST_LOGE("doGLFenceWait: error creating EGL fence: %#x",
969 ST_LOGE("doGLFenceWait: error waiting for EGL fence: %#x",
977 ST_LOGE("doGLFenceWait: error waiting for fence: %d", err);