Dxvk: ESO: black screen after commit d3e89b20dda226dc142aae1b83cc9c90e09f1a5e

Created on 11 Mar 2018  路  9Comments  路  Source: doitsujin/dxvk

Noticed today an important regression.
The game loads and opens, background music plays as normal, youc an see the mouse cursor change to the game's cursor... but the screen remains black.

After a git bisect, I've determined the culprit to be commit d3e89b20dda226dc142aae1b83cc9c90e09f1a5e

System information

  • GPU: Vega 56
  • Driver: RADV (mesa-git)
  • Wine version: wine-vulkan (git)
  • DXVK version: d3e89b20dda226dc142aae1b83cc9c90e09f1a5e and later

Log files

  • d3d11.log:
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
warn:  D3D11Device::QueryInterface: Unknown interface query
warn:  6543dbb6-1b48-42f5-ab82-e97ec74326f6
  • dxgi.log:
info:  Enabled instance layers:
info:  Enabled instance extensions:
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV VEGA (LLVM 7.0.0):
info:    Driver: 18.0.99
info:    Vulkan: 1.1.70
warn:  DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
warn:  Vulkan extension VK_KHR_maintenance2 not supported
info:  Enabled device extensions:
info:    VK_AMD_rasterization_order
info:    VK_KHR_maintenance1
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain
warn:  DxgiFactory::MakeWindowAssociation: Ignoring flags
info:  Enabled instance layers:
info:  Enabled instance extensions:
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV VEGA (LLVM 7.0.0):
info:    Driver: 18.0.99
info:    Vulkan: 1.1.70
warn:  DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
warn:  DxgiSwapChain: Display mode changes not implemented
info:  DxgiPresenter: Recreating swap chain: 
  Format:       VK_FORMAT_B8G8R8A8_UNORM
  Present mode: VK_PRESENT_MODE_FIFO_KHR
  Buffer size:  3840x2160
bug

Most helpful comment

Please test if it still works with 3e60c8f3161fb910fa22af6f7af8be7ee6f69a29.

All 9 comments

My git bisect log:

git bisect start
# bad: [5b9e4c1faa41494d83a878fe621ee16f11bce2ab] [d3d11] Fix image tiling
git bisect bad 5b9e4c1faa41494d83a878fe621ee16f11bce2ab
# good: [fb36b568914502d594877237b908d19dbfcbc617] [dxvk] Removed stat counters
git bisect good fb36b568914502d594877237b908d19dbfcbc617
# bad: [d3e89b20dda226dc142aae1b83cc9c90e09f1a5e] [d3d11] Allocate host-readable images on host-visible memory
git bisect bad d3e89b20dda226dc142aae1b83cc9c90e09f1a5e
# good: [a4a8e0d6c84853c1b8c77b886edc0e505271f15d] [dxvk] Add memory flag query to DxvkImage
git bisect good a4a8e0d6c84853c1b8c77b886edc0e505271f15d
# first bad commit: [d3e89b20dda226dc142aae1b83cc9c90e09f1a5e] [d3d11] Allocate host-readable images on host-visible memory

Please re-run with validation layers enabled.

I disabled the optimization which probably causes the problem in bbbc5528687fd00e8cea6a2b3352973362b7a421, please let me know if it works. Keep in mind that I'd like to fix that optimization rather than removing it entirely because the improvements are fairly massive.

With the latest commit, it works again.
I will now run it with the validation layers enabled on the troublesome commit

OK... I've tried with DXVK_SHADER_VALIDATE=1 but I see no difference in the output?

DXVK_DEBUG_LAYERS=1 is the one I was actually asking for. Shader validation only prints output when it encounters an invalid SPIR-V shader.

Got it: DXVK_DEBUG_LAYERS=1 (from stdout, I can't find the new output in the log files)

info:  Enabled instance layers:
info:    VK_LAYER_LUNARG_standard_validation
info:  Enabled instance extensions:
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV VEGA (LLVM 7.0.0):
info:    Driver: 18.0.99
info:    Vulkan: 1.1.70
warn:  DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
warn:  Vulkan extension VK_KHR_maintenance2 not supported
info:  Enabled device extensions:
info:    VK_AMD_rasterization_order
info:    VK_KHR_maintenance1
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain
warn:  DxgiFactory::MakeWindowAssociation: Ignoring flags
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)
warn:  D3D11Device::QueryInterface: Unknown interface query
warn:  6543dbb6-1b48-42f5-ab82-e97ec74326f6
info:  Enabled instance layers:
info:    VK_LAYER_LUNARG_standard_validation
info:  Enabled instance extensions:
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV VEGA (LLVM 7.0.0):
info:    Driver: 18.0.99
info:    Vulkan: 1.1.70
warn:  DxgiAdapter: DXGI_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
warn:  DxgiSwapChain: Display mode changes not implemented
[0x7FFFF4B72790] ANOMALY: Instruction "lea" is modifying the stack
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)
info:  DxgiPresenter: Recreating swap chain: 
  Format:       VK_FORMAT_B8G8R8A8_UNORM
  Present mode: VK_PRESENT_MODE_FIFO_KHR
  Buffer size:  3840x2160

Please test if it still works with 3e60c8f3161fb910fa22af6f7af8be7ee6f69a29.

I'll test it as soon as I get home this afternoon

Tested. It works now.

Was this page helpful?
0 / 5 - 0 ratings