mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
chore: cherry-pick d88e959e01 from chromium (#33850)
* chore: cherry-pick d88e959e01 from chromium * chore: update patches * chore: update patches * chore: update patches * chore: update patches * chore: update patches * chore: update patches * chore: update patches * chore: update patches * chore: update patches Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Electron Bot <electron@github.com>
This commit is contained in:
@@ -125,5 +125,6 @@ cherry-pick-1665a1d16d46.patch
|
||||
use-after-free_of_id_and_idref_attributes.patch
|
||||
fix_--without-valid_build.patch
|
||||
cherry-pick-4d26949260aa.patch
|
||||
skia_renderer_use_rectf_intersect_in_applyscissor.patch
|
||||
cherry-pick-1a31e2110440.patch
|
||||
cherry-pick-5cb934a23ddf.patch
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Ludwig <michaelludwig@google.com>
|
||||
Date: Sat, 2 Apr 2022 01:05:15 +0000
|
||||
Subject: Use RectF::Intersect in ApplyScissor
|
||||
|
||||
(cherry picked from commit 540e2ecde447b0757dd5bb079a59d8faef3183c1)
|
||||
|
||||
Bug: 1299287, 1307317
|
||||
Change-Id: I026090466ebfb3dee0e9daf0609f04babcf42092
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3516507
|
||||
Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
|
||||
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
|
||||
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
|
||||
Cr-Original-Commit-Position: refs/heads/main@{#982400}
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3564640
|
||||
Cr-Commit-Position: refs/branch-heads/4896@{#1017}
|
||||
Cr-Branched-From: 1f63ff4bc27570761b35ffbc7f938f6586f7bee8-refs/heads/main@{#972766}
|
||||
|
||||
diff --git a/components/viz/service/display/skia_renderer.cc b/components/viz/service/display/skia_renderer.cc
|
||||
index ab0f0531ba9431cdadec734fe4215bcdbc39dae4..8c87ef7cce26bf9832549146f801c15b9d963e0f 100644
|
||||
--- a/components/viz/service/display/skia_renderer.cc
|
||||
+++ b/components/viz/service/display/skia_renderer.cc
|
||||
@@ -1421,34 +1421,20 @@ void SkiaRenderer::DrawQuadParams::ApplyScissor(
|
||||
// device space, it will be contained in in the original scissor.
|
||||
// Applying the scissor explicitly means avoiding a clipRect() call and
|
||||
// allows more quads to be batched together in a DrawEdgeAAImageSet call
|
||||
- float left_inset = local_scissor.x() - visible_rect.x();
|
||||
- float top_inset = local_scissor.y() - visible_rect.y();
|
||||
- float right_inset = visible_rect.right() - local_scissor.right();
|
||||
- float bottom_inset = visible_rect.bottom() - local_scissor.bottom();
|
||||
+ float x_epsilon = kAAEpsilon / content_device_transform.matrix().get(0, 0);
|
||||
+ float y_epsilon = kAAEpsilon / content_device_transform.matrix().get(1, 1);
|
||||
|
||||
- // The scissor is a non-AA clip, so we unset the bit flag for clipped edges.
|
||||
- if (left_inset >= kAAEpsilon) {
|
||||
+ // The scissor is a non-AA clip, so unset the bit flag for clipped edges.
|
||||
+ if (local_scissor.x() - visible_rect.x() >= x_epsilon)
|
||||
aa_flags &= ~SkCanvas::kLeft_QuadAAFlag;
|
||||
- } else {
|
||||
- left_inset = 0;
|
||||
- }
|
||||
- if (top_inset >= kAAEpsilon) {
|
||||
+ if (local_scissor.y() - visible_rect.y() >= y_epsilon)
|
||||
aa_flags &= ~SkCanvas::kTop_QuadAAFlag;
|
||||
- } else {
|
||||
- top_inset = 0;
|
||||
- }
|
||||
- if (right_inset >= kAAEpsilon) {
|
||||
+ if (visible_rect.right() - local_scissor.right() >= x_epsilon)
|
||||
aa_flags &= ~SkCanvas::kRight_QuadAAFlag;
|
||||
- } else {
|
||||
- right_inset = 0;
|
||||
- }
|
||||
- if (bottom_inset >= kAAEpsilon) {
|
||||
+ if (visible_rect.bottom() - local_scissor.bottom() >= y_epsilon)
|
||||
aa_flags &= ~SkCanvas::kBottom_QuadAAFlag;
|
||||
- } else {
|
||||
- bottom_inset = 0;
|
||||
- }
|
||||
|
||||
- visible_rect.Inset(left_inset, top_inset, right_inset, bottom_inset);
|
||||
+ visible_rect.Intersect(local_scissor);
|
||||
vis_tex_coords = visible_rect;
|
||||
scissor_rect.reset();
|
||||
}
|
||||
diff --git a/content/test/gpu/gpu_tests/test_expectations/pixel_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/pixel_expectations.txt
|
||||
index 0b88dc6803e39d76acb2e4e42b8140b35ff49b34..132b9c5480ff6557909305259e624b89b502b050 100644
|
||||
--- a/content/test/gpu/gpu_tests/test_expectations/pixel_expectations.txt
|
||||
+++ b/content/test/gpu/gpu_tests/test_expectations/pixel_expectations.txt
|
||||
@@ -339,6 +339,9 @@ crbug.com/948141 Pixel_CanvasDisplaySRGBAccelerated2D [ Failure ]
|
||||
crbug.com/883500 [ android android-nexus-5 ] Pixel_BackgroundImage [ Failure ]
|
||||
crbug.com/1029389 [ android android-nexus-5 ] Pixel_PrecisionRoundedCorner [ Failure ]
|
||||
|
||||
+# Fails on Nexus 5X.
|
||||
+crbug.com/1307317 [ android android-chromium android-nexus-5x ] Pixel_PrecisionRoundedCorner [ Failure ]
|
||||
+
|
||||
# Flakes on Nexus 5X.
|
||||
crbug.com/883500 [ android android-chromium android-nexus-5x ] Pixel_BackgroundImage [ RetryOnFailure ]
|
||||
crbug.com/1065514 [ android android-chromium android-nexus-5x ] Pixel_WebGLReadPixelsTabSwitch [ RetryOnFailure ]
|
||||
Reference in New Issue
Block a user