diff options
author | 2022-11-04 01:28:55 +0000 | |
---|---|---|
committer | 2022-11-05 00:58:18 +0000 | |
commit | 3c51bc5024b849c9ed5defbea058133399cdda3e (patch) | |
tree | a0f32a4912315cf647a33ec9b6624751c62f707f /libs/nativewindow/AHardwareBuffer.cpp | |
parent | 89ea6a91e3ceb2abbc6cfce890dd622c7e219dbb (diff) |
Improve tonemapping utilities
* Add util for getting buffer dataspace from metadata, since some
ANativeWindow queries are unreliable when Surface endpoints are passed
between processes, e.g., camera
* Let libshaders generate SkSL for SkColorFilters
Bug: 238395777
Test: Switching HDR cameras don't color shift
Change-Id: I7c3b917eeafcf8d028f8f52f38aa1389025bc607
Diffstat (limited to 'libs/nativewindow/AHardwareBuffer.cpp')
-rw-r--r-- | libs/nativewindow/AHardwareBuffer.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/nativewindow/AHardwareBuffer.cpp b/libs/nativewindow/AHardwareBuffer.cpp index 180dce9ed7..bbafbffae0 100644 --- a/libs/nativewindow/AHardwareBuffer.cpp +++ b/libs/nativewindow/AHardwareBuffer.cpp @@ -702,6 +702,14 @@ uint32_t AHardwareBuffer_convertToPixelFormat(uint32_t ahardwarebuffer_format) { return ahardwarebuffer_format; } +int32_t AHardwareBuffer_getDataSpace(AHardwareBuffer* buffer) { + GraphicBuffer* gb = AHardwareBuffer_to_GraphicBuffer(buffer); + auto& mapper = GraphicBufferMapper::get(); + ui::Dataspace dataspace = ui::Dataspace::UNKNOWN; + mapper.getDataspace(gb->handle, &dataspace); + return static_cast<int32_t>(dataspace); +} + uint64_t AHardwareBuffer_convertToGrallocUsageBits(uint64_t usage) { using android::hardware::graphics::common::V1_1::BufferUsage; static_assert(AHARDWAREBUFFER_USAGE_CPU_READ_NEVER == (uint64_t)BufferUsage::CPU_READ_NEVER, |