Refactor `isHdrDataspace` function.
- Rename it to `getHdrRenderType` and return a ternary enum. - return the hdr type that we want to treat based on the dataspace, format and hdr/sdr ratio. - pixelformat is optional, in case no source buffer but there is a source color. - hdr/sdr ratio is 1.0f by default, render rengine doesn't take care this param. - The ternary enum has 3 types: just SDR; generic hdr, namely those we need to tonemap; display hdr, namely those self-promoting to HDR by using extended brightness API. - This fix also contains commit I094836e460e0d64b28492061128cff11f22944d9 Bug: 261485283 Test: HdrRenderTypeUtils_test, TextureViewTest#testSDRFromSurfaceViewAndTextureView, OutputLayerUpdateCompositionStateTest Change-Id: I281687a010bbf5bff555f6fa893002c2a9b324d1 Merged-In: I281687a010bbf5bff555f6fa893002c2a9b324d1
Showing
- libs/renderengine/skia/SkiaRenderEngine.cpp 5 additions, 2 deletionslibs/renderengine/skia/SkiaRenderEngine.cpp
- libs/ui/include_types/ui/HdrRenderTypeUtils.h 64 additions, 0 deletionslibs/ui/include_types/ui/HdrRenderTypeUtils.h
- libs/ui/tests/Android.bp 2 additions, 2 deletionslibs/ui/tests/Android.bp
- libs/ui/tests/DataspaceUtils_test.cpp 0 additions, 53 deletionslibs/ui/tests/DataspaceUtils_test.cpp
- libs/ui/tests/HdrRenderTypeUtils_test.cpp 65 additions, 0 deletionslibs/ui/tests/HdrRenderTypeUtils_test.cpp
- services/surfaceflinger/CompositionEngine/src/OutputLayer.cpp 11 additions, 5 deletions...ices/surfaceflinger/CompositionEngine/src/OutputLayer.cpp
- services/surfaceflinger/Layer.cpp 1 addition, 1 deletionservices/surfaceflinger/Layer.cpp
- services/surfaceflinger/SurfaceFlinger.cpp 9 additions, 8 deletionsservices/surfaceflinger/SurfaceFlinger.cpp
Loading
Please register or sign in to comment