doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.73k stars 817 forks source link

Path of Exile - vkCreateImage and vkCreateImageView errors #147

Closed jmis closed 6 years ago

jmis commented 6 years ago

IMAGE(ERROR): object: 0x0 type: 0 location: 666 msgCode: 165676976: vkCreateImage: usage bit VK_IMAGE_USAGE_STORAGE_BIT is not supported for format VK_FORMAT_R8G8B8A8_SRGB with tiling VK_IMAGE_TILING_OPTIMAL. The spec valid usage text states 'If tiling is VK_IMAGE_TILING_OPTIMAL, and VkFormatProperties::optimalTilingFeatures (as returned by vkGetPhysicalDeviceFormatProperties with the same value of format) does not include VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT, usage must not contain VK_IMAGE_USAGE_STORAGE_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageCreateInfo-tiling-00984)

IMAGE(ERROR): object: 0x0 type: 0 location: 3533 msgCode: 180357100: vkCreateImageView() pCreateInfo->format VK_FORMAT_R8G8B8A8_SRGB cannot be used with an image having the VK_IMAGE_TILING_OPTIMAL and VK_IMAGE_USAGE_STORAGE_BIT flags set. The spec valid usage text states 'If image was created with VK_IMAGE_TILING_OPTIMAL and usage contains VK_IMAGE_USAGE_STORAGE_BIT, format must be supported for storage images, as specified by the VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT flag in VkFormatProperties::optimalTilingFeatures returned by vkGetPhysicalDeviceFormatProperties with the same value of format' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkImageViewCreateInfo-image-01014)

Software information

System information

Log files

doitsujin commented 6 years ago

Closing this because apparently the game runs fine now.

dumpsters commented 6 years ago

6550e8d broke the game on my end (screenshot), reverted to 894444d and it works fine. Anyone else? 2 1 it's supposed to look like this https://i.imgur.com/Pmq1q6h.jpg

DXVK_DEBUG_LAYERS=1 DXVK_LOG_LEVEL=trace DXVK_HUD=1 WINEARCH=win64 WINEPREFIX=~/.wine_vms/PoE wine 'C:\Games\Path of Exile\PathOfExile_x64.exe' --nointro --nologo --noasync --waitforpreload &> wine.txt wine: https://pastebin.com/raw/ZqeWFrcj d3d11: https://pastebin.com/raw/y0ZHrajZ dxgi: https://pastebin.com/raw/ucUbzixU

doitsujin commented 6 years ago

Please open a new issue and record an apitrace if possible, I can't debug this issue without one.

dumpsters commented 6 years ago

@doitsujin So this is pretty weird... I checked 4 different commits and they gave me different results. I'm compiling using the dxvk-git package in the AUR and changing the source line in PKGBUILD, example for the bugged one: source=($pkgname::"git+https://github.com/doitsujin/dxvk.git#commit=6550e8d623cafd9390c897cdc91adfbef13d31f5")

Results of my testing in order of commit date: works - 894444d43d412190b8328a6843d5f3a2d090e732 bugged - 6550e8d623cafd9390c897cdc91adfbef13d31f5 bugged - 4518b1b76e59ef09430031928479e8387e19df73 works (wtf) - bd71f256e58ba7c136385dd98a3184b94429254e

I triple checked 6550e8d623cafd9390c897cdc91adfbef13d31f5 and bd71f256e58ba7c136385dd98a3184b94429254e and they gave me the same results three times so yeah. What's weird is that the latest commit seems to be rendering fine again, if you're still interested in the apitrace let me know and I'll generate one for 6550e8d623cafd9390c897cdc91adfbef13d31f5

doitsujin commented 6 years ago

bd71f256e58ba7c136385dd98a3184b94429254e fixes a bug in the D3D11.1 features that were first exposed in 6550e8d623cafd9390c897cdc91adfbef13d31f5, so that would make sense, thanks for testing.

It would still be great to have an apitrace for the game so that i'll be able to do some regression testing in the future.

dumpsters commented 6 years ago

In a new commit or here? I can generate the apitrace for both bd71f25 and 6550e8d

doitsujin commented 6 years ago

The newest one (although it shouldn't make any difference, since the bug mostly affected the Vulkan backend) if you want to record it with dxvk. Which probably makes sense since wined3d doesn't even support D3D11.1 as far as I'm aware.

dumpsters commented 6 years ago

@doitsujin Alright I did it with bd71f25, here you go: {removed}

I included d3d11.log dxgi.log and wine.log in as well, I noticed a lot more warnings than before in the d3d11.log so you might want to check those out. I tried replaying it with my normal .wine prefix and it crashed, it only worked on the one I have dxvk installed so I think it did it right. It's worth noting that you can't really notice the 30+ seconds freeze in the login screen before you are able to click anything when you open the game in the replay (at least here it was sped up). Let me know if you need any more info.