Closed
Bug 967505
Opened 11 years ago
Closed 11 years ago
TextureClientD3D11 sometimes crash in its destructor
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla30
People
(Reporter: nical, Assigned: nical)
Details
Attachments
(1 file, 1 obsolete file)
|
1.17 KB,
patch
|
bas.schouten
:
review+
|
Details | Diff | Splinter Review |
Destroying the texture's DrawTarget sometimes trigger some code inside D2D that tries to access the underlying D3D texture which is inaccessible (and crashes). We need to make sure that the surface is accessible when that happens.
| Assignee | ||
Comment 1•11 years ago
|
||
Attachment #8370053 -
Flags: review?(bas)
Comment 2•11 years ago
|
||
Comment on attachment 8370053 [details] [diff] [review]
Ensure that the texture is accessible when the draw target gets destroy
Review of attachment 8370053 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/layers/d3d11/TextureD3D11.cpp
@@ +154,5 @@
> + if (mDrawTarget) {
> + MOZ_ASSERT(!mIsLocked);
> + MOZ_ASSERT(mTexture);
> + MOZ_ASSERT(mDrawTarget->refcount() == 1);
> + // DrawTarget's dtor may trigger code paths that want to access the texture
Hrm, it shouldn't as long as we just flush is every time we unlock..?
| Assignee | ||
Comment 3•11 years ago
|
||
We already do flush on unlock.
The code that crashes in ~DrawTargetD2D is mRT->EndDraw() which is called regardless of flush, but doesn't always crash (I have hit the crash very rarely).
http://dxr.mozilla.org/mozilla-central/source/gfx/2d/DrawTargetD2D.cpp#185
Comment 4•11 years ago
|
||
(In reply to Nicolas Silva [:nical] from comment #3)
> We already do flush on unlock.
> The code that crashes in ~DrawTargetD2D is mRT->EndDraw() which is called
> regardless of flush, but doesn't always crash (I have hit the crash very
> rarely).
> http://dxr.mozilla.org/mozilla-central/source/gfx/2d/DrawTargetD2D.cpp#185
We need to figure out how drawing commands ended up in the buffer. I worry the cost of this change is too high.
| Assignee | ||
Comment 5•11 years ago
|
||
Attachment #8370053 -
Attachment is obsolete: true
Attachment #8370053 -
Flags: review?(bas)
Attachment #8372354 -
Flags: review?(bas)
Updated•11 years ago
|
Attachment #8372354 -
Flags: review?(bas) → review+
| Assignee | ||
Comment 6•11 years ago
|
||
| Assignee | ||
Comment 7•11 years ago
|
||
fix build bustage on inbound https://hg.mozilla.org/integration/mozilla-inbound/rev/5741926de900
Comment 8•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/542f9093ec36
https://hg.mozilla.org/mozilla-central/rev/5741926de900
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in
before you can comment on or make changes to this bug.
Description
•