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

Commit 472b25d8 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Add plumbing for HDR WebView" into udc-dev am: 89086022 am: c434690f"

parents 65232655 62a477da
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ namespace android::uirenderer {

using namespace renderthread;

static float getTargetHdrSdrRatio(const SkColorSpace* destColorspace) {
float getTargetHdrSdrRatio(const SkColorSpace* destColorspace) {
    // We should always have a known destination colorspace. If we don't we must be in some
    // legacy mode where we're lost and also definitely not going to HDR
    if (destColorspace == nullptr) {
+2 −0
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@

namespace android::uirenderer {

float getTargetHdrSdrRatio(const SkColorSpace* destColorspace);

void DrawGainmapBitmap(SkCanvas* c, const sk_sp<const SkImage>& image, const SkRect& src,
                       const SkRect& dst, const SkSamplingOptions& sampling, const SkPaint* paint,
                       SkCanvas::SrcRectConstraint constraint,
+2 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include "SkM44.h"
#include "include/gpu/GpuTypes.h" // from Skia
#include "utils/GLUtils.h"
#include <effects/GainmapRenderer.h>

namespace android {
namespace uirenderer {
@@ -129,6 +130,7 @@ void GLFunctorDrawable::onDraw(SkCanvas* canvas) {
    info.height = fboSize.height();
    mat4.getColMajor(&info.transform[0]);
    info.color_space_ptr = canvas->imageInfo().colorSpace();
    info.currentHdrSdrRatio = getTargetHdrSdrRatio(info.color_space_ptr);

    // ensure that the framebuffer that the webview will render into is bound before we clear
    // the stencil and/or draw the functor.
+2 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@
#include "renderthread/VulkanManager.h"
#include "thread/ThreadBase.h"
#include "utils/TimeUtils.h"
#include "effects/GainmapRenderer.h"

namespace android {
namespace uirenderer {
@@ -73,6 +74,7 @@ void VkFunctorDrawHandler::draw(const GrBackendDrawableInfo& info) {
            .clip_right = mClip.fRight,
            .clip_bottom = mClip.fBottom,
            .is_layer = !vulkan_info.fFromSwapchainOrAndroidWindow,
            .currentHdrSdrRatio = getTargetHdrSdrRatio(mImageInfo.colorSpace()),
    };
    mat4.getColMajor(&params.transform[0]);
    params.secondary_command_buffer = vulkan_info.fSecondaryCommandBuffer;
+2 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@
#include "renderthread/EglManager.h"
#include "thread/ThreadBase.h"
#include "utils/TimeUtils.h"
#include "effects/GainmapRenderer.h"

#include <SkBlendMode.h>
#include <SkImage.h>
@@ -141,6 +142,7 @@ void VkInteropFunctorDrawable::onDraw(SkCanvas* canvas) {
        info.height = mFBInfo.height();
        mat4.getColMajor(&info.transform[0]);
        info.color_space_ptr = canvas->imageInfo().colorSpace();
        info.currentHdrSdrRatio = getTargetHdrSdrRatio(info.color_space_ptr);

        glViewport(0, 0, info.width, info.height);

Loading