Bug 245513

Summary: TextureMapperGL: edge distance anti-aliasing should use 2D distance to calculate v_antialias varing variable
Product: WebKit Reporter: Fujii Hironori <Hironori.Fujii>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: cmarcelo, ews-watchlist, kondapallykalyan, luiz
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
antialiasing-z-positions.html
none
WIP patch ews-feeder: commit-queue-

Description Fujii Hironori 2022-09-21 21:01:16 PDT
Created attachment 462527 [details]
antialiasing-z-positions.html

TextureMapperGL: edge distance anti-aliasing should use 2D distance to calculate v_antialias varing variable

> float viewportSpaceDistance = distance(centerInViewportCoordinates, controlPointInViewportCoordinates);

This code calculates the distance in homogeneous coordinates. z and w are included.
Comment 1 Fujii Hironori 2022-09-21 21:01:53 PDT
Created attachment 462528 [details]
WIP patch
Comment 2 Fujii Hironori 2022-09-21 21:04:41 PDT
Comment on attachment 462528 [details]
WIP patch

View in context: https://bugs.webkit.org/attachment.cgi?id=462528&action=review

> Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp:113
> +            float viewportSpaceDistance = distance(centerInViewportCoordinates.xy / centerInViewportCoordinates.w, controlPointInViewportCoordinates.xy / controlPointInViewportCoordinates.w);

We should avoid divisions. bug#245265 is going to solve this bug by calculating the denominator separately.
Comment 3 Fujii Hironori 2022-09-26 22:46:55 PDT

*** This bug has been marked as a duplicate of bug 245265 ***