• Home
  • Raw
  • Download

Lines Matching refs:st

41 #define EGC_LOGV(x, ...) ALOGV("[%s] " x, st.mName.string(), ##__VA_ARGS__)
42 #define EGC_LOGD(x, ...) ALOGD("[%s] " x, st.mName.string(), ##__VA_ARGS__)
43 #define EGC_LOGW(x, ...) ALOGW("[%s] " x, st.mName.string(), ##__VA_ARGS__)
44 #define EGC_LOGE(x, ...) ALOGE("[%s] " x, st.mName.string(), ##__VA_ARGS__)
88 status_t EGLConsumer::updateTexImage(SurfaceTexture& st) { in updateTexImage() argument
90 status_t err = checkAndUpdateEglStateLocked(st); in updateTexImage()
100 err = st.acquireBufferLocked(&item, 0); in updateTexImage()
105 glBindTexture(st.mTexTarget, st.mTexName); in updateTexImage()
114 err = updateAndReleaseLocked(item, nullptr, st); in updateTexImage()
117 glBindTexture(st.mTexTarget, st.mTexName); in updateTexImage()
122 return bindTextureImageLocked(st); in updateTexImage()
125 status_t EGLConsumer::releaseTexImage(SurfaceTexture& st) { in releaseTexImage() argument
130 if (st.mOpMode == SurfaceTexture::OpMode::attachedToGL) { in releaseTexImage()
131 err = checkAndUpdateEglStateLocked(st, true); in releaseTexImage()
138 int buf = st.mCurrentTexture; in releaseTexImage()
140 EGC_LOGV("releaseTexImage: (slot=%d, mOpMode=%d)", buf, (int)st.mOpMode); in releaseTexImage()
144 if (st.mOpMode == SurfaceTexture::OpMode::attachedToGL) { in releaseTexImage()
146 err = syncForReleaseLocked(mEglDisplay, st); in releaseTexImage()
153 err = st.releaseBufferLocked(buf, st.mSlots[buf].mGraphicBuffer, mEglDisplay, in releaseTexImage()
164 st.mCurrentTexture = BufferQueue::INVALID_BUFFER_SLOT; in releaseTexImage()
166 st.mCurrentCrop.makeInvalid(); in releaseTexImage()
167 st.mCurrentTransform = 0; in releaseTexImage()
168 st.mCurrentTimestamp = 0; in releaseTexImage()
169 st.mCurrentDataSpace = HAL_DATASPACE_UNKNOWN; in releaseTexImage()
170 st.mCurrentFence = Fence::NO_FENCE; in releaseTexImage()
171 st.mCurrentFenceTime = FenceTime::NO_FENCE; in releaseTexImage()
175 if (st.mOpMode == SurfaceTexture::OpMode::attachedToGL) { in releaseTexImage()
177 status_t result = bindTextureImageLocked(st); in releaseTexImage()
214 void EGLConsumer::onAcquireBufferLocked(BufferItem* item, SurfaceTexture& st) { in onAcquireBufferLocked() argument
220 mEglSlots[slot].mEglImage = new EglImage(st.mSlots[slot].mGraphicBuffer); in onAcquireBufferLocked()
229 SurfaceTexture& st) { in updateAndReleaseLocked() argument
234 if (st.mOpMode != SurfaceTexture::OpMode::attachedToGL) { in updateAndReleaseLocked()
237 st.releaseBufferLocked(slot, st.mSlots[slot].mGraphicBuffer, mEglDisplay, EGL_NO_SYNC_KHR); in updateAndReleaseLocked()
242 err = checkAndUpdateEglStateLocked(st); in updateAndReleaseLocked()
244 st.releaseBufferLocked(slot, st.mSlots[slot].mGraphicBuffer, mEglDisplay, EGL_NO_SYNC_KHR); in updateAndReleaseLocked()
257 st.releaseBufferLocked(slot, st.mSlots[slot].mGraphicBuffer, mEglDisplay, EGL_NO_SYNC_KHR); in updateAndReleaseLocked()
262 if (slot != st.mCurrentTexture) { in updateAndReleaseLocked()
263 err = syncForReleaseLocked(mEglDisplay, st); in updateAndReleaseLocked()
269 st.releaseBufferLocked(slot, st.mSlots[slot].mGraphicBuffer, mEglDisplay, in updateAndReleaseLocked()
275 EGC_LOGV("updateAndRelease: (slot=%d buf=%p) -> (slot=%d buf=%p)", st.mCurrentTexture, in updateAndReleaseLocked()
278 slot, st.mSlots[slot].mGraphicBuffer->handle); in updateAndReleaseLocked()
286 if (st.mCurrentTexture != BufferQueue::INVALID_BUFFER_SLOT) { in updateAndReleaseLocked()
289 st.releaseBufferLocked(st.mCurrentTexture, in updateAndReleaseLocked()
291 mEglSlots[st.mCurrentTexture].mEglFence); in updateAndReleaseLocked()
299 pendingRelease->currentTexture = st.mCurrentTexture; in updateAndReleaseLocked()
302 pendingRelease->fence = mEglSlots[st.mCurrentTexture].mEglFence; in updateAndReleaseLocked()
308 st.mCurrentTexture = slot; in updateAndReleaseLocked()
310 st.mCurrentCrop = item.mCrop; in updateAndReleaseLocked()
311 st.mCurrentTransform = item.mTransform; in updateAndReleaseLocked()
312 st.mCurrentScalingMode = item.mScalingMode; in updateAndReleaseLocked()
313 st.mCurrentTimestamp = item.mTimestamp; in updateAndReleaseLocked()
314 st.mCurrentDataSpace = item.mDataSpace; in updateAndReleaseLocked()
315 st.mCurrentFence = item.mFence; in updateAndReleaseLocked()
316 st.mCurrentFenceTime = item.mFenceTime; in updateAndReleaseLocked()
317 st.mCurrentFrameNumber = item.mFrameNumber; in updateAndReleaseLocked()
319 st.computeCurrentTransformMatrixLocked(); in updateAndReleaseLocked()
324 status_t EGLConsumer::bindTextureImageLocked(SurfaceTexture& st) { in bindTextureImageLocked() argument
335 glBindTexture(st.mTexTarget, st.mTexName); in bindTextureImageLocked()
336 if (st.mCurrentTexture == BufferQueue::INVALID_BUFFER_SLOT && mCurrentTextureImage == nullptr) { in bindTextureImageLocked()
344 st.mCurrentTexture); in bindTextureImageLocked()
347 mCurrentTextureImage->bindToTextureTarget(st.mTexTarget); in bindTextureImageLocked()
354 glBindTexture(st.mTexTarget, st.mTexName); in bindTextureImageLocked()
358 st.mCurrentTexture); in bindTextureImageLocked()
361 mCurrentTextureImage->bindToTextureTarget(st.mTexTarget); in bindTextureImageLocked()
369 return doGLFenceWaitLocked(st); in bindTextureImageLocked()
372 status_t EGLConsumer::checkAndUpdateEglStateLocked(SurfaceTexture& st, bool contextCheck) { in checkAndUpdateEglStateLocked() argument
402 status_t EGLConsumer::detachFromContext(SurfaceTexture& st) { in detachFromContext() argument
417 status_t err = syncForReleaseLocked(dpy, st); in detachFromContext()
422 glDeleteTextures(1, &st.mTexName); in detachFromContext()
431 status_t EGLConsumer::attachToContext(uint32_t tex, SurfaceTexture& st) { in attachToContext() argument
434 int slot = st.mCurrentTexture; in attachToContext()
437 mEglSlots[slot].mEglImage = new EglImage(st.mSlots[slot].mGraphicBuffer); in attachToContext()
457 glBindTexture(st.mTexTarget, GLuint(tex)); in attachToContext()
461 st.mTexName = tex; in attachToContext()
462 st.mOpMode = SurfaceTexture::OpMode::attachedToGL; in attachToContext()
469 status_t err = bindTextureImageLocked(st); in attachToContext()
478 status_t EGLConsumer::syncForReleaseLocked(EGLDisplay dpy, SurfaceTexture& st) { in syncForReleaseLocked() argument
481 if (st.mCurrentTexture != BufferQueue::INVALID_BUFFER_SLOT) { in syncForReleaseLocked()
498 status_t err = st.addReleaseFenceLocked(st.mCurrentTexture, in syncForReleaseLocked()
506 } else if (st.mUseFenceSync && SyncFeatures::getInstance().useFenceSync()) { in syncForReleaseLocked()
507 EGLSyncKHR fence = mEglSlots[st.mCurrentTexture].mEglFence; in syncForReleaseLocked()
535 mEglSlots[st.mCurrentTexture].mEglFence = fence; in syncForReleaseLocked()
542 status_t EGLConsumer::doGLFenceWaitLocked(SurfaceTexture& st) const { in doGLFenceWaitLocked()
556 if (st.mCurrentFence->isValid()) { in doGLFenceWaitLocked()
560 int fenceFd = st.mCurrentFence->dup(); in doGLFenceWaitLocked()
584 status_t err = st.mCurrentFence->waitForever("EGLConsumer::doGLFenceWaitLocked"); in doGLFenceWaitLocked()