Closed Bug 691354 Opened 13 years ago Closed 13 years ago

GL layers on Android: Most reftest failures are caused by pixels values being 'slightly' off

Categories

(Core :: Graphics, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla10

People

(Reporter: ajuma, Assigned: BenWa)

References

Details

Attachments

(6 files, 2 obsolete files)

Attached patch Always use nearest filtering (deleted) — Splinter Review
With GL layers enabled on Android, several reftests are failing (Bug 676831 flagged many such tests). It turns out that virtually all of these failures are caused by pixel values having one or more channels off by 4 or 8 (e.g., instead of (255,255,255), we get (247,255,247)). Interestingly, if we require GL to always use nearest (rather than linear) filtering, all but one of the reftest failures are resolved. We wouldn't want to land such a change since, among other things, it makes zooming look ugly, but this might help point us in the direction of the real problem.
What happens if you turn off the MOZ_GFX_OPTIMIZE_MOBILE => nearest hacks in bug 688104?
(In reply to Chris Jones [:cjones] [:warhammer] from comment #1) > What happens if you turn off the MOZ_GFX_OPTIMIZE_MOBILE => nearest hacks in > bug 688104? Even with those hacks turned off, we get the same problem.
Attached file Log for reftest analyzer (deleted) —
Depends on: 692194
The problem seems to be caused by the use of LINEAR filter with TiledTextureImage with large textures. The following patch changes the leakage to a clear pattern on the right edge of the rectangle. - mTileSize = mGL->GetMaxTextureSize(); + mTileSize = 512;//mGL->GetMaxTextureSize();
Attached file Log with 512 max TiledTextureImage (deleted) —
And the test passes with a 256 tile size.
Attached patch ShaderHacking (deleted) — Splinter Review
Posting some shader hacking that I worked on with Jeff to get an idea of what is going on. Our general belief is that it is related to precision but we don't understand the problem.
Attached patch patch (obsolete) (deleted) — Splinter Review
More of a work around then a fix unfortunately.
Attachment #565391 - Flags: review?(jmuizelaar)
Attached patch Enable test fix by patch (deleted) — Splinter Review
With these two patch applied we fail 3 tests and pass 3 test that !layerOpenGL fails. ~/mozilla/mozilla-central/tree> find . -name "reftest.list" | xargs grep "Android&&" ./layout/reftests/text-overflow/reftest.list:fails-if(Android&&layersOpenGL) HTTP(..) == block-padding.html block-padding-ref.html ./layout/reftests/canvas/reftest.list:fails-if(Android&&layersOpenGL) == image-rendering-test.html image-rendering-ref.html ./layout/reftests/canvas/reftest.list:fails-if(Android&&layersOpenGL) == image-shadow.html image-shadow-ref.html ./layout/reftests/svg/reftest.list:fails-if(Android&&!layersOpenGL) == dynamic-conditions-01.svg pass.svg # bug 652050 ./layout/reftests/svg/reftest.list:fails-if(Android&&!layersOpenGL) == dynamic-switch-01.svg pass.svg # bug 652050 ./layout/reftests/svg/reftest.list:fails-if(Android&&!layersOpenGL) == switch-01.svg pass.svg # bug 652050
Attachment #566380 - Flags: review?(jmuizelaar)
Attachment #566380 - Flags: review?(jmuizelaar) → review+
Attachment #565391 - Flags: review?(jmuizelaar) → review+
Attached patch patch v2 (handle 3d transforms) (obsolete) (deleted) — Splinter Review
Attachment #565391 - Attachment is obsolete: true
Attachment #567165 - Flags: review?(jmuizelaar)
Attachment #567165 - Attachment is obsolete: true
Attachment #567165 - Flags: review?(jmuizelaar)
Attached patch patch v3 (handle 3d transforms) (deleted) — Splinter Review
Assignee: nobody → bgirard
Status: NEW → ASSIGNED
Attachment #567168 - Flags: review?(jmuizelaar)
Attachment #567168 - Flags: review?(jmuizelaar) → review+
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla10
Still need to land test changes. I was waiting on TBPL results to compare my local results with tinderbox, currently the tree is closed.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → RESOLVED
Closed: 13 years ago13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: