Closed Bug 729272 Opened 11 years ago Closed 10 years ago

WebGL initialization should abandon ANGLE if it cannot retrieve d3d share handles

Categories

(Core :: Graphics: CanvasWebGL, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: jgilbert, Assigned: jgilbert)

References

Details

Attachments

(1 file, 1 obsolete file)

We hit a huge regression in bug 726396 where suddenly we were not able to get d3d share handles from ANGLE's GLContext. Rendering this way is basically pathological and should not be used. Besides, ANGLE should always provide these, I believe.
Comment on attachment 599322 [details] [diff] [review]
Abandon ANGLE during WebGL init if we can't get d3d share handles

Review of attachment 599322 [details] [diff] [review]:
-----------------------------------------------------------------

I'm trying to see if bugzilla will let me r+ this twice.
Attachment #599322 - Flags: review?(bjacob)
Attachment #599322 - Flags: review+
Tragically, I typo'd 'IsANGLE()' as 'IsAngle()', so here's the fixed version.

Carrying forward r+.
Attachment #599322 - Attachment is obsolete: true
Attachment #599353 - Flags: review+
Comment on attachment 599353 [details] [diff] [review]
Abandon ANGLE during WebGL init if we can't get d3d share handles

Attempt to carry forward the double r+.
Attachment #599353 - Flags: review+
Status: NEW → ASSIGNED
Backed out, on suspicion of causing webgl conformance test failures:
 https://hg.mozilla.org/integration/mozilla-inbound/rev/1e3583bc4dc3
Target Milestone: mozilla13 → ---
Comment on attachment 599353 [details] [diff] [review]
Abandon ANGLE during WebGL init if we can't get d3d share handles

ANGLE doesn't appear to give out d3d share handles on WinXP (try) machines. This has never been a problem in the past, as d3d9 layers never used the share handles, but it does mean that this patch is not valid.

Ideally, we find out what's wrong with WinXP and ANGLE giving out share handles.
Attachment #599353 - Flags: review-
Attachment #599353 - Flags: review+
(In reply to Jeff Gilbert [:jgilbert] from comment #7)
> Comment on attachment 599353 [details] [diff] [review]
> Abandon ANGLE during WebGL init if we can't get d3d share handles
> 
> ANGLE doesn't appear to give out d3d share handles on WinXP (try) machines.
> This has never been a problem in the past, as d3d9 layers never used the
> share handles, but it does mean that this patch is not valid.
> 
> Ideally, we find out what's wrong with WinXP and ANGLE giving out share
> handles.

ANGLE can't ever give out share handles on WinXP -- D3D share handles are only supported on Vista and above.  On XP, our only option for "fast" WebGL is something like nvidia's direct D3D-GL sharing (or switching to the GL compositor, I guess).
As Vlad mentioned, D3D share handles are only available from D3D9Ex+, but not from XP's D3D9 non-Ex.

Once we have d3d-gl interop, we'll want to fall back to that if ANGLE share handles aren't present, but that's another bug.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.