Bug Report WOW(D3D12) will be stuck after changing its resolution.

wangshaohui

New Member
Hi, here is detail information of bug.
If more information should be provided, please tell me. Thanks.

-----------------------------------------------------
OS : WIN10 64bit
Version: OBS-21.1.0 (64bit)
Repetition frequency :100%

Step>
1.Run WOW which is rendered by D3D12;
2.Run OBS and add game capture of WOW;
3.Modify resolution of WOW;

Expect>
Resolution of WOW will be changed and game capture can also work fine;

Actual>
UI of WOW will be stuck and won't return to normal forever.

Log upload: https://hastebin.com/rowemegufu
 
Last edited:

wangshaohui

New Member
Reason:
In this game, if resolution is changed, IDXGISwapChain::ResizeBuffers(...) won't be invoked.
So, some variables (such as ID3D11On12Device, ID3D11DeviceContext, ID3D11SharedHandle) cann't be released and reinitialized in real time.

I try to hook IDXGISwapChain3::ResizeBuffers1. However, even I success to hook this function, callback is not invoked, too.

In the callback of IDXGISwapChain::Present, I found pointer of IDXGISwapChain has changed. At last, I hook IDXGISwapChain::Release().
When the old IDXGISwapChain is being released, I clear variables and initialize them when new IDXGISwapChain is created.

This method works well, please confirm it!
 
Last edited:
Top