mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 20:35:50 +00:00
Bug 1142516 - Improve assertions and logging on the compositor side. r=Bas
This commit is contained in:
parent
0b1f75bea0
commit
e81603747c
@ -1458,18 +1458,24 @@ CompositorD3D11::HandleError(HRESULT hr, Severity aSeverity)
|
||||
if (SUCCEEDED(hr)) {
|
||||
return;
|
||||
}
|
||||
// XXX - It would be nice to use gfxCriticalError, but it needs to
|
||||
// be made to work off the main thread first.
|
||||
//MOZ_ASSERT(aSeverity != DebugAssert);
|
||||
|
||||
if (aSeverity == Critical) {
|
||||
MOZ_CRASH("Unrecoverable D3D11 error");
|
||||
}
|
||||
|
||||
if (mDevice && hr == DXGI_ERROR_DEVICE_REMOVED) {
|
||||
bool deviceRemoved = hr == DXGI_ERROR_DEVICE_REMOVED;
|
||||
|
||||
if (deviceRemoved && mDevice) {
|
||||
hr = mDevice->GetDeviceRemovedReason();
|
||||
}
|
||||
|
||||
// Device reset may not be an error on our side, but can mess things up so
|
||||
// it's useful to see it in the reports.
|
||||
gfxCriticalError(CriticalLog::DefaultOptions(!deviceRemoved))
|
||||
<< (deviceRemoved ? "[CompositorD3D11] device removed with error code: "
|
||||
: "[CompositorD3D11] error code: ")
|
||||
<< hexa(hr);
|
||||
|
||||
// Always crash if we are making invalid calls
|
||||
if (hr == DXGI_ERROR_INVALID_CALL) {
|
||||
MOZ_CRASH("Invalid D3D11 api call");
|
||||
|
@ -240,7 +240,7 @@ DeviceManagerD3D9::Init()
|
||||
mD3D9 = dont_AddRef(d3d9Create(D3D_SDK_VERSION));
|
||||
|
||||
if (!mD3D9) {
|
||||
gfxCriticalError() << "[D3D9] Failed to create the device";
|
||||
gfxCriticalError() << "[D3D9] Failed to create the IDirect3D9 object";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -249,7 +249,7 @@ DeviceManagerD3D9::Init()
|
||||
hr = mD3D9->GetAdapterIdentifier(D3DADAPTER_DEFAULT, 0, &ident);
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << "[D3D9] Failed to create the environment";
|
||||
gfxCriticalError() << "[D3D9] Failed to create the environment code: " << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -331,13 +331,13 @@ DeviceManagerD3D9::Init()
|
||||
mNv3DVUtils->SetDeviceInfo(devUnknown);
|
||||
}
|
||||
|
||||
auto failCreateShaderMsg = "[D3D9] failed to create a critical resource (shader)";
|
||||
auto failCreateShaderMsg = "[D3D9] failed to create a critical resource (shader) code: ";
|
||||
|
||||
hr = mDevice->CreateVertexShader((DWORD*)LayerQuadVS,
|
||||
getter_AddRefs(mLayerVS));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -345,7 +345,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mRGBPS));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -353,7 +353,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mRGBAPS));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -361,7 +361,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mComponentPass1PS));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -369,7 +369,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mComponentPass2PS));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -377,7 +377,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mYCbCrPS));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -393,14 +393,14 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mLayerVSMask));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
hr = mDevice->CreateVertexShader((DWORD*)LayerQuadVSMask3D,
|
||||
getter_AddRefs(mLayerVSMask3D));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -408,7 +408,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mRGBPSMask));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -416,7 +416,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mRGBAPSMask));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -424,7 +424,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mRGBAPSMask3D));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -432,7 +432,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mComponentPass1PSMask));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -448,7 +448,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mYCbCrPSMask));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -456,7 +456,7 @@ DeviceManagerD3D9::Init()
|
||||
getter_AddRefs(mSolidColorPSMask));
|
||||
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << failCreateShaderMsg;
|
||||
gfxCriticalError() << failCreateShaderMsg << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -467,7 +467,7 @@ DeviceManagerD3D9::Init()
|
||||
|
||||
hr = mDevice->SetStreamSource(0, mVB, 0, sizeof(vertex));
|
||||
if (FAILED(hr)) {
|
||||
gfxCriticalError() << "[D3D9] Failed to set the stream source";
|
||||
gfxCriticalError() << "[D3D9] Failed to set the stream source code: " << gfx::hexa(hr);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user