Closed Bug 1329777 Opened 7 years ago Closed 7 years ago

Canvas demotion GL->Software doesn't appear to be working

Categories

(Core :: Graphics: Canvas2D, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox53 --- fixed

People

(Reporter: gw280, Assigned: gw280)

Details

(Whiteboard: [gfx-noted])

Attachments

(1 file)

On my machine at least (OS X), we hit this early return: http://searchfox.org/mozilla-central/source/dom/canvas/CanvasRenderingContext2D.cpp#1347

mTarget == sErrorTarget in this case.

Investigating further.
Right, I've seen the same thing; I imagine with the persistent buffer provider it is now OK to have an empty target, but a valid mBufferProvider, and we should continue if that's the case?
Priority: -- → P3
Whiteboard: [gfx-noted]
Assignee: nobody → gwright
I think I agree with you Milan. Looking through these changes from bug 1167235 I think that the best solution here is to check for the buffer provider in SwitchRenderingMode only. I think IsTargetValid() still makes sense to only ensure that mTarget is functioning correctly, as we use it a lot after EnsureTarget().

I don't think we need to EnsureTarget() for SwitchRenderingMode either as we snapshot off the old BufferProvider instead of the old target, so this all should keep working.
Attachment #8825276 - Flags: review?(bas)
Attachment #8825276 - Flags: review?(bas) → review+
Pushed by gwright@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0d26e43c0d5d
Don't bail early from SwitchRenderingMode unless there's also no buffer provider r=Bas
https://hg.mozilla.org/mozilla-central/rev/0d26e43c0d5d
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: