-
Notifications
You must be signed in to change notification settings - Fork 993
Description
Software information
Microsoft Flight Simulator (1250410)
System information
- GPU/Driver: Steam Deck OLED
- Wine/DXVK version: Proton Experimental 9.0
Apitrace file(s)
link (may expire, I can refresh)
Log files
When first starting up Microsoft Flight Simulator on the Steam Deck OLED, there is a garbled screen displayed prior to the first frame of the first video (which is the XBOX logo).
I have isolated this to a shared texture that is created with MiscFlags = D3D11_RESOURCE_MISC_SHARED
. Below is an extract from the linked apitrace:
16576 ID3D11Device5::CreateTexture2D(this = 0x53ed498, pDesc = &{Width = 3840, Height = 2160, MipLevels = 1, ArraySize = 1, Format = DXGI_FORMAT_B8G8R8A8_UNORM, SampleDesc = {Count = 1, Quality = 0}, Usage = D3D11_USAGE_DEFAULT, BindFlags = D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET, CPUAccessFlags = 0x0, MiscFlags = D3D11_RESOURCE_MISC_SHARED}, pInitialData = NULL, ppTexture2D = &0x5394ac0) = S_OK
16577 ID3D11Texture2D1::QueryInterface(this = 0x5394ac0, riid = IID_IDXGIResource, ppvObj = &0x5394be0) = S_OK
16578 IDXGIResource1::GetSharedHandle(this = 0x5394be0, pSharedHandle = &0x40000002) = S_OK
The texture does not appear to be initialized and the garbled screen is the result of displaying the memory's previous content. I'm able to resolve this with the attached patch (which writes all zeros to a shared texture on creation):
msfs_hacky_fix.txt
Note that this only appears to happen with AMD GPUs. I have not dug into why that is (but presumably NVIDIA clears the texture first).