The game doesn't specify D3D11_BIND_RENDER_TARGET for one of its resolve targets. Not sure if that's even legal in D3D11, but it's very annoying for us. If this is in fact supposed to work, we would either need to create a temporary image and do a copy to perform the resolve, or create every image with a renderable format with COLOR_ATTACHMENT_BIT.
Hmmm, sounds nasty, let me check if any other traces have same issue. Maybe it is unique to this game issue. And since the capture is 3 years old, maybe the game was fixed since then.
Also, does this even cause any problems with release builds of Mesa? At least on radv the game has always worked fine and debug builds of Mesa also crash Doom 2016 and Doom Eternal due to asserts even when the relevant game bugs are harmless and caught by vulkan validation anyways..
We do not trigger the assert on release builds, but rendering to an image that does not have COLOR_ATTACHMENT_BIT set is scary and can easily lead to artifacting, so we should fix it.
No other traces I have exhibit this issue. (Game renders fine on Turnip with assert commented out btw)
Nothing extracted yet.
In some games dxvk trips the following assert in Mesa:
In other words
VkImageViewUsageCreateInfo::usageis not a subset ofVkImageCreateInfo::usageflags.I did a long overdue test run of Turnip with game captures I have and this came up on a few of them.
Software information
System information
6d14fff)Apitrace file(s)
https://cloud.igalia.com/s/krzfAbWktfGGReE (apitrace of renderdoc capture of Disco Elysium)
Log files
Image usages under gdb:
Log of the run with validation layers enabled:
dxvk_with_valid_layers.log