Closed
Bug 1399268
Opened 7 years ago
Closed 5 years ago
Transparent "seams" (perhaps for triangulation edges?) along 3D transformed surface
Categories
(Core :: Graphics, defect, P2)
Core
Graphics
Tracking
()
RESOLVED
DUPLICATE
of bug 1339664
Tracking | Status | |
---|---|---|
firefox-esr52 | --- | unaffected |
firefox55 | --- | wontfix |
firefox56 | --- | fix-optional |
firefox57 | --- | fix-optional |
People
(Reporter: dholbert, Unassigned)
References
Details
(Whiteboard: [gfx-noted])
Attachments
(6 files, 1 obsolete file)
STR:
1. Load https://bugzilla.mozilla.org/attachment.cgi?id=8638364 (testcase from bug 1187209)
2. Look for "seams" along otherwise solid-color faces.
3. (optional) try zooming in/out.
ACTUAL RESULTS:
There are visible seams along the wide outer face of the blue block in the bottom row and the white block in the second-to-top row (on the left face of the cube).
EXPECTED RESULTS:
No seams.
This is a regression from bug 1323797. (At least with respect to the blue block on the bottom row. The white block in the second-to-top row didn't show up correctly -- seams or no seams -- until after bug 1323797 landed.)
Reporter | ||
Comment 1•7 years ago
|
||
Reporter | ||
Comment 2•7 years ago
|
||
Reporter | ||
Comment 3•7 years ago
|
||
Miko, do you know if this is already tracked somewhere, and is there anything we can do about it?
Flags: needinfo?(mikokm)
Comment 4•7 years ago
|
||
(In reply to Daniel Holbert [:dholbert] from comment #3)
> Miko, do you know if this is already tracked somewhere, and is there
> anything we can do about it?
I think the problem is antialiasing artifacts along the split seam. There is a relevant bug 1339664 filed for software backend, where I explicitly disabled AA when rendering split geometry.
On which platform is this, and do you have hardware acceleration enabled?
Flags: needinfo?(mikokm)
Reporter | ||
Comment 5•7 years ago
|
||
This is on Linux, 57.0a1 (2017-09-12) (64-bit)
I forget how to check for hardware accel, but it looks like it's disabled -- about:support says:
> AzureCanvasAccelerated 0
> AzureCanvasBackend skia
> AzureContentBackend skia
> HW_COMPOSITING blocked by default: Acceleration blocked by platform
> OPENGL_COMPOSITING unavailable by default: Hardware compositing is disabled
Reporter | ||
Comment 6•7 years ago
|
||
The seams do go away if I set the about:config pref "layers.acceleration.force-enabled" to true. So HW acceleration does seem to avoid this.
Comment 7•7 years ago
|
||
(In reply to Daniel Holbert [:dholbert] from comment #5)
> This is on Linux, 57.0a1 (2017-09-12) (64-bit)
>
> I forget how to check for hardware accel, but it looks like it's disabled --
> about:support says:
> > AzureCanvasAccelerated 0
> > AzureCanvasBackend skia
> > AzureContentBackend skia
> > HW_COMPOSITING blocked by default: Acceleration blocked by platform
> > OPENGL_COMPOSITING unavailable by default: Hardware compositing is disabled
This is very interesting, I would have expected Skia backend to work due to disabled AA.
I will investigate this next week, when I have my Linux machine at hand.
Assignee: nobody → mikokm
Status: NEW → ASSIGNED
Updated•7 years ago
|
status-firefox55:
--- → wontfix
status-firefox56:
--- → fix-optional
status-firefox-esr52:
--- → unaffected
Priority: -- → P2
Whiteboard: [gfx-noted]
Comment 8•7 years ago
|
||
I am able to reproduce this on MacOS with hardware acceleration disabled.
It's very interesting that zooming in/out changes how the seams appear. This might be a rounding or accuracy problem with the layer coordinates.
Changing AA setting didn't seem to help.
Comment 9•7 years ago
|
||
Comment 10•7 years ago
|
||
Comment 11•7 years ago
|
||
I investigated this further and managed to create a reduced testcase (seams-reduced.html). A curious thing with this test case is that the seam appears even when there are no intersections.
The second testcase (zoom.html) shows seams near the tile borders when zooming in.
Comment hidden (mozreview-request) |
Comment 13•7 years ago
|
||
It seems that the source for the seams is filtering Skia uses in Draw3DTransformedSurface(). Unfortunately disabling this requires more fuzziness with preserves3d-nested.html.
Comment 14•7 years ago
|
||
mozreview-review |
Comment on attachment 8918644 [details]
Bug 1399268 - Disable filtering during Draw3DTransformedSurface() when layer was split
https://reviewboard.mozilla.org/r/189470/#review195524
::: commit-message-196da:2
(Diff revision 1)
> +Bug 1399268 - Disable filtering during Draw3DTransformedSurface() when layer was split
> +
What's the user visible impact of this change?
Comment 15•7 years ago
|
||
Comment 16•7 years ago
|
||
Comment 17•7 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #14)
> Comment on attachment 8918644 [details]
> Bug 1399268 - Disable filtering during Draw3DTransformedSurface() when layer
> was split
>
> https://reviewboard.mozilla.org/r/189470/#review195524
>
> ::: commit-message-196da:2
> (Diff revision 1)
> > +Bug 1399268 - Disable filtering during Draw3DTransformedSurface() when layer was split
> > +
>
> What's the user visible impact of this change?
I have attached screenshots showing the testcase with filtering turned on and off.
As this makes edges rather ugly, it might be worth it to also explore alternative solutions. Markus had an interesting idea to draw layers as rectangles and then clip them with a polygon path. Currently layers with attached geometry are rendered as filled paths.
Comment 18•7 years ago
|
||
Yeah. I think we'll want to explore better solutions than the ugliness.
Updated•7 years ago
|
Attachment #8918644 -
Attachment is obsolete: true
Attachment #8918644 -
Flags: review?(jmuizelaar)
Updated•7 years ago
|
Status: ASSIGNED → NEW
Updated•6 years ago
|
Assignee: mikokm → nobody
Updated•5 years ago
|
Updated•5 years ago
|
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•