Closed Bug 1045608 Opened 10 years ago Closed 10 years ago

CompositorD3D11::CreateRenderTarget called with an empty aRect

Categories

(Core :: Graphics: Layers, defect)

x86_64
Windows 8
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1043426

People

(Reporter: nical, Assigned: nical)

Details

Attachments

(1 file, 1 obsolete file)

Happens with this test case: http://codepen.io/caseyyee/pen/Lfbcv

aRect.width and aRect.height are 0, which causes the texture allocation to fail (obviously).
Here is the stack trace:

 	xul.dll!NS_DebugBreak(unsigned int aSeverity, const char * aStr, const char * aExpr, const char * aFile, int aLine) Line 464	C++
 	xul.dll!mozilla::layers::CompositorD3D11::CreateRenderTarget(const mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> & aRect, mozilla::layers::SurfaceInitMode aInit) Line 416	C++
 	xul.dll!mozilla::layers::CreateTemporaryTarget<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite * aContainer, mozilla::layers::LayerManagerComposite * aManager) Line 456	C++
>	xul.dll!mozilla::layers::ContainerPrepare<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite * aContainer, mozilla::layers::LayerManagerComposite * aManager, const nsIntRect & aClipRect) Line 362	C++
 	xul.dll!mozilla::layers::ContainerLayerComposite::Prepare(const nsIntRect & aClipRect) Line 614	C++
 	xul.dll!mozilla::layers::ContainerPrepare<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite * aContainer, mozilla::layers::LayerManagerComposite * aManager, const nsIntRect & aClipRect) Line 347	C++
 	xul.dll!mozilla::layers::ContainerLayerComposite::Prepare(const nsIntRect & aClipRect) Line 614	C++
 	xul.dll!mozilla::layers::ContainerPrepare<mozilla::layers::ContainerLayerComposite>(mozilla::layers::ContainerLayerComposite * aContainer, mozilla::layers::LayerManagerComposite * aManager, const nsIntRect & aClipRect) Line 347	C++
 	xul.dll!mozilla::layers::ContainerLayerComposite::Prepare(const nsIntRect & aClipRect) Line 614	C++
 	xul.dll!mozilla::layers::LayerManagerComposite::Render() Line 507	C++
 	xul.dll!mozilla::layers::LayerManagerComposite::EndTransaction(void (mozilla::layers::ThebesLayer *, gfxContext *, const nsIntRegion &, mozilla::layers::DrawRegionClip, const nsIntRegion &, void *) * aCallback, void * aCallbackData, mozilla::layers::LayerManager::EndTransactionFlags aFlags) Line 258	C++
 	xul.dll!mozilla::layers::LayerManagerComposite::EndEmptyTransaction(mozilla::layers::LayerManager::EndTransactionFlags aFlags) Line 208	C++
 	xul.dll!mozilla::layers::CompositorParent::CompositeToTarget(mozilla::gfx::DrawTarget * aTarget, const nsIntRect * aRect) Line 697	C++
 	xul.dll!mozilla::layers::CompositorParent::CompositeCallback() Line 632	C++
 	xul.dll!DispatchToMethod<mozilla::layers::CompositorParent,void (__thiscall mozilla::layers::CompositorParent::*)(void)>(mozilla::layers::CompositorParent * obj, void (void) * method, const Tuple0 & arg) Line 384	C++
 	xul.dll!RunnableMethod<mozilla::layers::CompositorParent,void (__thiscall mozilla::layers::CompositorParent::*)(void),Tuple0>::Run() Line 307	C++
 	xul.dll!MessageLoop::RunTask(Task * task) Line 358	C++
[...]


The container's mShadowVisibleRegion is empty.
Assignee: nobody → nical.bugzilla
Attachment #8466177 - Flags: review?(bas)
Note for the reviewer: The patch skips only the case where we are trying to render the container in an intermediate surface. Maybe it makes sense to also skip the case where the container's sub-tree render itself normally too, but I am not sure.
Tested and it fixes the marketplace and codepen testcases.
Attachment #8466177 - Attachment is obsolete: true
Attachment #8466177 - Flags: review?(bas)
Attachment #8466250 - Flags: review?(bas)
Comment on attachment 8466250 [details] [diff] [review]
V2 - don't crash if texture creation fails (for whatever reason)

Review of attachment 8466250 [details] [diff] [review]:
-----------------------------------------------------------------

this was fixed in bug 1043426
Attachment #8466250 - Flags: review?(bas)
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: