Bug 1589402 - Stop rounding complex clip rects in layout space. r=jrmuizel
authorAndrew Osmond <aosmond@mozilla.com>
Fri, 15 Nov 2019 18:02:17 +0000
changeset 502256 08eb2c23eefaada832b3f477d055b63e78064043
parent 502255 0478d1bf6e32e6198f03b7b22ac2830810e37079
child 502257 38d6fbdbee75e8ba0ac046dbffa1d3b07c254792
push id114172
push userdluca@mozilla.com
push dateTue, 19 Nov 2019 11:31:10 +0000
treeherdermozilla-inbound@b5c5ba07d3db [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjrmuizel
bugs1589402
milestone72.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1589402 - Stop rounding complex clip rects in layout space. r=jrmuizel We already snap the complex clip rects during scene building, taking into account any necessary transforms and device pixel scaling. Just like normal clips, we shouldn't round in layout space. Differential Revision: https://phabricator.services.mozilla.com/D52673
gfx/webrender_bindings/WebRenderTypes.h
--- a/gfx/webrender_bindings/WebRenderTypes.h
+++ b/gfx/webrender_bindings/WebRenderTypes.h
@@ -599,17 +599,17 @@ static inline wr::BorderRadius ToBorderR
   br.bottom_left = ToLayoutSize(bottomLeft);
   br.bottom_right = ToLayoutSize(bottomRight);
   return br;
 }
 
 static inline wr::ComplexClipRegion ToComplexClipRegion(
     const nsRect& aRect, const nscoord* aRadii, int32_t aAppUnitsPerDevPixel) {
   wr::ComplexClipRegion ret;
-  ret.rect = ToRoundedLayoutRect(
+  ret.rect = ToLayoutRect(
       LayoutDeviceRect::FromAppUnits(aRect, aAppUnitsPerDevPixel));
   ret.radii = ToBorderRadius(
       LayoutDeviceSize::FromAppUnits(
           nsSize(aRadii[eCornerTopLeftX], aRadii[eCornerTopLeftY]),
           aAppUnitsPerDevPixel),
       LayoutDeviceSize::FromAppUnits(
           nsSize(aRadii[eCornerTopRightX], aRadii[eCornerTopRightY]),
           aAppUnitsPerDevPixel),