diff options
| author | 2023-12-04 02:43:53 +0000 | |
|---|---|---|
| committer | 2023-12-04 02:43:53 +0000 | |
| commit | eebe59d10cd2eba0e966ced859febf43fffa3b6f (patch) | |
| tree | e88fce45b2d33e2e0e515a2702c6e936c7ab74d6 | |
| parent | c856e0fbbf9e2642415fbe1d24ce5e956dc8fd6d (diff) | |
| parent | 2b844039281953acf99775df6bcf278c5544f03d (diff) | |
Fix green line issue when playing 1080p HDR video on Youtube. am: 2b84403928
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/25520121
Change-Id: I215df5e0733b75ffd2e5cb25b26f40dbc9e7b72d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/surfaceflinger/LayerFE.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/services/surfaceflinger/LayerFE.cpp b/services/surfaceflinger/LayerFE.cpp index f855f278c3..88808664a4 100644 --- a/services/surfaceflinger/LayerFE.cpp +++ b/services/surfaceflinger/LayerFE.cpp @@ -249,10 +249,13 @@ void LayerFE::prepareBufferStateClientComposition( layerSettings.frameNumber = mSnapshot->frameNumber; layerSettings.bufferId = mSnapshot->externalTexture->getId(); + const bool useFiltering = targetSettings.needsFiltering || + mSnapshot->geomLayerTransform.needsBilinearFiltering(); + // Query the texture matrix given our current filtering mode. float textureMatrix[16]; getDrawingTransformMatrix(layerSettings.source.buffer.buffer, mSnapshot->geomContentCrop, - mSnapshot->geomBufferTransform, targetSettings.needsFiltering, + mSnapshot->geomBufferTransform, useFiltering, textureMatrix); if (mSnapshot->geomBufferUsesDisplayInverseTransform) { @@ -303,7 +306,7 @@ void LayerFE::prepareBufferStateClientComposition( mat4::translate(vec4(translateX, translateY, 0.f, 1.f)) * mat4::scale(vec4(scaleWidth, scaleHeight, 1.0f, 1.0f)); - layerSettings.source.buffer.useTextureFiltering = targetSettings.needsFiltering; + layerSettings.source.buffer.useTextureFiltering = useFiltering; layerSettings.source.buffer.textureTransform = mat4(static_cast<const float*>(textureMatrix)) * tr; |