Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45d7974f authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Revert "Adds out parameters for crop rectangle and transform""

parents ec1396b7 619eea30
Loading
Loading
Loading
Loading
+2 −3
Original line number Original line Diff line number Diff line
@@ -272,11 +272,10 @@ public:
    status_t attachToContext(uint32_t tex);
    status_t attachToContext(uint32_t tex);


    sp<GraphicBuffer> dequeueBuffer(int* outSlotid, android_dataspace* outDataspace,
    sp<GraphicBuffer> dequeueBuffer(int* outSlotid, android_dataspace* outDataspace,
                                    bool* outQueueEmpty,
                                    float* outTransformMatrix, bool* outQueueEmpty,
                                    SurfaceTexture_createReleaseFence createFence,
                                    SurfaceTexture_createReleaseFence createFence,
                                    SurfaceTexture_fenceWait fenceWait,
                                    SurfaceTexture_fenceWait fenceWait,
                                    void* fencePassThroughHandle, ARect* cropRect,
                                    void* fencePassThroughHandle);
                                    uint32_t* transform);


    /**
    /**
     * takeConsumerOwnership attaches a SurfaceTexture that is currently in the
     * takeConsumerOwnership attaches a SurfaceTexture that is currently in the
+3 −3
Original line number Original line Diff line number Diff line
@@ -83,11 +83,11 @@ typedef int (*ASurfaceTexture_fenceWait)(int fence, void* fencePassThroughHandle
 * AHardwareBuffer_release.
 * AHardwareBuffer_release.
 */
 */
AHardwareBuffer* ASurfaceTexture_dequeueBuffer(ASurfaceTexture* st, int* outSlotid,
AHardwareBuffer* ASurfaceTexture_dequeueBuffer(ASurfaceTexture* st, int* outSlotid,
                                               android_dataspace* outDataspace, bool* outNewContent,
                                               android_dataspace* outDataspace,
                                               float* outTransformMatrix, bool* outNewContent,
                                               ASurfaceTexture_createReleaseFence createFence,
                                               ASurfaceTexture_createReleaseFence createFence,
                                               ASurfaceTexture_fenceWait fenceWait,
                                               ASurfaceTexture_fenceWait fenceWait,
                                               void* fencePassThroughHandle, ARect* cropRect,
                                               void* fencePassThroughHandle);
                                               uint32_t* transform);


} // namespace android
} // namespace android


+3 −5
Original line number Original line Diff line number Diff line
@@ -464,11 +464,10 @@ void SurfaceTexture::dumpLocked(String8& result, const char* prefix) const {
}
}


sp<GraphicBuffer> SurfaceTexture::dequeueBuffer(int* outSlotid, android_dataspace* outDataspace,
sp<GraphicBuffer> SurfaceTexture::dequeueBuffer(int* outSlotid, android_dataspace* outDataspace,
                                                bool* outQueueEmpty,
                                                float* outTransformMatrix, bool* outQueueEmpty,
                                                SurfaceTexture_createReleaseFence createFence,
                                                SurfaceTexture_createReleaseFence createFence,
                                                SurfaceTexture_fenceWait fenceWait,
                                                SurfaceTexture_fenceWait fenceWait,
                                                void* fencePassThroughHandle, ARect* cropRect,
                                                void* fencePassThroughHandle) {
                                                uint32_t* transform) {
    Mutex::Autolock _l(mMutex);
    Mutex::Autolock _l(mMutex);
    sp<GraphicBuffer> buffer;
    sp<GraphicBuffer> buffer;


@@ -484,8 +483,7 @@ sp<GraphicBuffer> SurfaceTexture::dequeueBuffer(int* outSlotid, android_dataspac


    buffer = mImageConsumer.dequeueBuffer(outSlotid, outDataspace, outQueueEmpty, *this,
    buffer = mImageConsumer.dequeueBuffer(outSlotid, outDataspace, outQueueEmpty, *this,
                                          createFence, fenceWait, fencePassThroughHandle);
                                          createFence, fenceWait, fencePassThroughHandle);
    *transform = mCurrentTransform;
    memcpy(outTransformMatrix, mCurrentTransformMatrix, sizeof(mCurrentTransformMatrix));
    *cropRect = mCurrentCrop;
    return buffer;
    return buffer;
}
}


+5 −5
Original line number Original line Diff line number Diff line
@@ -193,16 +193,16 @@ void ASurfaceTexture_releaseConsumerOwnership(ASurfaceTexture* texture) {
}
}


AHardwareBuffer* ASurfaceTexture_dequeueBuffer(ASurfaceTexture* st, int* outSlotid,
AHardwareBuffer* ASurfaceTexture_dequeueBuffer(ASurfaceTexture* st, int* outSlotid,
                                               android_dataspace* outDataspace, bool* outNewContent,
                                               android_dataspace* outDataspace,
                                               float* outTransformMatrix, bool* outNewContent,
                                               ASurfaceTexture_createReleaseFence createFence,
                                               ASurfaceTexture_createReleaseFence createFence,
                                               ASurfaceTexture_fenceWait fenceWait, void* handle,
                                               ASurfaceTexture_fenceWait fenceWait, void* handle) {
                                               ARect* cropRect, uint32_t* transform) {
    sp<GraphicBuffer> buffer;
    sp<GraphicBuffer> buffer;
    *outNewContent = false;
    *outNewContent = false;
    bool queueEmpty;
    bool queueEmpty;
    do {
    do {
        buffer = st->consumer->dequeueBuffer(outSlotid, outDataspace, &queueEmpty, createFence,
        buffer = st->consumer->dequeueBuffer(outSlotid, outDataspace, outTransformMatrix,
                                             fenceWait, handle, cropRect, transform);
                                             &queueEmpty, createFence, fenceWait, handle);
        if (!queueEmpty) {
        if (!queueEmpty) {
            *outNewContent = true;
            *outNewContent = true;
        }
        }