Closed Bug 1370908 Opened 7 years ago Closed 7 years ago

Intermittent bugs/1242172-2.html == bugs/1242172-2-ref.html | image comparison, max difference: 2, number of differing pixels: 1795

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: mtseng)

Details

(Keywords: intermittent-failure, Whiteboard: [stockwell fixed:other])

Attachments

(1 file)

I'll check this.
81 failures in the last week, all on linux64-qr builds.  :mtseng, thanks for looking into this, please let me know if you need more information.  As this is such a high failure rate we would like to see this resolved in the next week (fixed, reduced, disabled)
Whiteboard: [stockwell needswork]
(In reply to Joel Maher ( :jmaher) from comment #4)
> 81 failures in the last week, all on linux64-qr builds.  :mtseng, thanks for
> looking into this, please let me know if you need more information.  As this
> is such a high failure rate we would like to see this resolved in the next
> week (fixed, reduced, disabled)

Sure, I can reproduce locally. Still debugging it! Hope this can be fixed this week :)
Assignee: nobody → mtseng
I think this problem is related to float precision when process texture coordinate. Those 1242172-2.html and 1242172-2-ref.html should generate two identical wr displaylist which should get identical result. When I debug it, all the data generate by gecko is same, Including the wr displaylist, the content of image. So the real problem is texture atlas in out texture_cache.rs. When we first load 1242172-2.html, we called push_image and put this image to the texture altas page and we get "resource_rect: TexelRect { uv0: (0,2), uv1: (256,258) }". And next when we load reference test case, we add another image to texture atlas and get "resource_rect: TexelRect { uv0: (0,258), uv1: (256,514) }"

Then, in ps_image shader, we divide it by texture_size which resulting some float precision error. Once I turn off texture atlas in webrender, I no longer reproduce this problem. Dzmitry, do you have any idea for fixing this problem? Or we just fine with enlarging the fuzzy value?
Flags: needinfo?(kvark)
I've seen the issue with tex-coord interpolation when looking at the full-screen gradients. In general, there are several things to try:
  1. interpolate absolute coordinates, divide in the PS
  2. force `highp` on the values involved
  3. derive the texture coordinate in the PS from the fragment coordinate

Only the last solution worked for me, but it's not easily patchable in the general case.

I created https://github.com/servo/webrender/issues/1398 to investigate. In the meantime, you can bump the fuzzy value and track/participate in the WR issue.
Flags: needinfo?(kvark)
Comment on attachment 8879391 [details]
Bug 1370908 - Bump fuzzy value due to webrender bug.

https://reviewboard.mozilla.org/r/150714/#review155612
Attachment #8879391 - Flags: review?(bugmail) → review+
Thanks for investigating this, Morris! I guess we'll wait for the issue to be fixed upstream.
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5b65073ba9d3
Bump fuzzy value due to webrender bug. r=kats
https://hg.mozilla.org/mozilla-central/rev/5b65073ba9d3
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
thanks for fixing this
Whiteboard: [stockwell needswork] → [stockwell fixed:other]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: