Fix dealing with A8 formats in TextureClientD3D11 and D2D 1.1

RESOLVED FIXED in mozilla35

Status

()

Core
Graphics
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: bas, Assigned: bas)

Tracking

unspecified
mozilla35
x86_64
Windows 8.1
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

3 years ago
Created attachment 8487993 [details] [diff] [review]
Disable using TextureClientD3D11 for A8 surfaces and fix various TextureClientD3D11 A8 bugs.

Currently we're trying to use A8 surfaces in TextureClientD3D11. With D2D 1.0 this works because of a bug but is wasteful (because of the way our masking code currently works), in D2D 1.1 this patch fixes it properly but makes some tests fail at the moment. This patch disables using TextureClientD3D11 for them altogether, falling back to software for mask layers. This performs better than the current approach where we first draw into a software DT, then copy into a TextureClientD3D11, doing the upload and then having to synchronize that texture to the compositor.

We should fix this properly and draw the mask directly into a D2D 1.1 surface, but I believe we should do that in a followup.
Attachment #8487993 - Flags: review?(jmuizelaar)
(Assignee)

Updated

3 years ago
Attachment #8487993 - Attachment description: fix-a8 → Disable using TextureClientD3D11 for A8 surfaces and fix various TextureClientD3D11 A8 bugs.
Attachment #8487993 - Flags: review?(jmuizelaar) → review+
https://hg.mozilla.org/mozilla-central/rev/d9619b1c61c8
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35

Updated

2 years ago
See Also: → bug 1252405
You need to log in before you can comment on or make changes to this bug.