Closed Bug 1594425 Opened 5 months ago Closed 5 months ago

Make image decoders use SurfaceFormat::OS_RGBA/OS_RGBX

Categories

(Core :: ImageLib, task, P2)

task

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox72 --- fixed

People

(Reporter: aosmond, Assigned: aosmond)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

No description provided.
Blocks: 1581828

These helpers will be used by the image decoders in the next part of
this series.

Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f1c1e5f12327
Part 1. Add gfxPlatform QCMS helpers for SurfaceFormat::OS_RGBA. r=tnikkel
https://hg.mozilla.org/integration/autoland/rev/54a28220958b
Part 2. Switch image decoders to use SurfaceFormat::OS_RGBA. r=tnikkel
https://hg.mozilla.org/integration/autoland/rev/90ce21e7e469
Part 3. Make image decoder gtests use SurfaceFormat::OS_RGBA. r=tnikkel

Backed out for failures on SwizzleSSE2.cpp

backout: https://hg.mozilla.org/integration/autoland/rev/75a3afcd0b4ffb432805b33bfd7ea82969fb0d20

push: https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&selectedJob=275403257&revision=90ce21e7e469a6418e2d964aba45bbfe26e9e8fa

failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=275403257&repo=autoland&lineNumber=3230

[task 2019-11-08T20:27:43.974Z] 20:27:43 INFO - TEST-START | accessible/tests/mochitest/states/test_doc.html
[task 2019-11-08T20:27:44.071Z] 20:27:44 INFO - GECKO(1183) | [1183, Main Thread] WARNING: /build/glib2.0-7ZsPUq/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x61d0014ffde0' of type 'MaiAtkType139': 'glib warning', file /builds/worker/workspace/build/src/toolkit/xre/nsSigHandlers.cpp, line 135
[task 2019-11-08T20:27:44.072Z] 20:27:44 INFO - GECKO(1183) | (firefox:1183): GLib-GObject-WARNING : /build/glib2.0-7ZsPUq/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x61d0014ffde0' of type 'MaiAtkType139'
[task 2019-11-08T20:27:44.073Z] 20:27:44 INFO - GECKO(1183) | [1183, Main Thread] WARNING: /build/glib2.0-7ZsPUq/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x61d000429540' of type 'MaiAtkType139': 'glib warning', file /builds/worker/workspace/build/src/toolkit/xre/nsSigHandlers.cpp, line 135
[task 2019-11-08T20:27:44.073Z] 20:27:44 INFO - GECKO(1183) | (firefox:1183): GLib-GObject-WARNING : /build/glib2.0-7ZsPUq/glib2.0-2.48.2/./gobject/gsignal.c:3486: signal name 'load_complete' is invalid for instance '0x61d000429540' of type 'MaiAtkType139'
[task 2019-11-08T20:27:44.094Z] 20:27:44 INFO - GECKO(1183) | MEMORY STAT | vsize 20975558MB | residentFast 1427MB
[task 2019-11-08T20:27:44.097Z] 20:27:44 INFO - TEST-OK | accessible/tests/mochitest/states/test_doc.html | took 131ms
[task 2019-11-08T20:27:44.165Z] 20:27:44 INFO - TEST-START | accessible/tests/mochitest/states/test_doc_busy.html
[task 2019-11-08T20:27:44.796Z] 20:27:44 INFO - GECKO(1183) | =================================================================
[task 2019-11-08T20:27:44.796Z] 20:27:44 ERROR - GECKO(1183) | ==1183==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6190005bda83 at pc 0x7f8f2b1f65dc bp 0x7fffdb6808b0 sp 0x7fffdb6808a8
[task 2019-11-08T20:27:44.796Z] 20:27:44 INFO - GECKO(1183) | WRITE of size 16 at 0x6190005bda83 thread T0
[task 2019-11-08T20:27:45.213Z] 20:27:45 INFO - GECKO(1183) | #0 0x7f8f2b1f65db in PremultiplyChunk_SSE2<true, false> /builds/worker/workspace/build/src/gfx/2d/SwizzleSSE2.cpp:101:5
[task 2019-11-08T20:27:45.214Z] 20:27:45 INFO - GECKO(1183) | #1 0x7f8f2b1f65db in void mozilla::gfx::Premultiply_SSE2<true, false>(unsigned char const
, int, unsigned char
, int, mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>) /builds/worker/workspace/build/src/gfx/2d/SwizzleSSE2.cpp:133:5
[task 2019-11-08T20:27:45.214Z] 20:27:45 INFO - GECKO(1183) | #2 0x7f8f2b3745e7 in mozilla::gfx::PremultiplyData(unsigned char const
, int, mozilla::gfx::SurfaceFormat, unsigned char
, int, mozilla::gfx::SurfaceFormat, mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&) /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/CheckedInt.h
[task 2019-11-08T20:27:45.215Z] 20:27:45 INFO - GECKO(1183) | #3 0x7f8f2bf0f05e in moz_gdk_pixbuf_to_channel(_GdkPixbuf*, nsIURI*, nsIChannel**) /builds/worker/workspace/build/src/image/decoders/icon/gtk/nsIconChannel.cpp:69:3
[task 2019-11-08T20:27:45.216Z] 20:27:45 INFO - GECKO(1183) | #4 0x7f8f2bf0e9ab in nsIconChannel::InitWithGIO(nsIMozIconURI*) /builds/worker/workspace/build/src/image/decoders/icon/gtk/nsIconChannel.cpp:266:8
[task 2019-11-08T20:27:45.216Z] 20:27:45 INFO - GECKO(1183) | #5 0x7f8f2bf0fe68 in nsIconChannel::Init(nsIURI*) /builds/worker/workspace/build/src/image/decoders/icon/gtk/nsIconChannel.cpp:282:12
[task 2019-11-08T20:27:45.217Z] 20:27:45 INFO - GECKO(1183) | #6 0x7f8f2bf117ea in nsIconProtocolHandler::NewChannel(nsIURI*, nsILoadInfo*, nsIChannel**) /builds/worker/workspace/build/src/image/decoders/icon/nsIconProtocolHandler.cpp:67:26

Flags: needinfo?(aosmond)

try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=e92903e944c8ab8855e30273e286b10641f2a284

I didn't fix the buffer size when I updated the icon channel output for Linux and Mac. Sigh.

Flags: needinfo?(aosmond)
Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5ffac45592a6
Part 1. Add gfxPlatform QCMS helpers for SurfaceFormat::OS_RGBA. r=tnikkel
https://hg.mozilla.org/integration/autoland/rev/f24e660c6831
Part 2. Switch image decoders to use SurfaceFormat::OS_RGBA. r=tnikkel
https://hg.mozilla.org/integration/autoland/rev/5e6b050c9427
Part 3. Make image decoder gtests use SurfaceFormat::OS_RGBA. r=tnikkel
Status: NEW → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72

== Change summary for alert #23946 (as of Thu, 14 Nov 2019 07:26:57 GMT) ==

Improvements:

2% raptor-tp6-yandex-firefox-cold linux64-shippable-qr opt 678.86 -> 665.00

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=23946

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