| Summary: | [GTK] Fix the broken edge-distance antialiasing | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | JeongBong Seo <jb.seo> | ||||||||||
| Component: | Platform | Assignee: | Nobody <webkit-unassigned> | ||||||||||
| Status: | NEW --- | ||||||||||||
| Severity: | Normal | CC: | bugs-noreply, cmarcelo, commit-queue, jb.seo, jdapena, kondapallykalyan, luiz, mcatanzaro, noam | ||||||||||
| Priority: | P2 | ||||||||||||
| Version: | 528+ (Nightly build) | ||||||||||||
| Hardware: | Unspecified | ||||||||||||
| OS: | Unspecified | ||||||||||||
| Attachments: |
|
||||||||||||
Created attachment 242024 [details]
Patch
Created attachment 242025 [details]
Patch
Created attachment 242026 [details]
after fix
Created attachment 242027 [details]
before fix
Comment on attachment 242025 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=242025&action=review > Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp:-177 > - vec4 clampedPosition = clamp(vec4(position, 0., 1.), 0., 1.); I'm not sure eliminating the clamp function. But with clamp, it shows expanded output. anybody? |
There exist a wrong matrix multiply to get viewport space position. --------------------------------------------------------------------------------- vec4 toViewportSpace(vec2 pos) { return vec4(pos, 0., 1.) * u_modelViewMatrix; } --------------------------------------------------------------------------------- It generates wrong position and affects the inflation ratio to each vertices. The transformation matrix should be left side. After fix the multiplication, I got little strange result. Anti-aliased layer's (inner) contents are expanded 1px. But it shouldn't happen and only edge should be inflated. Than I just erase the clamp function to create transformedTexCoord, and finally, got the good result. But in theory clamping the position should be there, because we using GL_REPEAT in many case. Please give me some idea or comment.