Closed Bug 1155986 Opened 10 years ago Closed 10 years ago

[Chromium issue 447140] WebGL hardware instancing problem on 37.0.1 (works on previous versions)

Categories

(Core :: Graphics: CanvasWebGL, defect)

37 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: vousk, Unassigned)

References

()

Details

(Keywords: regression, testcase, Whiteboard: [parity-ie][parity-chrome][parity-opera][gfx-noted])

Attachments

(4 files)

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0 Build ID: 20150402191859 Steps to reproduce: 1. Create a WebGL scene with a mesh that contains submeshes and submaterials, and create instances of this mesh (test scene url : http://www.babylonjs-playground.com/#1MYQJJ#59 ) 2. Display scene on latest Firefox 37.0.1 version Bug appears for the first time in the 37.0.1 version, it's works as expected in 36.0.4 and previous versions. More info : When a mesh has submeshes and submaterials, everything is ok. When instancing a simple mesh (with no submeshes), everything is ok. But when instancing a mesh with submeshes and submaterials, submeshes other than the first one don't appear anymore. Strangely, Google Chrome had the exact same bug a few month ago (fixed now): https://code.google.com/p/chromium/issues/detail?id=457269 Actual results: Mesh's submeshes and instances submeshes other than the first submesh don't appear anymore. (In test scene provided, the 3 spheres show only the first subset of submeshes.) Expected results: Original mesh and all instances should display correctly, with all submaterials. (In test scene provided, 3 spheres with 2 colors should be rendered.)
I tested in FF38+ and it's already fixed. Could you download and test FF38 (beta) to confirm it's fixed on your side, please. https://www.mozilla.org/en-US/firefox/beta/all/
Flags: needinfo?(vousk)
I've just installed 38 beta but the bug is still there.
Flags: needinfo?(vousk)
Attached image FF38-screenshot.jpg
WFM with FF38
Doesn't work for me with FF38.0b5 (tested on 32bits and 64bits versions)
could you tyoe about:support in the location bar and copy the section "graphics", please.
Here it is : Date du pilote: 11-20-2014 Description de la carte: AMD Radeon HD 5800 Series Direct2D activé: true DirectWrite activé: true (6.2.9200.16571) Fenêtres avec accélération graphique: 3/3 Direct3D 11 (OMTC) GPU 2 actif: false ID du périphérique: 0x6899 ID du sous-système: 0b001002 ID du vendeur: 0x1002 Pilotes de la carte: aticfx64 aticfx64 aticfx64 aticfx32 aticfx32 aticfx32 atiumd64 atidxx64 atidxx64 atiumdag atidxx32 atidxx32 atiumdva atiumd6a atitmm64 RAM de la carte: 1024 Rendu WebGL: Google Inc. -- ANGLE (AMD Radeon HD 5800 Series Direct3D11 vs_5_0 ps_5_0) Version du pilote: 14.501.1003.0 windowLayerManagerRemote: true AzureCanvasBackend: direct2d 1.1 AzureContentBackend: direct2d 1.1 AzureFallbackCanvasBackend: cairo AzureSkiaAccelerated: 0
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 Build ID: 20150416143048 Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0 Build ID: 20150418030216 I can reproduce this. Disabling hardware acceleration makes no difference. Adapter Description: NVIDIA GeForce 210 Adapter Drivers: nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um Adapter RAM: 128 Asynchronous Pan/Zoom: none Device ID: 0x0a65 Direct2D Enabled: true DirectWrite Enabled: true (6.2.9200.16571) Driver Date: 7-2-2014 Driver Version: 9.18.13.4052 GPU #2 Active: false GPU Accelerated Windows: 2/2 Direct3D 11 (OMTC) Subsys ID: 34ee1458 Vendor ID: 0x10de WebGL Renderer: Google Inc. -- ANGLE (NVIDIA GeForce 210 Direct3D11 vs_4_1 ps_4_1) windowLayerManagerRemote: true AzureCanvasBackend: direct2d 1.1 AzureContentBackend: direct2d 1.1 AzureFallbackCanvasBackend: cairo AzureSkiaAccelerated: 0 (In reply to Vousk-prod. from comment #0) > Strangely, Google Chrome had the exact same bug a few month ago (fixed now): Both browsers use Google's ANGLE. https://en.wikipedia.org/wiki/ANGLE_%28software%29
Status: UNCONFIRMED → NEW
Component: Untriaged → Canvas: WebGL
Ever confirmed: true
Keywords: regression, testcase
Product: Firefox → Core
Summary: WebGL hardware instancing problem on 37.0.1 (works on previous versions) → [Chromium issue 447140] WebGL hardware instancing problem on 37.0.1 (works on previous versions)
Whiteboard: [parity-chrome][parity-opera]
Attached file index.html
May I ask if this bug is planned to be fixed ? We need to plan accordingly to be able to release softwares. Thanks!
Push log http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=33c0181c4a25&tochange=29fbfc1b31aa Last good: 2014-10-20 Built from https://hg.mozilla.org/mozilla-central/rev/33c0181c4a25 First bad: 2014-10-21 Built from https://hg.mozilla.org/mozilla-central/rev/29fbfc1b31aa The web page pops up the following error message: Compilation error SIMD.float32x4.reciprocalSqrtApproximation is not a function
Whiteboard: [parity-chrome][parity-opera] → [parity-ie][parity-chrome][parity-opera]
I don't understand why I'm not able to reproduce the issue with FF38 on Win 7.
(In reply to Loic from comment #11) > I don't understand why I'm not able to reproduce the issue with FF38 on Win > 7. Maybe we'll spot a difference if you post your about:support Graphics section.
Loic, I don't know why you can't reproduce the bug with FF38 on your computer, but most of our customers report us this bug since FF37 update, so I'm sure it's not specificaly related to my computer.
(In reply to Gingerbread Man from comment #10) > The web page pops up the following error message: > Compilation error > SIMD.float32x4.reciprocalSqrtApproximation is not a function The test scene URL I provided ( http://www.babylonjs-playground.com/#1MYQJJ#59 ) is using a constantly updated framework (BabylonJS). I know they're currently implementing SIMD, but the WebGL instancing bug appeared first time far before the first steps of SIMD integration into BabylonJS (I think SIMD activates itself in the framework with FF40 nightly only)
(In reply to Gingerbread Man from comment #12) > (In reply to Loic from comment #11) > > I don't understand why I'm not able to reproduce the issue with FF38 on Win > > 7. > > Maybe we'll spot a difference if you post your about:support Graphics > section. Adapter Description Intel(R) HD Graphics 3000 Adapter Description (GPU #2) NVIDIA GeForce GT 550M Adapter Drivers igdumd64 igd10umd64 igd10umd64 igdumd32 igd10umd32 igd10umd32 Adapter Drivers (GPU #2) nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um Adapter RAM Unknown Adapter RAM (GPU #2) 2048 Asynchronous Pan/Zoom none ClearType Parameters Gamma: 2200 Pixel Structure: R ClearType Level: 100 Enhanced Contrast: 50 Device ID 0x0116 Device ID (GPU #2) 0x0df6 Direct2D Enabled true DirectWrite Enabled true (6.2.9200.17292) Driver Date 1-30-2015 Driver Date (GPU #2) 9-13-2014 Driver Version 9.17.10.4101 Driver Version (GPU #2) 9.18.13.4411 GPU #2 Active false GPU Accelerated Windows 1/1 Direct3D 11 (OMTC) Subsys ID 17121043 Subsys ID (GPU #2) 17121043 Supports Hardware H264 Decoding true Vendor ID 0x8086 Vendor ID (GPU #2) 0x10de WebGL Renderer Google Inc. -- ANGLE (Intel(R) HD Graphics 3000 Direct3D9Ex vs_3_0 ps_3_0) windowLayerManagerRemote true AzureCanvasBackend direct2d 1.1 AzureContentBackend direct2d 1.1 AzureFallbackCanvasBackend cairo AzureSkiaAccelerated 0
(In reply to Vousk-prod. from comment #6) > Rendu WebGL: Google Inc. -- ANGLE (AMD Radeon HD 5800 Series Direct3D11 > vs_5_0 ps_5_0) (In reply to Gingerbread Man from comment #7) > WebGL Renderer: Google Inc. -- ANGLE (NVIDIA GeForce 210 Direct3D11 vs_4_1 > ps_4_1) (In reply to Loic from comment #15) > WebGL Renderer Google Inc. -- ANGLE (Intel(R) HD Graphics 3000 Direct3D9Ex > vs_3_0 ps_3_0) Maybe Direct3D9Ex versus Direct3D11 is the relevant difference. (In reply to Vousk-prod. from comment #14) > The test scene URL I provided ( > http://www.babylonjs-playground.com/#1MYQJJ#59 ) is using a constantly > updated framework (BabylonJS). I know they're currently implementing SIMD, > but the WebGL instancing bug appeared first time far before the first steps > of SIMD integration into BabylonJS (I think SIMD activates itself in the > framework with FF40 nightly only) Like I said, the build dated 2014-10-20 was the last to work — that's Firefox 36.0a1. After that, the only thing that changes is which particular way the testcase fails to render: 1. 2014-10-20 | https://hg.mozilla.org/mozilla-central/rev/33c0181c4a25 No problem. The three spheres render fully. 2. 2014-10-21 | https://hg.mozilla.org/mozilla-central/rev/29fbfc1b31aa Nothing renders. Website says, “Compilation error | SIMD.float32x4.reciprocalSqrtApproximation is not a function” 3. 2015-03-17 | https://hg.mozilla.org/mozilla-central/rev/008b3f65a7e0 Only the top part of the spheres renders, as shown in attachment 8594345 [details]. There's no website error message. 4. 2015-05-19 | https://hg.mozilla.org/mozilla-central/rev/4fb7ff694bf5 N.B.: This is the current build; I haven't tested prior ones between the above-mentioned and this one. Nothing renders. Website says, “Compilation error | SIMD.float32x4.loadXYZ is not a function” It would be helpful if we knew which bug report caused this regression, but nothing in the push log strikes me as relevant.
(In reply to Gingerbread Man from comment #16) > (In reply to Vousk-prod. from comment #6) > > Rendu WebGL: Google Inc. -- ANGLE (AMD Radeon HD 5800 Series Direct3D11 > > vs_5_0 ps_5_0) > (In reply to Gingerbread Man from comment #7) > > WebGL Renderer: Google Inc. -- ANGLE (NVIDIA GeForce 210 Direct3D11 vs_4_1 > > ps_4_1) > (In reply to Loic from comment #15) > > WebGL Renderer Google Inc. -- ANGLE (Intel(R) HD Graphics 3000 Direct3D9Ex > > vs_3_0 ps_3_0) > > Maybe Direct3D9Ex versus Direct3D11 is the relevant difference. > In fact we already knew that it's a D3D11 related problem, in the chrome isue I reported we can read: ____ quote "ANGLE team: theoretically should reproduce on a desktop AMD GPU?" Yes, AMD GPU. Radeon HD 5800 Issue also reproducible on GPU Iris Pro Graphics 5200 @vousk: if you launch chrome.exe from the Command Prompt and add the argument "--disable-d3d11", does the instancing problem disappear? ____ --disable-d3d11 : the problem disappear !! ____ Sounds like a regression in ANGLE's instancing implementation in its D3D11 backend. ____
Flags: needinfo?(mchang)
Flags: needinfo?(jgilbert)
Whiteboard: [parity-ie][parity-chrome][parity-opera] → [parity-ie][parity-chrome][parity-opera][gfx-noted]
Noting that this might be a useful test case for bug 1167477.
Flags: needinfo?(mchang)
Any news about this bug ? Wouldn't it be possible to check the way the issue was solved in Chromium to fight that same ANGLE regression ?
Working in Nightly46.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(jgilbert)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: