CreateSimilarSurface allocates a DDB win32 surface

NEW
Unassigned

Status

()

Core
Graphics
5 years ago
5 years ago

People

(Reporter: BenWa, Unassigned)

Tracking

(Blocks: 1 bug)

Trunk
x86
Mac OS X
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [Australis:P-])

(Reporter)

Description

5 years ago
See:
http://mxr.mozilla.org/mozilla-central/source/gfx/thebes/gfxWindowsSurface.cpp#112

When we're drawing to a thebes layer we draw to an offscreen surface to retain the layer content. Except that we create a surface similar to the widget which is a DDB. DDB surface require readback for operations that have gotten more common in the past few years so we want to avoid them more aggressively.

For win basic we should be able to avoid these by fixing CreateSimilarSurface. For win d3d9 vista+ we can fix this by allocation our DIB in CreateTexture. For d3d9 xp we can fix this by either having cairo Lock for non text operation or not drawing into our texture and doing a copy into our texture.
(Reporter)

Updated

5 years ago
Summary: CreateSimilarSurface allocates a DIB win32 surface → CreateSimilarSurface allocates a DDB win32 surface
Whiteboard: [Australis:P?][Australis:M?]
Benwa, can you take this? If not, can you reassign it to someone else on your team who may be able to help us out here?

Marking as P1 since this will be instrumental to fixing a major TART regression (bug 907546).
Assignee: nobody → bgirard
Status: NEW → ASSIGNED
Whiteboard: [Australis:P?][Australis:M?] → [Australis:P1][Australis:M?]
It won't happen fast if BenWa has to look at it, because of B2G.
Assignee: bgirard → nobody
Bas, can you look at this?
Assignee: nobody → bas
I know Bas as well :), but there is a reason I didn't assign this to him.  Unless the priorities change at the higher level, he shouldn't look at it either at this point.  I don't want to leave it assigned to Bas, because that may set an unrealistic expectation that something will happen short term.
Assignee: bas → nobody
Status: ASSIGNED → NEW
Hm. So is there anybody available to work on this bug?
It's unclear how fixing this bug will help our benchmark performance and this is not a regression introduced by Australis, so we'll be untracking this bug from Australis.
Whiteboard: [Australis:P1][Australis:M?]
Whiteboard: [Australis:P-]
You need to log in before you can comment on or make changes to this bug.