提交 e74a0077 编写于 作者: J jp9000

libobs-d3d11: Allow rebuild even if output duplicator fails

Prevents an issue where the output duplicator would cause the program to
crash if the graphics driver crashes and the graphics subsystem needs to
be rebuilt.
上级 b9d04426
......@@ -171,6 +171,10 @@ EXPORT bool gs_duplicator_update_frame(gs_duplicator_t *d)
ComPtr<IDXGIResource> res;
HRESULT hr;
if (!d->duplicator) {
return false;
}
hr = d->duplicator->AcquireNextFrame(0, &info, res.Assign());
if (hr == DXGI_ERROR_ACCESS_LOST) {
return false;
......
......@@ -305,7 +305,11 @@ try {
((gs_pixel_shader*)obj)->Rebuild(dev);
break;
case gs_type::gs_duplicator:
try {
((gs_duplicator*)obj)->Start();
} catch (...) {
((gs_duplicator*)obj)->Release();
}
break;
case gs_type::gs_swap_chain:
((gs_swap_chain*)obj)->Rebuild(dev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册