Direct3D: Fix commandlist cleanup crash.

When checking for finished command lists and resetting them,
we call the finishedCallbacks. Some of those in turn can do a submit,
which will again call checkForFinishedCommandLists(). This could end up
trying to recycle the same command list twice as it iterates through
the deque. Clearing the entry from the deque and then recycling it
avoids this.

Change-Id: Iee01f1b80f99e1d6c00875b634c39789dc682d8e
Bug: skia:9935
Reviewed-by: Greg Daniel <>
Commit-Queue: Jim Van Verth <>
1 file changed