Lines Matching refs:slot

121                 // Front buffer is still in mSlots, so mark the slot as free
146 int slot = front->mSlot;
148 ATRACE_BUFFER_INDEX(slot);
150 BQ_LOGV("acquireBuffer: acquiring { slot=%d/%" PRIu64 " buffer=%p }",
151 slot, front->mFrameNumber, front->mGraphicBuffer->handle);
152 // If the front buffer is still being tracked, update its slot state
154 mSlots[slot].mAcquireCalled = true;
155 mSlots[slot].mNeedsCleanupOnRelease = false;
156 mSlots[slot].mBufferState = BufferSlot::ACQUIRED;
157 mSlots[slot].mFence = Fence::NO_FENCE;
169 // We might have freed a slot while dropping old buffers, or the producer
179 status_t BufferQueueConsumer::detachBuffer(int slot) {
181 ATRACE_BUFFER_INDEX(slot);
182 BQ_LOGV("detachBuffer(C): slot %d", slot);
190 if (slot < 0 || slot >= BufferQueueDefs::NUM_BUFFER_SLOTS) {
191 BQ_LOGE("detachBuffer(C): slot index %d out of range [0, %d)",
192 slot, BufferQueueDefs::NUM_BUFFER_SLOTS);
194 } else if (mSlots[slot].mBufferState != BufferSlot::ACQUIRED) {
195 BQ_LOGE("detachBuffer(C): slot %d is not owned by the consumer "
196 "(state = %d)", slot, mSlots[slot].mBufferState);
200 mCore->freeBufferLocked(slot);
220 // Make sure we don't have too many acquired buffers and find a free slot
242 BQ_LOGE("attachBuffer(P): could not find free buffer slot");
248 BQ_LOGV("attachBuffer(C): returning slot %d", *outSlot);
260 // requires that the consumer maintain a cached copy of the slot <--> buffer
268 // doesn't make sense to maintain the slot/buffer mappings, which would
277 status_t BufferQueueConsumer::releaseBuffer(int slot, uint64_t frameNumber,
281 ATRACE_BUFFER_INDEX(slot);
283 if (slot < 0 || slot >= BufferQueueDefs::NUM_BUFFER_SLOTS ||
294 if (frameNumber != mSlots[slot].mFrameNumber) {
301 if (current->mSlot == slot) {
302 BQ_LOGE("releaseBuffer: buffer slot %d pending release is "
303 "currently queued", slot);
309 if (mSlots[slot].mBufferState == BufferSlot::ACQUIRED) {
310 mSlots[slot].mEglDisplay = eglDisplay;
311 mSlots[slot].mEglFence = eglFence;
312 mSlots[slot].mFence = releaseFence;
313 mSlots[slot].mBufferState = BufferSlot::FREE;
315 BQ_LOGV("releaseBuffer: releasing slot %d", slot);
316 } else if (mSlots[slot].mNeedsCleanupOnRelease) {
317 BQ_LOGV("releaseBuffer: releasing a stale buffer slot %d "
318 "(state = %d)", slot, mSlots[slot].mBufferState);
319 mSlots[slot].mNeedsCleanupOnRelease = false;
322 BQ_LOGV("releaseBuffer: attempted to release buffer slot %d "
323 "but its state was %d", slot, mSlots[slot].mBufferState);