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

Commit 7f24f79b authored by Marissa Wall's avatar Marissa Wall
Browse files

ASurfaceControl: dataspace (1/2)

Allow dataspace to be set on the SurfaceControl.

Test: atest CtsViewTestCases:android.view.cts.ASurfaceControlTest
Bug: 80477568
Change-Id: Idc12d0a4024fc21d570c5190af33559b818b4b08
parent df750469
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -230,6 +230,7 @@ LIBANDROID {
    ASurfaceTransaction_reparent; # introduced=29
    ASurfaceTransaction_reparent; # introduced=29
    ASurfaceTransaction_setBuffer; # introduced=29
    ASurfaceTransaction_setBuffer; # introduced=29
    ASurfaceTransaction_setBufferAlpha; # introduced=29
    ASurfaceTransaction_setBufferAlpha; # introduced=29
    ASurfaceTransaction_setBufferDataSpace; # introduced=29
    ASurfaceTransaction_setBufferTransparency; # introduced=29
    ASurfaceTransaction_setBufferTransparency; # introduced=29
    ASurfaceTransaction_setColor; # introduced=29
    ASurfaceTransaction_setColor; # introduced=29
    ASurfaceTransaction_setDamageRegion; # introduced=29
    ASurfaceTransaction_setDamageRegion; # introduced=29
+14 −0
Original line number Original line Diff line number Diff line
@@ -429,6 +429,20 @@ void ASurfaceTransaction_setBufferAlpha(ASurfaceTransaction* aSurfaceTransaction
    transaction->setAlpha(surfaceControl, alpha);
    transaction->setAlpha(surfaceControl, alpha);
}
}


void ASurfaceTransaction_setBufferDataSpace(ASurfaceTransaction* aSurfaceTransaction,
                                         ASurfaceControl* aSurfaceControl,
                                         ADataSpace aDataSpace) {
    CHECK_NOT_NULL(aSurfaceTransaction);
    CHECK_NOT_NULL(aSurfaceControl);

    sp<SurfaceControl> surfaceControl = ASurfaceControl_to_SurfaceControl(aSurfaceControl);
    LOG_ALWAYS_FATAL_IF(!isDataSpaceValid(surfaceControl, aDataSpace), "invalid dataspace");

    Transaction* transaction = ASurfaceTransaction_to_Transaction(aSurfaceTransaction);

    transaction->setDataspace(surfaceControl, static_cast<ui::Dataspace>(aDataSpace));
}

void ASurfaceTransaction_setHdrMetadata_smpte2086(ASurfaceTransaction* aSurfaceTransaction,
void ASurfaceTransaction_setHdrMetadata_smpte2086(ASurfaceTransaction* aSurfaceTransaction,
                                                  ASurfaceControl* aSurfaceControl,
                                                  ASurfaceControl* aSurfaceControl,
                                                  struct AHdrMetadata_smpte2086* metadata) {
                                                  struct AHdrMetadata_smpte2086* metadata) {