Closed
Bug 897532
Opened 11 years ago
Closed 11 years ago
Not apply high quality image scaling when enable Azure content CG backend
Categories
(Core :: Graphics: ImageLib, defect)
Tracking
()
VERIFIED
FIXED
mozilla26
Tracking | Status | |
---|---|---|
firefox24 | --- | unaffected |
firefox25 | + | verified |
firefox26 | + | verified |
People
(Reporter: tetsuharu, Assigned: jrmuizel)
References
Details
(Keywords: regression)
Attachments
(1 file)
8.37 KB,
patch
|
bas.schouten
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
[environment]
* http://hg.mozilla.org/mozilla-central/rev/2983ca6d4d1a
* OSX 10.8
* gfx.content.azure.enabled=true
* gfx.content.azure.backends=cg
[Step To Reproduce]
Open this test case:
https://bug486918.bugzilla.mozilla.org/attachment.cgi?id=428179
[Result]
Gecko doesn't apply high quality image scaling.
On OSX, Gecko applied high quality image scaling if `image.high_quality_downscaling.enabled` were disabled.
http://hg.mozilla.org/mozilla-central/file/b3fcd828cadc/modules/libpref/src/init/all.js#l3945
[Note]
High quality image scaling works good on these cases:
* If we turn on `image.high_quality_downscaling.enabled`
* If we turn off `gfx.content.azure.enabled`
Reporter | ||
Updated•11 years ago
|
Blocks: 486918
Keywords: regression
Comment 1•11 years ago
|
||
This is actually unrelated to the high quality image scaling implemented in bug 486918. Jeff explicitly turned it off for speed, but we do want it.
No longer blocks: 486918
Updated•11 years ago
|
Assignee: nobody → jmuizelaar
Assignee | ||
Comment 2•11 years ago
|
||
This fixes the regression.
Attachment #785217 -
Flags: review?(bas)
Comment 3•11 years ago
|
||
Comment on attachment 785217 [details] [diff] [review]
Add support for better filtering in Azure
Review of attachment 785217 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/2d/Types.h
@@ +103,5 @@
> enum ExtendMode { EXTEND_CLAMP, EXTEND_REPEAT, EXTEND_REFLECT };
> enum FillRule { FILL_WINDING, FILL_EVEN_ODD };
> enum AntialiasMode { AA_NONE, AA_GRAY, AA_SUBPIXEL, AA_DEFAULT };
> enum Snapping { SNAP_NONE, SNAP_ALIGNED };
> +enum Filter { FILTER_GOOD, FILTER_LINEAR, FILTER_POINT };
I think we should be more specific, for example in D2D 1.1 we have a lot of choice in filters. 'Good' is kind of arbitrary here and I'd be unsure how to pick one. I'd like to figure out namings which more closely describe the tradeoff between performance and quality. Let's discuss this a little on monday. If this is urgent we can take this for now but I feel we really should follow up.
Attachment #785217 -
Flags: review?(bas) → review+
Comment 4•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
Comment 5•11 years ago
|
||
Sorry, I backed this out because it may have caused new intermittent nvidia driver crashes in Metro tests, on Windows PGO builds only:
https://hg.mozilla.org/mozilla-central/rev/55b6b3b78d37
Example crash:
https://tbpl.mozilla.org/php/getParsedLog.php?id=26320937&tree=Mozilla-Central
Stack trace exerpt:
12:37:44 INFO - Thread 24 (crashed)
12:37:44 INFO - 0 nvwgf2um.dll + 0x247192
12:37:44 INFO - eip = 0x70287192 esp = 0x090aef14 ebp = 0x090aef28 ebx = 0x00000640
12:37:44 INFO - esi = 0x00010000 edi = 0x00010000 eax = 0xfffffffe ecx = 0x00000000
12:37:44 INFO - edx = 0x08de3168 efl = 0x00010202
12:37:44 INFO - Found by: given as instruction pointer in context
12:37:44 INFO - 1 nvwgf2um.dll + 0x1f591f
12:37:44 INFO - eip = 0x70235920 esp = 0x090aef30 ebp = 0x090aef88
12:37:44 INFO - Found by: previous frame's frame pointer
12:37:44 INFO - 2 nvwgf2um.dll + 0xfd8b
12:37:44 INFO - eip = 0x7004fd8c esp = 0x090aef90 ebp = 0x090aefb4
12:37:44 INFO - Found by: previous frame's frame pointer
12:37:44 INFO - 3 nvwgf2um.dll + 0xc4f0f
12:37:44 INFO - eip = 0x70104f10 esp = 0x090aefbc ebp = 0x090af010
12:37:44 INFO - Found by: previous frame's frame pointer
12:37:44 INFO - 4 nvwgf2um.dll + 0xc5627
12:37:44 INFO - eip = 0x70105628 esp = 0x090af018 ebp = 0x090af024
12:37:44 INFO - Found by: previous frame's frame pointer
12:37:44 INFO - 5 d3d11.dll + 0xb0162
12:37:44 INFO - eip = 0x70d00163 esp = 0x090af02c ebp = 0x090af048
12:37:44 INFO - Found by: previous frame's frame pointer
12:37:44 INFO - 6 xul.dll!mozilla::layers::CompositorD3D11::SetSamplerForFilter(mozilla::gfx::Filter) [CompositorD3D11.cpp:46163186a53a : 803 + 0x10]
12:37:44 INFO - eip = 0x7375a510 esp = 0x090af050 ebp = 0x090af060
12:37:44 INFO - Found by: previous frame's frame pointer
12:37:44 INFO - 7 xul.dll!mozilla::layers::CompositorD3D11::DrawQuad(mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits> const &,mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits> const &,mozilla::layers::EffectChain const &,float,mozilla::gfx::Matrix4x4 const &,mozilla::gfx::PointTyped<mozilla::gfx::UnknownUnits> const &) [CompositorD3D11.cpp:46163186a53a : 526 + 0xf]
12:37:44 INFO - eip = 0x73b735e8 esp = 0x090af068 ebp = 0x090af0f8
12:37:44 INFO - Found by: call frame info
12:37:44 INFO - 8 xul.dll!mozilla::layers::DeprecatedImageHostSingle::Composite(mozilla::layers::EffectChain &,float,mozilla::gfx::Matrix4x4 const &,mozilla::gfx::PointTyped<mozilla::gfx::UnknownUnits> const &,mozilla::gfx::Filter const &,mozilla::gfx::RectTyped<mozilla::gfx::UnknownUnits> const &,nsIntRegion const *,mozilla::layers::TiledLayerProperties *) [ImageHost.cpp:46163186a53a : 307 + 0x1f]
12:37:44 INFO - eip = 0x73b74d8a esp = 0x090af100 ebp = 0x090af168
12:37:44 INFO - Found by: call frame info
12:37:44 INFO - 9 xul.dll!mozilla::layers::CanvasLayerComposite::RenderLayer(nsIntPoint const &,nsIntRect const &) [CanvasLayerComposite.cpp:46163186a53a : 96 + 0x60]
12:37:44 INFO - eip = 0x73b7461c esp = 0x090af170 ebp = 0x090af210
12:37:44 INFO - Found by: call frame info
12:37:44 INFO - 10 xul.dll!mozilla::layers::ContainerRender<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite *,nsIntPoint const &,mozilla::layers::LayerManagerComposite *,nsIntRect const &) [ContainerLayerComposite.cpp:46163186a53a : 123 + 0x13]
12:37:44 INFO - eip = 0x73b7666c esp = 0x090af218 ebp = 0x090af358
12:37:44 INFO - Found by: call frame info
Suspected regression range:
https://tbpl.mozilla.org/?tree=Mozilla-Inbound&jobname=pgo.*metro&fromchange=2f380c0d1670&tochange=46163186a53a
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla26 → ---
Comment 7•11 years ago
|
||
Status: REOPENED → RESOLVED
Closed: 11 years ago → 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
Updated•11 years ago
|
status-firefox24:
--- → unaffected
status-firefox25:
--- → affected
status-firefox26:
--- → fixed
tracking-firefox25:
--- → +
tracking-firefox26:
--- → +
Comment 8•11 years ago
|
||
Jeff, how do you feel about uplifting this to FF25 on Aurora?
Flags: needinfo?(jmuizelaar)
Assignee | ||
Comment 9•11 years ago
|
||
Comment on attachment 785217 [details] [diff] [review]
Add support for better filtering in Azure
[Approval Request Comment]
Bug caused by (feature/regressing bug #): 896489
User impact if declined: A regression in image scaling
Testing completed (on m-c, etc.): Has been on mozilla-central for a while
Risk to taking this patch (and alternatives if risky): Very limited risk.
Attachment #785217 -
Flags: approval-mozilla-aurora?
Updated•11 years ago
|
Flags: needinfo?(jmuizelaar)
Updated•11 years ago
|
Attachment #785217 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 10•11 years ago
|
||
Comment 11•11 years ago
|
||
Reproduced in nightly 2013-07-31. Verified fixed FF 25b3 Mac OS X 10.8.4
Comment 12•11 years ago
|
||
Verified fixed FF 26.0a2 (2013-10-03) Mac OS X 10.8.4
Comment 13•11 years ago
|
||
While working on talos tscroll, I noticed that two tscroll subtests: tiled-downscale.html and tiled-fixed-downscale.html jank badly on current nightly (fx29 on OSX 10.9[.1] on 2010 MBA). The symptoms are frequent ~1s hangs during scroll (manual or automatic by the test), and hundreds of MB mem usage increase while interacting with these pages.
Looking at datazilla, I _think_ this bug could be the cause (scroll down to tiled-downscale.html on Aug 17) : https://datazilla.mozilla.org/?start=1371736841&stop=1387263645&product=Firefox&repository=Firefox&os=mac&os_version=OS%20X%2010.8&test=tscrollx&graph_search=b1e5ade62913,a71cedddadd1&tr_id=2520025&graph=tiled-fixed-downscale.html&x86=false&project=talos
Graphserver: http://graphs.mozilla.org/graph.html#tests=[[287,1,24]]&sel=1376223841460.1765,1377113499484.1235&displayrange=365&datatype=running
You need to log in
before you can comment on or make changes to this bug.
Description
•