summaryrefslogtreecommitdiff
path: root/libs/shaders/shaders.cpp
diff options
context:
space:
mode:
author Alec Mouri <alecmouri@google.com> 2022-03-04 22:44:51 +0000
committer Alec Mouri <alecmouri@google.com> 2022-03-17 17:54:17 +0000
commit1a3c5456dd9e05642c3d0f388102c511e80b5108 (patch)
treed22652abd251e4be763ba8f21df8c486bd97c957 /libs/shaders/shaders.cpp
parent63d679d2eb41ca10dedfb14487beae1b4c38319a (diff)
Add AHardwareBuffer as a tone-mapping input.
This is to allow for partners to take gralloc4 metadata into account for their tone-mapping operation. Bug: 212641375 Test: builds Change-Id: Id20291fc1a1a0350a7fff0a8e703f242c68d2b28
Diffstat (limited to 'libs/shaders/shaders.cpp')
-rw-r--r--libs/shaders/shaders.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/shaders/shaders.cpp b/libs/shaders/shaders.cpp
index 03da3ecd62..0d77519ab7 100644
--- a/libs/shaders/shaders.cpp
+++ b/libs/shaders/shaders.cpp
@@ -476,7 +476,8 @@ std::vector<tonemap::ShaderUniform> buildLinearEffectUniforms(const LinearEffect
const mat4& colorTransform,
float maxDisplayLuminance,
float currentDisplayLuminanceNits,
- float maxLuminance) {
+ float maxLuminance,
+ AHardwareBuffer* buffer) {
std::vector<tonemap::ShaderUniform> uniforms;
if (linearEffect.inputDataspace == linearEffect.outputDataspace) {
uniforms.push_back({.name = "in_rgbToXyz", .value = buildUniformValue<mat4>(mat4())});
@@ -504,7 +505,8 @@ std::vector<tonemap::ShaderUniform> buildLinearEffectUniforms(const LinearEffect
// This will be the case for eg screenshots in addition to
// uncalibrated displays
.contentMaxLuminance =
- maxLuminance > 0 ? maxLuminance : maxDisplayLuminance};
+ maxLuminance > 0 ? maxLuminance : maxDisplayLuminance,
+ .buffer = buffer};
for (const auto uniform : tonemap::getToneMapper()->generateShaderSkSLUniforms(metadata)) {
uniforms.push_back(uniform);
@@ -513,4 +515,4 @@ std::vector<tonemap::ShaderUniform> buildLinearEffectUniforms(const LinearEffect
return uniforms;
}
-} // namespace android::shaders \ No newline at end of file
+} // namespace android::shaders