D3D9 layers needs to use IDirect3DDevice9Ex where available

RESOLVED FIXED

Status

()

defect
RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: bas.schouten, Assigned: bas.schouten)

Tracking

unspecified
x86
Windows 7
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(blocking2.0 beta5+)

Details

Attachments

(1 attachment)

Where available(Vista+) we need to make D3D9 layers use IDirect3DDevice9Ex. This will allow surface sharing which will have advantages for both WebGL and will make it possible for Direct2D to draw directly to its textures.
This does the job. It depends on the patch on bug 585248 and integrates with the new DeviceManager introduced in that patch.

As a side-effect it enables using Dynamic textures where available for CanvasSurfaces, these should be better suited for the frequent update semantics these have.
Attachment #463940 - Flags: review?(vladimir)
This is needed to allows D3D9 layer managers for D2D enabled machines. This in turn is needed for fast webgl, hardware accelerated YUV->RGB conversion and some other things.
blocking2.0: --- → ?
blocking2.0: ? → beta5+
Comment on attachment 463940 [details] [diff] [review]
Use D3D9Ex where available

This looks fine, though one comment -- null check mD3D9 before calling CreateDevice on it, just in case d3d9create fails.  Also, "d3d9create" and "d3d9CreateEx" have different capitalization, may want to capitalize the C to make it consistent.
Attachment #463940 - Flags: review?(vladimir) → review+
Pushed http://hg.mozilla.org/mozilla-central/rev/20ab6d450abc.
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Depends on: 590695
You need to log in before you can comment on or make changes to this bug.