Closed Bug 1305107 Opened 8 years ago Closed 2 years ago

H264 hw acceleration stopped working since FF49

Categories

(Core :: Audio/Video: Playback, defect, P3)

49 Branch
x86_64
Windows 10
defect

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
firefox49 + wontfix
firefox50 + wontfix
firefox51 + wontfix
firefox52 - fix-optional

People

(Reporter: zappe_1337, Unassigned)

References

Details

(Keywords: perf, regression, Whiteboard: [gfx-noted])

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0
Build ID: 20160922113459

Steps to reproduce:

Upgrade from 48 branch to 49 branch, if I go back to pre-49 it starts working again. Tried making new/reset profile with same result.


Actual results:

H264 video stopped being decoded on the AMD Radeon HD6950 GPU and started being decoded on the CPU.
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
Programfakta
------------

Namn: Firefox
Version: 49.0.1
Versions-ID: 20160922113459
Uppdateringskanal: release
Användaragent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0
OS: Windows_NT 10.0
Multiprocess fönster: 0/1 (Inaktiverad av tillägg)
Felsäkert läge: false

Kraschrapporter för de senaste 3 dagarna
----------------------------------------

Alla kraschrapporter

Tillägg
-------

Namn: Multi-process staged rollout
Version: 1.2
Aktiverad: true
ID: e10srollout@mozilla.org

Namn: Pocket
Version: 1.0.4
Aktiverad: true
ID: firefox@getpocket.com

Namn: Tab Groups
Version: 2.0.1
Aktiverad: true
ID: tabgroups@quicksaver

Namn: uBlock Origin
Version: 1.9.8
Aktiverad: true
ID: uBlock0@raymondhill.net

Namn: Web Compat
Version: 1.0
Aktiverad: true
ID: webcompat@mozilla.org

Grafik
------

Funktioner
Komposition: Direct3D 11
Asynkron panorera/zoom: ingen
WebGL-renderare: Google Inc. -- ANGLE (AMD Radeon HD 6900 Series Direct3D11 vs_5_0 ps_5_0)
H264 hårdvaruavkodning: No; Hardware video decoding disabled or blacklisted
Direct2D: true
DirectWrite: true (10.0.14393.0)
GPU #1
Aktiv: Ja
Beskrivning: AMD Radeon HD 6900 Series
Leverantörs-ID: 0x1002
Enhets-ID: 0x6719
Drivrutinsversion: 15.201.1151.1008
Drivrutinsdatum: 11-4-2015
Drivrutiner: aticfx64 aticfx64 aticfx64 amdxc64 aticfx32 aticfx32 aticfx32 amdxc32 atiumd64 atidxx64 atidxx64 atiumdag atidxx32 atidxx32 atiumdva atiumd6a atitmm64
Kortleverantörs-ID: 03be1043
RAM: 2048

Diagnostik
AzureCanvasAccelerated: 0
AzureCanvasBackend: direct2d 1.1
AzureContentBackend: direct2d 1.1
AzureFallbackCanvasBackend: cairo





Viktiga ändrade inställningar
-----------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.hashstats_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 3
browser.download.importedFromSqlite: true
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20160922113459
browser.startup.homepage_override.buildID: 20160922113459
browser.startup.homepage_override.mstone: 49.0.1
browser.tabs.remote.autostart.2: true
browser.urlbar.userMadeSearchSuggestionsChoice: true
dom.apps.lastUpdate.buildID: 20160922113459
dom.apps.lastUpdate.mstone: 49.0.1
dom.apps.reset-permissions: true
dom.ipc.plugins.flash.disable-protected-mode: true
dom.mozApps.used: true
extensions.lastAppVersion: 49.0.1
font.internaluseonly.changed: false
gfx.color_management.enablev4: true
gfx.crash-guard.d3d11layers.appVersion: 49.0.1
gfx.crash-guard.d3d11layers.deviceID: 0x6719
gfx.crash-guard.d3d11layers.driverVersion: 15.201.1151.1008
gfx.crash-guard.d3d11layers.feature-d2d: true
gfx.crash-guard.d3d11layers.feature-d3d11: true
gfx.crash-guard.glcontext.gfx.driver-init.direct3d11-angle: true
gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle: true
gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle-force-d3d11: false
gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle-force-warp: false
gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle-try-d3d11: true
gfx.crash-guard.status.: 2
gfx.crash-guard.status.d3d11layers: 2
gfx.crash-guard.status.d3d9video: 2
gfx.crash-guard.status.glcontext: 2
gfx.direct3d.last_used_feature_level_idx: 0
media.benchmark.vp9.fps: 200
media.benchmark.vp9.versioncheck: 1
media.gmp-eme-adobe.abi: x86_64-msvc-x64
media.gmp-eme-adobe.lastUpdate: 1469792233
media.gmp-eme-adobe.version: 17
media.gmp-gmpopenh264.abi: x86_64-msvc-x64
media.gmp-gmpopenh264.lastUpdate: 1471521347
media.gmp-gmpopenh264.version: 1.6
media.gmp-manager.buildID: 20160922113459
media.gmp-manager.lastCheck: 1474650036
media.gmp-widevinecdm.abi: x86_64-msvc-x64
media.gmp-widevinecdm.lastUpdate: 1474650039
media.gmp-widevinecdm.version: 1.4.8.903
media.gmp.storage.version.observed: 1
media.hardware-video-decoding.failed: false
media.peerconnection.ice.default_address_only: true
media.webrtc.debug.aec_log_dir: C:\Users\Zarper\AppData\Local\Temp
media.webrtc.debug.log_file: C:\Users\Zarper\AppData\Local\Temp\WebRTC.log
network.cookie.cookieBehavior: 1
network.cookie.lifetimePolicy: 3
network.cookie.prefsMigrated: true
network.cookie.thirdparty.sessionOnly: true
network.dns.disablePrefetch: true
network.http.speculative-parallel-limit: 0
network.predictor.cleaned-up: true
network.prefetch-next: false
places.database.lastMaintenance: 1474457711
places.history.expiration.transient_current_max_pages: 104858
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
plugin.state.flash: 0
print.printer_HP_DeskJet_815C.print_bgcolor: false
print.printer_HP_DeskJet_815C.print_bgimages: false
print.printer_HP_DeskJet_815C.print_duplex: -437918235
print.printer_HP_DeskJet_815C.print_edge_bottom: 0
print.printer_HP_DeskJet_815C.print_edge_left: 0
print.printer_HP_DeskJet_815C.print_edge_right: 0
print.printer_HP_DeskJet_815C.print_edge_top: 0
print.printer_HP_DeskJet_815C.print_evenpages: true
print.printer_HP_DeskJet_815C.print_footercenter:
print.printer_HP_DeskJet_815C.print_footerleft: &PT
print.printer_HP_DeskJet_815C.print_footerright: &D
print.printer_HP_DeskJet_815C.print_headercenter:
print.printer_HP_DeskJet_815C.print_headerleft: &T
print.printer_HP_DeskJet_815C.print_headerright: &U
print.printer_HP_DeskJet_815C.print_in_color: true
print.printer_HP_DeskJet_815C.print_margin_bottom: 0.5
print.printer_HP_DeskJet_815C.print_margin_left: 0.5
print.printer_HP_DeskJet_815C.print_margin_right: 0.5
print.printer_HP_DeskJet_815C.print_margin_top: 0.5
print.printer_HP_DeskJet_815C.print_oddpages: true
print.printer_HP_DeskJet_815C.print_orientation: 0
print.printer_HP_DeskJet_815C.print_page_delay: 50
print.printer_HP_DeskJet_815C.print_paper_data: 9
print.printer_HP_DeskJet_815C.print_paper_height: -1,00
print.printer_HP_DeskJet_815C.print_paper_name:
print.printer_HP_DeskJet_815C.print_paper_size_unit: 1
print.printer_HP_DeskJet_815C.print_paper_width: -1,00
print.printer_HP_DeskJet_815C.print_resolution: 600
print.printer_HP_DeskJet_815C.print_reversed: false
print.printer_HP_DeskJet_815C.print_scaling: 1,00
print.printer_HP_DeskJet_815C.print_shrink_to_fit: true
print.printer_HP_DeskJet_815C.print_to_file: false
print.printer_HP_DeskJet_815C.print_unwriteable_margin_bottom: 0
print.printer_HP_DeskJet_815C.print_unwriteable_margin_left: 0
print.printer_HP_DeskJet_815C.print_unwriteable_margin_right: 0
print.printer_HP_DeskJet_815C.print_unwriteable_margin_top: 0
privacy.donottrackheader.enabled: true
privacy.sanitize.migrateClearSavedPwdsOnExit: true
privacy.sanitize.migrateFx3Prefs: true
security.disable_button.openCertManager: false
security.pki.sha1_enforcement_level: 2
security.ssl3.dhe_rsa_aes_128_sha: false
security.ssl3.ecdhe_ecdsa_aes_128_sha: false
security.ssl3.ecdhe_ecdsa_rc4_128_sha: false
security.ssl3.ecdhe_rsa_aes_128_sha: false
security.ssl3.ecdhe_rsa_rc4_128_sha: false
security.ssl3.rsa_aes_128_sha: false
security.ssl3.rsa_des_ede3_sha: false
security.ssl3.rsa_rc4_128_md5: false
security.ssl3.rsa_rc4_128_sha: false
services.sync.declinedEngines:
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1473417871
ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found.

Viktiga låsta inställningar
---------------------------

Platser databas
---------------

JavaScript
----------

Incremental GC: true

Tillgänglighet
--------------

Aktiverad: false
Förhindra tillgänglighet: 0

Biblioteksversioner
-------------------

NSPR
Förväntad minimiversion: 4.12
Version som används: 4.12

NSS
Förväntad minimiversion: 3.25
Version som används: 3.25

NSSSMIME
Förväntad minimiversion: 3.25
Version som används: 3.25

NSSSSL
Förväntad minimiversion: 3.25
Version som används: 3.25

NSSUTIL
Förväntad minimiversion: 3.25
Version som används: 3.25

Experimentella funktioner
-------------------------
Component: Untriaged → Graphics
Product: Firefox → Core
Priority: -- → P3
Whiteboard: [gfx-noted]
Niclas, could you download the tool Mozregression to find a regression range.
See http://mozilla.github.io/mozregression/ for details.
Run the command mozregression --good=48, then copy the final pushlog from repo mozilla-inbound.
Flags: needinfo?(zappe_1337)
(In reply to Loic from comment #2)
> Niclas, could you download the tool Mozregression to find a regression range.
> See http://mozilla.github.io/mozregression/ for details.
> Run the command mozregression --good=48, then copy the final pushlog from
> repo mozilla-inbound.

I'm not entirely sure this is right. I used the the gui version and bisected between release 48 to 51 and got this UTL:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=1eb286442c403fa667ad8e7597008b56ba9a1cc4&tochange=11943e518a674a5044905470d6eb12796fe3223e

If that is not what you wanted I guess I'll try the cli version and do it as you said.
Yes, the 2nd log is correct.

It's due to:
Gerald Squelart — Bug 1267970 - Block hw decoding on ati up to 16.300.2311.0 - r=kentuckyfriedtakahe

As you're running drivers 15.201.1151.1008, HWA decoding is blocked for your GPU.
Blocks: 1267970
Component: Graphics → Audio/Video: Playback
Flags: needinfo?(zappe_1337)
Okay, is there a reason for it? It has worked in the past and it is the newest and last non-beta driver that will be release for my card on Windows. AMD is not supporting it any more.
Could you update your drivers to the latest version?
As I said, this is the latest version, AMD doesn't support pre-GCN cards on Windows any more so there won't be any newer. Decoding has worked fine for me in Win10 without any crashes.
Let's track this bug as recent regression, especially if this graphics device has no crash report with HWA decoding turned on.
Severity: normal → major
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: perf
Track for 51+/52+ as a regression for H264 HW acceleration stopped.
Gerald understands our blacklist better than I, so I'll let him answer this...
Flags: needinfo?(cpearce) → needinfo?(gsquelart)
Based on bug 1301615 comment 15, I don't think we'll do much about this until out-of-process decoding is working well (see bug 1288618).
Anthony, did I interpret you correctly?

Other options in the meantime would be to unblock just the last non-GCN drivers, or (harder) re-enable them only for non-GCN devices. But if OOP decoding is around the corner, we may just want to wait for that and then reopen everything.
Flags: needinfo?(gsquelart) → needinfo?(ajones)
Nobody likes crashes so we'll re-enable hardware decode when we've got the crash protection in place.
Flags: needinfo?(ajones)
Given that bug 1288618 seems unlikely to be uplifted (and given comment 14), I'm going to mark this wontfix for 50 and 51.
In the meantime, Niclas, if you switch to Dev Edition or Nightly, setting gfx.blocklist.all to -1 would circumvent the blocklisting, and you should get the acceleration back.  You would be without a safety net, so you may experience more crashes, but if you were OK before, you should be OK.
(In reply to Milan Sreckovic [:milan] from comment #16)
> In the meantime, Niclas, if you switch to Dev Edition or Nightly, setting
> gfx.blocklist.all to -1 would circumvent the blocklisting, and you should
> get the acceleration back.  You would be without a safety net, so you may
> experience more crashes, but if you were OK before, you should be OK.

I've already set media.hardware-video-decoding.force-enabled to true. And Firefox has been working perfectly since the day after I made this ticket. Lower CPU utilization with video and not a single crash.

I'm mostly worried for people with older AMD cards on laptops that aren't powerful enough to software decode HD content. I happen to know a few and most of them would have no idea how to fix it. Would be nice if the blocklist was a bit more precise, but I understand that it might be more work than it's worth.
From duplicate:
Description	AMD Radeon HD 6290 Graphics
Vendor ID	0x1002
Device ID	0x9807
Driver Version	15.201.1151.0
Driver Date	8-21-2015


HWA blocked too.
It is also blocked on my Other PC (luckily I have more powerful CPU and id not notice issue)

Features
Compositing	Direct3D 11
Asynchronous Pan/Zoom	none
WebGL Renderer	Google Inc. -- ANGLE (ATI Radeon HD 2600 XT Direct3D11 vs_4_0 ps_4_0)
Hardware H264 Decoding	No; D3D11 blacklisted with DLL atidxx32.dll (8.17.10.436); D3D9 blacklisted with DLL atiumd64.dll (7.14.10.911)
Direct2D	true
DirectWrite	true (10.0.14393.321)
GPU #1
Active	Yes
Description	ATI Radeon HD 2600 XT
Vendor ID	0x1002
Device ID	0x9588
Driver Version	8.970.100.9001
Driver Date	1-13-2015
Drivers	aticfx64 aticfx64 aticfx32 aticfx32 atiumd64 atidxx64 atiumdag atidxx32 atiumdva atiumd6a atitmm64
Subsys ID	07701092
RAM	512
Diagnostics
ClearType Parameters	Gamma: 2200 Pixel Structure: R ClearType Level: 50 Enhanced Contrast: 300
AzureCanvasAccelerated	0
AzureCanvasBackend	direct2d 1.1
AzureContentBackend	direct2d 1.1
AzureFallbackCanvasBackend	cairo
ClearType Parameters	Gamma: 2200 Pixel Structure: R ClearType Level: 50 Enhanced Contrast: 300
failures	[GFX1-]: [D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
Decision Log
D3D9_COMPOSITING	
disabled by user: Disabled via layers.allow-d3d9-fallback
Failure Log
(#0) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#6) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#7) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#8) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#9) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#10) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#11) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#12) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#13) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#14) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#15) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#16) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#17) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#18) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#19) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
(#20) Error	[D2D1.1] 4CreateBitmap failure Size(20,24000) Code: 0x80070057 format 0
Strangely enough Opera reports it is accelerated


Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
WebGL: Hardware accelerated

Browser version	OPR/40.0.2308.90
I don't think this needs tracking for 52.  We've shipped several releases with that old hw blocked.
Attached file 15.6+16.8 catalyst infs (deleted) —
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #14)
> Nobody likes crashes so we'll re-enable hardware decode when we've got the
> crash protection in place.

As of bug 1267970, comment 81 the risk just doesn't seem to be there. 
Said this, is it so hard from your side to check for WDDM 2?
Indirect clues for affected hardware could be D3D12 or GLSL 4.5 support. 

...
Otherwise the only method to detect GCN cards I see can only pass via DID. 
http://web.archive.org/web/20160427033906/http://pcidatabase.com/vendor_details.php?id=240
https://pci-ids.ucw.cz/read/PC/1002
Aside of the usual websites, I also made a list from devices mentioned in 15.6 (latest driver with still all legacy gpus) and 16.8.1 (first driver reported fixed)

Hi Gerald,
Apologies if you are not the right person to NI? on this, but do you happen to know if this issue is worth keeping open after 5 years or it can be closed now?

Flags: needinfo?(gsquelart)

Bryce, please?

Flags: needinfo?(gsquelart) → needinfo?(bvandyk)
Status: NEW → RESOLVED
Closed: 2 years ago
Flags: needinfo?(bvandyk)
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: