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

Commit c88ed81a authored by Alec Mouri's avatar Alec Mouri Committed by Android (Google) Code Review
Browse files

Merge changes from topics "libshaders", "textureview_hdr"

* changes:
  Move ui/GraphicsTypes into include_types
  Plumb HDR metadata through ASurfaceTexture
  Introduce libshaders static library
parents 440e6640 51891d84
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -42,7 +42,8 @@ public:
    typedef status_t (*SurfaceTexture_fenceWait)(int fence, void* fencePassThroughHandle);

    sp<GraphicBuffer> dequeueBuffer(int* outSlotid, android_dataspace* outDataspace,
                                    bool* outQueueEmpty, SurfaceTexture& cb,
                                    HdrMetadata* outHdrMetadata, bool* outQueueEmpty,
                                    SurfaceTexture& cb,
                                    SurfaceTexture_createReleaseFence createFence,
                                    SurfaceTexture_fenceWait fenceWait,
                                    void* fencePassThroughHandle);
+2 −2
Original line number Diff line number Diff line
@@ -272,8 +272,8 @@ public:
    status_t attachToContext(uint32_t tex);

    sp<GraphicBuffer> dequeueBuffer(int* outSlotid, android_dataspace* outDataspace,
                                    float* outTransformMatrix, uint32_t* outTransform,
                                    bool* outQueueEmpty,
                                    HdrMetadata* outHdrMetadata, float* outTransformMatrix,
                                    uint32_t* outTransform, bool* outQueueEmpty,
                                    SurfaceTexture_createReleaseFence createFence,
                                    SurfaceTexture_fenceWait fenceWait,
                                    void* fencePassThroughHandle, ARect* currentCrop);
+7 −7
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@

#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <android/hdr_metadata.h>
#include <jni.h>
#include <system/graphics.h>

@@ -82,13 +83,12 @@ typedef int (*ASurfaceTexture_fenceWait)(int fence, void* fencePassThroughHandle
 * The caller gets ownership of the buffer and need to release it with
 * AHardwareBuffer_release.
 */
AHardwareBuffer* ASurfaceTexture_dequeueBuffer(ASurfaceTexture* st, int* outSlotid,
                                               android_dataspace* outDataspace,
                                               float* outTransformMatrix, uint32_t* outTransform,
                                               bool* outNewContent,
                                               ASurfaceTexture_createReleaseFence createFence,
                                               ASurfaceTexture_fenceWait fenceWait,
                                               void* fencePassThroughHandle, ARect* currentCrop);
AHardwareBuffer* ASurfaceTexture_dequeueBuffer(
        ASurfaceTexture* st, int* outSlotid, android_dataspace* outDataspace,
        AHdrMetadataType* outHdrType, android_cta861_3_metadata* outCta861_3,
        android_smpte2086_metadata* outSmpte2086, float* outTransformMatrix, uint32_t* outTransform,
        bool* outNewContent, ASurfaceTexture_createReleaseFence createFence,
        ASurfaceTexture_fenceWait fenceWait, void* fencePassThroughHandle, ARect* currentCrop);

} // namespace android

+3 −1
Original line number Diff line number Diff line
@@ -28,7 +28,8 @@ void ImageConsumer::onReleaseBufferLocked(int buf) {
}

sp<GraphicBuffer> ImageConsumer::dequeueBuffer(int* outSlotid, android_dataspace* outDataspace,
                                               bool* outQueueEmpty, SurfaceTexture& st,
                                               HdrMetadata* outHdrMetadata, bool* outQueueEmpty,
                                               SurfaceTexture& st,
                                               SurfaceTexture_createReleaseFence createFence,
                                               SurfaceTexture_fenceWait fenceWait,
                                               void* fencePassThroughHandle) {
@@ -121,6 +122,7 @@ sp<GraphicBuffer> ImageConsumer::dequeueBuffer(int* outSlotid, android_dataspace
    st.computeCurrentTransformMatrixLocked();

    *outDataspace = item.mDataSpace;
    *outHdrMetadata = item.mHdrMetadata;
    *outSlotid = slot;
    return st.mSlots[slot].mGraphicBuffer;
}
+3 −2
Original line number Diff line number Diff line
@@ -464,6 +464,7 @@ void SurfaceTexture::dumpLocked(String8& result, const char* prefix) const {
}

sp<GraphicBuffer> SurfaceTexture::dequeueBuffer(int* outSlotid, android_dataspace* outDataspace,
                                                HdrMetadata* outHdrMetadata,
                                                float* outTransformMatrix, uint32_t* outTransform,
                                                bool* outQueueEmpty,
                                                SurfaceTexture_createReleaseFence createFence,
@@ -482,8 +483,8 @@ sp<GraphicBuffer> SurfaceTexture::dequeueBuffer(int* outSlotid, android_dataspac
        return buffer;
    }

    buffer = mImageConsumer.dequeueBuffer(outSlotid, outDataspace, outQueueEmpty, *this,
                                          createFence, fenceWait, fencePassThroughHandle);
    buffer = mImageConsumer.dequeueBuffer(outSlotid, outDataspace, outHdrMetadata, outQueueEmpty,
                                          *this, createFence, fenceWait, fencePassThroughHandle);
    memcpy(outTransformMatrix, mCurrentTransformMatrix, sizeof(mCurrentTransformMatrix));
    *outTransform = mCurrentTransform;
    *currentCrop = mCurrentCrop;
Loading