Fix argument types in IGraphicBufferProducer methods
Bug: 8384764 Change-Id: I7a3f1e1a0584a70af04f9eafef900505389d2202
This commit is contained in:
parent
7adb0f8a9f
commit
4c00cc1114
@ -128,7 +128,7 @@ public:
|
|||||||
// GL_MAX_VIEWPORT_DIMS and GL_MAX_TEXTURE_SIZE (see: glGetIntegerv).
|
// GL_MAX_VIEWPORT_DIMS and GL_MAX_TEXTURE_SIZE (see: glGetIntegerv).
|
||||||
// An error due to invalid dimensions might not be reported until
|
// An error due to invalid dimensions might not be reported until
|
||||||
// updateTexImage() is called.
|
// updateTexImage() is called.
|
||||||
virtual status_t dequeueBuffer(int *buf, sp<Fence>& fence,
|
virtual status_t dequeueBuffer(int *buf, sp<Fence>* fence,
|
||||||
uint32_t width, uint32_t height, uint32_t format, uint32_t usage);
|
uint32_t width, uint32_t height, uint32_t format, uint32_t usage);
|
||||||
|
|
||||||
// queueBuffer returns a filled buffer to the BufferQueue. In addition, a
|
// queueBuffer returns a filled buffer to the BufferQueue. In addition, a
|
||||||
@ -139,7 +139,7 @@ public:
|
|||||||
virtual status_t queueBuffer(int buf,
|
virtual status_t queueBuffer(int buf,
|
||||||
const QueueBufferInput& input, QueueBufferOutput* output);
|
const QueueBufferInput& input, QueueBufferOutput* output);
|
||||||
|
|
||||||
virtual void cancelBuffer(int buf, sp<Fence> fence);
|
virtual void cancelBuffer(int buf, const sp<Fence>& fence);
|
||||||
|
|
||||||
// setSynchronousMode set whether dequeueBuffer is synchronous or
|
// setSynchronousMode set whether dequeueBuffer is synchronous or
|
||||||
// asynchronous. In synchronous mode, dequeueBuffer blocks until
|
// asynchronous. In synchronous mode, dequeueBuffer blocks until
|
||||||
|
@ -84,7 +84,7 @@ public:
|
|||||||
// the buffer. The contents of the buffer must not be overwritten until the
|
// the buffer. The contents of the buffer must not be overwritten until the
|
||||||
// fence signals. If the fence is NULL, the buffer may be written
|
// fence signals. If the fence is NULL, the buffer may be written
|
||||||
// immediately.
|
// immediately.
|
||||||
virtual status_t dequeueBuffer(int *slot, sp<Fence>& fence,
|
virtual status_t dequeueBuffer(int *slot, sp<Fence>* fence,
|
||||||
uint32_t w, uint32_t h, uint32_t format, uint32_t usage) = 0;
|
uint32_t w, uint32_t h, uint32_t format, uint32_t usage) = 0;
|
||||||
|
|
||||||
// queueBuffer indicates that the client has finished filling in the
|
// queueBuffer indicates that the client has finished filling in the
|
||||||
@ -165,7 +165,7 @@ public:
|
|||||||
// cancelBuffer indicates that the client does not wish to fill in the
|
// cancelBuffer indicates that the client does not wish to fill in the
|
||||||
// buffer associated with slot and transfers ownership of the slot back to
|
// buffer associated with slot and transfers ownership of the slot back to
|
||||||
// the server.
|
// the server.
|
||||||
virtual void cancelBuffer(int slot, sp<Fence> fence) = 0;
|
virtual void cancelBuffer(int slot, const sp<Fence>& fence) = 0;
|
||||||
|
|
||||||
// query retrieves some information for this surface
|
// query retrieves some information for this surface
|
||||||
// 'what' tokens allowed are that of android_natives.h
|
// 'what' tokens allowed are that of android_natives.h
|
||||||
|
@ -254,7 +254,7 @@ status_t BufferQueue::requestBuffer(int slot, sp<GraphicBuffer>* buf) {
|
|||||||
return NO_ERROR;
|
return NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
status_t BufferQueue::dequeueBuffer(int *outBuf, sp<Fence>& outFence,
|
status_t BufferQueue::dequeueBuffer(int *outBuf, sp<Fence>* outFence,
|
||||||
uint32_t w, uint32_t h, uint32_t format, uint32_t usage) {
|
uint32_t w, uint32_t h, uint32_t format, uint32_t usage) {
|
||||||
ATRACE_CALL();
|
ATRACE_CALL();
|
||||||
ST_LOGV("dequeueBuffer: w=%d h=%d fmt=%#x usage=%#x", w, h, format, usage);
|
ST_LOGV("dequeueBuffer: w=%d h=%d fmt=%#x usage=%#x", w, h, format, usage);
|
||||||
@ -393,7 +393,7 @@ status_t BufferQueue::dequeueBuffer(int *outBuf, sp<Fence>& outFence,
|
|||||||
|
|
||||||
dpy = mSlots[buf].mEglDisplay;
|
dpy = mSlots[buf].mEglDisplay;
|
||||||
eglFence = mSlots[buf].mEglFence;
|
eglFence = mSlots[buf].mEglFence;
|
||||||
outFence = mSlots[buf].mFence;
|
*outFence = mSlots[buf].mFence;
|
||||||
mSlots[buf].mEglFence = EGL_NO_SYNC_KHR;
|
mSlots[buf].mEglFence = EGL_NO_SYNC_KHR;
|
||||||
mSlots[buf].mFence = Fence::NO_FENCE;
|
mSlots[buf].mFence = Fence::NO_FENCE;
|
||||||
} // end lock scope
|
} // end lock scope
|
||||||
@ -590,7 +590,7 @@ status_t BufferQueue::queueBuffer(int buf,
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferQueue::cancelBuffer(int buf, sp<Fence> fence) {
|
void BufferQueue::cancelBuffer(int buf, const sp<Fence>& fence) {
|
||||||
ATRACE_CALL();
|
ATRACE_CALL();
|
||||||
ST_LOGV("cancelBuffer: slot=%d", buf);
|
ST_LOGV("cancelBuffer: slot=%d", buf);
|
||||||
Mutex::Autolock lock(mMutex);
|
Mutex::Autolock lock(mMutex);
|
||||||
|
@ -81,7 +81,7 @@ public:
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual status_t dequeueBuffer(int *buf, sp<Fence>& fence,
|
virtual status_t dequeueBuffer(int *buf, sp<Fence>* fence,
|
||||||
uint32_t w, uint32_t h, uint32_t format, uint32_t usage) {
|
uint32_t w, uint32_t h, uint32_t format, uint32_t usage) {
|
||||||
Parcel data, reply;
|
Parcel data, reply;
|
||||||
data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor());
|
data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor());
|
||||||
@ -99,8 +99,8 @@ public:
|
|||||||
// If the fence was written by the callee, then overwrite the
|
// If the fence was written by the callee, then overwrite the
|
||||||
// caller's fence here. If it wasn't written then don't touch the
|
// caller's fence here. If it wasn't written then don't touch the
|
||||||
// caller's fence.
|
// caller's fence.
|
||||||
fence = new Fence();
|
*fence = new Fence();
|
||||||
reply.read(*fence.get());
|
reply.read(*(fence->get()));
|
||||||
}
|
}
|
||||||
result = reply.readInt32();
|
result = reply.readInt32();
|
||||||
return result;
|
return result;
|
||||||
@ -121,7 +121,7 @@ public:
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void cancelBuffer(int buf, sp<Fence> fence) {
|
virtual void cancelBuffer(int buf, const sp<Fence>& fence) {
|
||||||
Parcel data, reply;
|
Parcel data, reply;
|
||||||
data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor());
|
data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor());
|
||||||
data.writeInt32(buf);
|
data.writeInt32(buf);
|
||||||
@ -215,7 +215,7 @@ status_t BnGraphicBufferProducer::onTransact(
|
|||||||
uint32_t usage = data.readInt32();
|
uint32_t usage = data.readInt32();
|
||||||
int buf;
|
int buf;
|
||||||
sp<Fence> fence;
|
sp<Fence> fence;
|
||||||
int result = dequeueBuffer(&buf, fence, w, h, format, usage);
|
int result = dequeueBuffer(&buf, &fence, w, h, format, usage);
|
||||||
reply->writeInt32(buf);
|
reply->writeInt32(buf);
|
||||||
reply->writeInt32(fence != NULL);
|
reply->writeInt32(fence != NULL);
|
||||||
if (fence != NULL) {
|
if (fence != NULL) {
|
||||||
|
@ -182,8 +182,8 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer,
|
|||||||
int reqW = mReqWidth ? mReqWidth : mUserWidth;
|
int reqW = mReqWidth ? mReqWidth : mUserWidth;
|
||||||
int reqH = mReqHeight ? mReqHeight : mUserHeight;
|
int reqH = mReqHeight ? mReqHeight : mUserHeight;
|
||||||
sp<Fence> fence;
|
sp<Fence> fence;
|
||||||
status_t result = mGraphicBufferProducer->dequeueBuffer(&buf, fence, reqW, reqH,
|
status_t result = mGraphicBufferProducer->dequeueBuffer(&buf, &fence,
|
||||||
mReqFormat, mReqUsage);
|
reqW, reqH, mReqFormat, mReqUsage);
|
||||||
if (result < 0) {
|
if (result < 0) {
|
||||||
ALOGV("dequeueBuffer: IGraphicBufferProducer::dequeueBuffer(%d, %d, %d, %d)"
|
ALOGV("dequeueBuffer: IGraphicBufferProducer::dequeueBuffer(%d, %d, %d, %d)"
|
||||||
"failed: %d", mReqWidth, mReqHeight, mReqFormat, mReqUsage,
|
"failed: %d", mReqWidth, mReqHeight, mReqFormat, mReqUsage,
|
||||||
|
@ -76,7 +76,7 @@ TEST_F(BufferQueueTest, AcquireBuffer_ExceedsMaxAcquireCount_Fails) {
|
|||||||
|
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
ASSERT_EQ(IGraphicBufferProducer::BUFFER_NEEDS_REALLOCATION,
|
ASSERT_EQ(IGraphicBufferProducer::BUFFER_NEEDS_REALLOCATION,
|
||||||
mBQ->dequeueBuffer(&slot, fence, 1, 1, 0,
|
mBQ->dequeueBuffer(&slot, &fence, 1, 1, 0,
|
||||||
GRALLOC_USAGE_SW_READ_OFTEN));
|
GRALLOC_USAGE_SW_READ_OFTEN));
|
||||||
ASSERT_EQ(OK, mBQ->requestBuffer(slot, &buf));
|
ASSERT_EQ(OK, mBQ->requestBuffer(slot, &buf));
|
||||||
ASSERT_EQ(OK, mBQ->queueBuffer(slot, qbi, &qbo));
|
ASSERT_EQ(OK, mBQ->queueBuffer(slot, qbi, &qbo));
|
||||||
@ -84,7 +84,7 @@ TEST_F(BufferQueueTest, AcquireBuffer_ExceedsMaxAcquireCount_Fails) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ASSERT_EQ(IGraphicBufferProducer::BUFFER_NEEDS_REALLOCATION,
|
ASSERT_EQ(IGraphicBufferProducer::BUFFER_NEEDS_REALLOCATION,
|
||||||
mBQ->dequeueBuffer(&slot, fence, 1, 1, 0,
|
mBQ->dequeueBuffer(&slot, &fence, 1, 1, 0,
|
||||||
GRALLOC_USAGE_SW_READ_OFTEN));
|
GRALLOC_USAGE_SW_READ_OFTEN));
|
||||||
ASSERT_EQ(OK, mBQ->requestBuffer(slot, &buf));
|
ASSERT_EQ(OK, mBQ->requestBuffer(slot, &buf));
|
||||||
ASSERT_EQ(OK, mBQ->queueBuffer(slot, qbi, &qbo));
|
ASSERT_EQ(OK, mBQ->queueBuffer(slot, qbi, &qbo));
|
||||||
|
Loading…
Reference in New Issue
Block a user