Closed Bug 770033 Opened 12 years ago Closed 12 years ago

HWA causes rendering issue on http://dogtime.com/

Categories

(Core :: Layout, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla16

People

(Reporter: geeknik, Assigned: bas.schouten)

References

()

Details

Attachments

(4 files)

When using the latest 64-bit Nightly Firefox on 64-bit Windows 7 Pro SP1 with HWA enabled, there is a rendering issue on http://dogtime.com/puppy-training-what-to-chew-dunbar.html. The page loads and renders fine, but when you start scrolling down, the white background disappears. If you disable HWA, this doesn't happen.


about:buildconfig
Built from http://hg.mozilla.org/mozilla-central/rev/d9d61d199b11

about:graphics

Adapter Description NVIDIA GeForce GTX 570
Vendor ID 0x10de
Device ID 0x1081
Adapter RAM 1279
Adapter Drivers nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Driver Version 9.18.13.448
Driver Date 6-11-2012
Direct2D Enabled true
DirectWrite Enabled true (6.1.7601.17789)
ClearType Parameters DISPLAY1 [ Gamma: 2200 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 100 ] DISPLAY2 [ Gamma: 2200 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 200 ] 
WebGL Renderer Google Inc. -- ANGLE (NVIDIA GeForce GTX 570) -- OpenGL ES 2.0 (ANGLE 1.0.0.1041)
GPU Accelerated Windows 0
When I disable Azure Content Acceleration from about:config, it is no longer reproducible.
To be exact gfx.content.azure.enabled changed to false.
Assignee: nobody → bas.schouten
Blocks: 715768
Alice, any idea if this regressed last night? This could be a regression of DLBI combined with Azure-content.
(In reply to Bas Schouten (:bas) from comment #5)
> Alice, any idea if this regressed last night? This could be a regression of
> DLBI combined with Azure-content.

No, this is related to DLBI, I think.

Good:
http://hg.mozilla.org/integration/mozilla-inbound/rev/bbb12d0bcf49
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/15.0 Firefox/15.0a1 ID:20120521220651
Bad:
http://hg.mozilla.org/integration/mozilla-inbound/rev/abbf642df562
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/15.0 Firefox/15.0a1 ID:20120521222950
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=bbb12d0bcf49&tochange=abbf642df562
Triggered by Bug 715768
Attached file Reduced testcase
This very basic page already shows rendering issues when scrolling.
I've tracked the root cause of this bug to a problem with partial uploading not correctly dealing with extend modes. I'm working on a solution to the problem. Definitely a regression from content Azure.
Status: NEW → ASSIGNED
[triage comment]
Adding qawanted to confirm if this is only a Firefox 64 bit issue or a windows 64 bit issue (with 32 bit Firefox as well).
I have Windows 7 Pro SP1 64-bit and 32-bit Firefox Nightly.
Comment on attachment 638562 [details] [diff] [review]
Part 1: Fix bug in SSE2 shuffling for horizontal scaling.

Please provide a test case of some kind.
Attachment #638562 - Flags: review?(jmuizelaar) → review+
This patch is the real 'fix' to this bug, it actually lets the partial uploading code deal with extend codes. I added some special cases for where we could still partially upload to try and get optimal performance & quality. In theory for REFLECT extend mode we could try a little harder but that seems like overkill to me.
Attachment #638567 - Flags: review?(jmuizelaar)
Attachment #638563 - Flags: review?(jmuizelaar) → review+
Comment on attachment 638567 [details] [diff] [review]
Part 3: Adjust partial bitmap uploading code to deal with extend modes.

Review of attachment 638567 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/2d/DrawTargetD2D.cpp
@@ +2327,5 @@
>  
>    IntSize size = aSurface->GetSize();
>  
>    Rect uploadRect(0, 0, size.width, size.height);
>  

// Limit the uploadRect as much as possible without supporting discontiguous uploads 
//
//                               region we will paint from
//   uploadRect
//   .---------------.              .---------------.         resulting uploadRect
//   |               |rect          |               |
//   |          .---------.         .----.     .----.          .---------------.
//   |          |         |  ---->  |    |     |    |   ---->  |               |
//   |          '---------'         '----'     '----'          '---------------'
//   '---------------'              '---------------'
//
//

@@ +2340,5 @@
> +    uploadRect = uploadRect.Intersect(rect);
> +
> +    // We now proceed to check if we can limit at least one dimension of the
> +    // upload rect safely without looking at extend mode.
> +  } else if (rect.x >= 0 && (rect.width + rect.x) < size.width) {

rect.XMost() perhaps?
Attachment #638567 - Flags: review?(jmuizelaar) → review+
I believe comment 10 satisfies the qawanted ask on this bug. Please re-add if not. Otherwise, we are tracking for verification using the tracking/status flags.
Keywords: qawanted
[Triage Comment]

If this can be uplifted to Beta 15 please nominate for approval.
Fixed on beta by turning off Azure content:

https://hg.mozilla.org/releases/mozilla-beta/rev/5f2f7027b65b
Depends on: 849033
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: