mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
fixed impeller golden content scale (#167308)
fixes https://github.com/flutter/flutter/issues/162036 This fixes the problem my scaling the render texture by the content scalar. This means locally you'll probably be generating 2048x1536 images. This matches the rendering that is happening in playgrounds. On CI the content scalar should be one so there is no change there. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
This commit is contained in:
parent
0e4bebffa1
commit
a23e4ca194
@ -222,10 +222,16 @@ bool GoldenPlaygroundTest::OpenPlaygroundHere(
|
||||
AiksContext renderer(GetContext(), typographer_context_);
|
||||
|
||||
std::unique_ptr<testing::Screenshot> screenshot;
|
||||
Point content_scale =
|
||||
pimpl_->screenshotter->GetPlayground().GetContentScale();
|
||||
|
||||
ISize physical_window_size(
|
||||
std::round(pimpl_->window_size.width * content_scale.x),
|
||||
std::round(pimpl_->window_size.height * content_scale.y));
|
||||
for (int i = 0; i < 2; ++i) {
|
||||
auto display_list = callback();
|
||||
auto texture =
|
||||
DisplayListToTexture(display_list, pimpl_->window_size, renderer);
|
||||
DisplayListToTexture(display_list, physical_window_size, renderer);
|
||||
screenshot = pimpl_->screenshotter->MakeScreenshot(renderer, texture);
|
||||
}
|
||||
return SaveScreenshot(std::move(screenshot));
|
||||
@ -320,9 +326,14 @@ fml::Status GoldenPlaygroundTest::SetCapabilities(
|
||||
std::unique_ptr<testing::Screenshot> GoldenPlaygroundTest::MakeScreenshot(
|
||||
const sk_sp<flutter::DisplayList>& list) {
|
||||
AiksContext renderer(GetContext(), typographer_context_);
|
||||
Point content_scale =
|
||||
pimpl_->screenshotter->GetPlayground().GetContentScale();
|
||||
|
||||
ISize physical_window_size(
|
||||
std::round(pimpl_->window_size.width * content_scale.x),
|
||||
std::round(pimpl_->window_size.height * content_scale.y));
|
||||
return pimpl_->screenshotter->MakeScreenshot(
|
||||
renderer, DisplayListToTexture(list, pimpl_->window_size, renderer));
|
||||
renderer, DisplayListToTexture(list, physical_window_size, renderer));
|
||||
}
|
||||
|
||||
} // namespace impeller
|
||||
|
@ -43,7 +43,7 @@ std::unique_ptr<Screenshot> MetalScreenshotter::MakeScreenshot(
|
||||
imageByApplyingOrientation:kCGImagePropertyOrientationDownMirrored];
|
||||
|
||||
CGImageRef cgImage = [cicontext createCGImage:flipped
|
||||
fromRect:[ciImage extent]];
|
||||
fromRect:[flipped extent]];
|
||||
|
||||
// NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks)
|
||||
return std::unique_ptr<MetalScreenshot>(new MetalScreenshot(cgImage));
|
||||
|
Loading…
Reference in New Issue
Block a user