Last Comment Bug 770033 - HWA causes rendering issue on http://dogtime.com/
: HWA causes rendering issue on http://dogtime.com/
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Layout (show other bugs)
: Trunk
: x86_64 Windows 7
: -- normal (vote)
: mozilla16
Assigned To: Bas Schouten (:bas.schouten)
:
Mentors:
http://dogtime.com/puppy-training-wha...
: 770036 (view as bug list)
Depends on: 849033
Blocks: 715768
  Show dependency treegraph
 
Reported: 2012-07-01 10:54 PDT by Brian Carpenter [:geeknik]
Modified: 2013-03-07 15:15 PST (History)
9 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Reduced testcase (3.55 KB, text/html)
2012-07-01 18:35 PDT, Bas Schouten (:bas.schouten)
no flags Details
Part 1: Fix bug in SSE2 shuffling for horizontal scaling. (1.27 KB, patch)
2012-07-02 18:32 PDT, Bas Schouten (:bas.schouten)
jmuizelaar: review+
Details | Diff | Review
Part 2: Adjust test to test for ordering in horizontal halfscaling (2.24 KB, patch)
2012-07-02 18:32 PDT, Bas Schouten (:bas.schouten)
jmuizelaar: review+
Details | Diff | Review
Part 3: Adjust partial bitmap uploading code to deal with extend modes. (4.39 KB, patch)
2012-07-02 18:44 PDT, Bas Schouten (:bas.schouten)
jmuizelaar: review+
Details | Diff | Review

Description Brian Carpenter [:geeknik] 2012-07-01 10:54:22 PDT
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
Comment 1 Brian Carpenter [:geeknik] 2012-07-01 11:06:13 PDT
Quite possible a dupe of https://bugzilla.mozilla.org/show_bug.cgi?id=770002.
Comment 2 Zlip792 2012-07-01 12:04:15 PDT
When I disable Azure Content Acceleration from about:config, it is no longer reproducible.
To be exact gfx.content.azure.enabled changed to false.
Comment 3 Alice0775 White 2012-07-01 14:17:53 PDT
*** Bug 770036 has been marked as a duplicate of this bug. ***
Comment 4 Alice0775 White 2012-07-01 14:18:19 PDT
reduced html
attachment 638208 [details]
Comment 5 Bas Schouten (:bas.schouten) 2012-07-01 16:00:06 PDT
Alice, any idea if this regressed last night? This could be a regression of DLBI combined with Azure-content.
Comment 6 Alice0775 White 2012-07-01 16:12:28 PDT
(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
Comment 7 Bas Schouten (:bas.schouten) 2012-07-01 18:35:55 PDT
Created attachment 638238 [details]
Reduced testcase

This very basic page already shows rendering issues when scrolling.
Comment 8 Bas Schouten (:bas.schouten) 2012-07-01 19:25:20 PDT
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.
Comment 9 Lukas Blakk [:lsblakk] use ?needinfo 2012-07-02 15:41:55 PDT
[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).
Comment 10 Zlip792 2012-07-02 17:52:02 PDT
I have Windows 7 Pro SP1 64-bit and 32-bit Firefox Nightly.
Comment 11 Bas Schouten (:bas.schouten) 2012-07-02 18:32:23 PDT
Created attachment 638562 [details] [diff] [review]
Part 1: Fix bug in SSE2 shuffling for horizontal scaling.
Comment 12 Bas Schouten (:bas.schouten) 2012-07-02 18:32:58 PDT
Created attachment 638563 [details] [diff] [review]
Part 2: Adjust test to test for ordering in horizontal halfscaling
Comment 13 Jeff Muizelaar [:jrmuizel] 2012-07-02 18:34:06 PDT
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.
Comment 14 Bas Schouten (:bas.schouten) 2012-07-02 18:44:02 PDT
Created attachment 638567 [details] [diff] [review]
Part 3: Adjust partial bitmap uploading code to deal with extend modes.

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.
Comment 15 Jeff Muizelaar [:jrmuizel] 2012-07-04 08:34:51 PDT
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?
Comment 17 Anthony Hughes (:ashughes) [GFX][QA][Mentor] 2012-07-10 14:13:08 PDT
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.
Comment 18 Lukas Blakk [:lsblakk] use ?needinfo 2012-07-18 09:43:27 PDT
[Triage Comment]

If this can be uplifted to Beta 15 please nominate for approval.
Comment 19 Bas Schouten (:bas.schouten) 2012-08-01 13:41:14 PDT
Fixed on beta by turning off Azure content:

https://hg.mozilla.org/releases/mozilla-beta/rev/5f2f7027b65b

Note You need to log in before you can comment on or make changes to this bug.