Lines Matching refs:slot

192 status_t ConsumerBase::detachBuffer(int slot) {
201 status_t result = mConsumer->detachBuffer(slot);
207 freeBufferLocked(slot);
311 CB_LOGV("acquireBufferLocked: -> slot=%d/%" PRIu64,
317 status_t ConsumerBase::addReleaseFence(int slot,
320 return addReleaseFenceLocked(slot, graphicBuffer, fence);
323 status_t ConsumerBase::addReleaseFenceLocked(int slot,
325 CB_LOGV("addReleaseFenceLocked: slot=%d", slot);
329 if (!stillTracking(slot, graphicBuffer)) {
333 if (!mSlots[slot].mFence.get()) {
334 mSlots[slot].mFence = fence;
338 auto status = mSlots[slot].mFence->getStatus();
346 mSlots[slot].mFence = fence;
349 snprintf(fenceName, 32, "%.28s:%d", mName.string(), slot);
351 fenceName, mSlots[slot].mFence, fence);
356 mSlots[slot].mFence = fence;
359 mSlots[slot].mFence = mergedFence;
366 int slot, const sp<GraphicBuffer> graphicBuffer,
373 // buffer on the same slot), the buffer producer is definitely no longer
375 if (!stillTracking(slot, graphicBuffer)) {
379 CB_LOGV("releaseBufferLocked: slot=%d/%" PRIu64,
380 slot, mSlots[slot].mFrameNumber);
381 status_t err = mConsumer->releaseBuffer(slot, mSlots[slot].mFrameNumber,
382 display, eglFence, mSlots[slot].mFence);
384 freeBufferLocked(slot);
387 mPrevFinalReleaseFence = mSlots[slot].mFence;
388 mSlots[slot].mFence = Fence::NO_FENCE;
393 bool ConsumerBase::stillTracking(int slot,
395 if (slot < 0 || slot >= BufferQueue::NUM_BUFFER_SLOTS) {
398 return (mSlots[slot].mGraphicBuffer != NULL &&
399 mSlots[slot].mGraphicBuffer->handle == graphicBuffer->handle);