Closed Bug 638804 Opened 14 years ago Closed 14 years ago

Ensure that flush and markdirty are called for cairo surfaces

Categories

(Core :: Graphics, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: stechz, Unassigned)

References

Details

Attachments

(1 file)

Corruptions can occur for surfaces if we don't tell cairo when a surface is being changed outside of cairo or if we don't have cairo flush any pending operations before a surface is changed outside of cairo.
Comment on attachment 516903 [details] [diff] [review] Ensure that flush and makedirty are called for cairo surfaces This catches: * code in gfxUtils that touches surfaces * code in IPC layers that flushes surfaces before forwarding a transaction * code in gfxImageSurface that touches surfaces * Android code that flushes cairo surfaces before giving Android the surface back There still may be more. I'm looking at you, layout and canvas.
Attachment #516903 - Flags: review?(mwu)
Attachment #516903 - Flags: review?(matt.woodrow+bugzilla)
Adding as blocker for bug 638594 because it may help fix ref tests.
Blocks: 638594
Attachment #516903 - Flags: review?(mwu) → review+
Attachment #516903 - Flags: review?(matt.woodrow+bugzilla) → review?(jmuizelaar)
Comment on attachment 516903 [details] [diff] [review] Ensure that flush and makedirty are called for cairo surfaces Overall, no objections. It seems like we will be doing some extra flushing/dirtying with no benefit here, but it does make us follow the api more closely. > > NS_ABORT_IF_FALSE(IsSurfaceDescriptorValid(mBackBuffer), > "should have a back buffer by now"); >+ mBuffer.GetBuffer()->Flush(); > BasicManager()->PaintedThebesBuffer(BasicManager()->Hold(this), > updatedRegion, > mBuffer.BufferRect(), > mBuffer.BufferRotation(), > mBackBuffer); It's not obvious to me what these Flushes are for.
> It's not obvious to me what these Flushes are for. This is right before surfaces are getting shared to the other process. I'm not sure, but I figured that whatever cairo is coalescing would not come with the data that's being shared.
Comment on attachment 516903 [details] [diff] [review] Ensure that flush and makedirty are called for cairo surfaces Do we still want this?
Attachment #516903 - Flags: review?(jmuizelaar)
I'd say no.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: