Reland: Hooks up framework wide gamut to engine wide gamut (flutter/engine#54906)

relands https://github.com/flutter/engine/pull/54567
depends on https://github.com/flutter/engine/pull/54905

This was reverted because the PR that it depends on was reverted.  There is nothing to be addressed here.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
This commit is contained in:
gaaclarke 2024-08-30 11:22:04 -07:00 committed by GitHub
parent 94750958ca
commit 6596a35625
3 changed files with 10 additions and 12 deletions

View File

@ -12,6 +12,7 @@
#include "flutter/display_list/dl_color.h"
#include "flutter/display_list/dl_paint.h"
#include "flutter/testing/testing.h"
#include "impeller/display_list/dl_dispatcher.h"
#include "impeller/display_list/dl_image_impeller.h"
namespace impeller {
@ -375,7 +376,10 @@ TEST_P(AiksTest, DrawVerticesWithInvalidIndices) {
builder.DrawRect(SkRect::MakeLTRB(0, 0, 400, 400), paint);
builder.DrawVertices(vertices, flutter::DlBlendMode::kSrc, paint);
ASSERT_TRUE(OpenPlaygroundHere(builder.Build()));
AiksContext renderer(GetContext(), nullptr);
std::shared_ptr<Texture> image =
DisplayListToTexture(builder.Build(), {1024, 768}, renderer);
EXPECT_TRUE(image);
}
// All four vertices should form a solid red rectangle with no gaps.

View File

@ -71,14 +71,11 @@ DlColor ReadColor(const tonic::DartByteData& byte_data) {
// Invert alpha so 0 initialized buffer has default value;
float alpha = 1.f - float_data[kColorAlphaIndex];
uint32_t colorspace = uint_data[kColorSpaceIndex];
(void)colorspace;
uint32_t encoded_color =
static_cast<uint8_t>(std::round(alpha * 255.f)) << 24 | //
static_cast<uint8_t>(std::round(red * 255.f)) << 16 | //
static_cast<uint8_t>(std::round(green * 255.f)) << 8 | //
static_cast<uint8_t>(std::round(blue * 255.f)) << 0;
// TODO(gaaclarke): Pass down color info to DlColor.
return DlColor(encoded_color);
DlColor dl_color(alpha, red, green, blue,
static_cast<DlColorSpace>(colorspace));
return dl_color.withColorSpace(DlColorSpace::kExtendedSRGB);
}
} // namespace

View File

@ -614,9 +614,6 @@ impeller_Play_AiksTest_DrawVerticesTextureCoordinatesWithFragmentShaderNonZeroOr
impeller_Play_AiksTest_DrawVerticesTextureCoordinatesWithFragmentShader_Metal.png
impeller_Play_AiksTest_DrawVerticesTextureCoordinatesWithFragmentShader_OpenGLES.png
impeller_Play_AiksTest_DrawVerticesTextureCoordinatesWithFragmentShader_Vulkan.png
impeller_Play_AiksTest_DrawVerticesWithInvalidIndices_Metal.png
impeller_Play_AiksTest_DrawVerticesWithInvalidIndices_OpenGLES.png
impeller_Play_AiksTest_DrawVerticesWithInvalidIndices_Vulkan.png
impeller_Play_AiksTest_EmptySaveLayerIgnoresPaint_Metal.png
impeller_Play_AiksTest_EmptySaveLayerIgnoresPaint_OpenGLES.png
impeller_Play_AiksTest_EmptySaveLayerIgnoresPaint_Vulkan.png