Vulkan Crash on startup

  • Niko of Death
  • Topic Author
More
4 years 8 months ago #1 by Niko of Death Vulkan Crash on startup was created by Niko of Death
Compiling from the latest source code (which adds Vulkan support), I have tried to load ReShade in multiple games, including both games that feature optional vulkan support, and vulkan-only games. In each one I have tried the games crash on startup. I apologize if this is expected with the current progress on vulkan support - I have waited a few weeks to report this in case it was something that would be quickly resolved. I should note that I use an AMD RX 580, so differences in AMD and Nvidia's vulkan drivers could be the issue if it's working in Crosire's testing (if he tests with Nvidia of course). I am also using vulkan-1.dll as the name for my hook.

Here's what I am currently getting with the debug version of reshade for the games I have tested:

RAGE 2 (Vulkan only):
Game's built in crash handler starts dumping immediately (IIRC there used to be an error message before this in earlier builds, so I believe it's better than it was before)
vulkan-1.log:
2019-07-21T16:09:05:658 [23860] | INFO  | Initializing crosire's ReShade version '4.3.0.45' (64-bit) built on '2019-07-17 14:38:58' loaded from "RAGE 2\vulkan-1.dll" to "RAGE 2\RAGE2.exe" ...
2019-07-21T16:09:05:658 [23860] | DEBUG | Installing hook for LoadLibraryA at 0x00007FFEF340EB60 with 0x00007FFE87246FBA using method 1 ...
2019-07-21T16:09:05:659 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:686 [23860] | DEBUG | Installing hook for LoadLibraryExA at 0x00007FFEF340E500 with 0x00007FFE87245057 using method 1 ...
2019-07-21T16:09:05:686 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:712 [23860] | DEBUG | Installing hook for LoadLibraryW at 0x00007FFEF340E4F0 with 0x00007FFE8723D02D using method 1 ...
2019-07-21T16:09:05:713 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:740 [23860] | DEBUG | Installing hook for LoadLibraryExW at 0x00007FFEF340A1B0 with 0x00007FFE8723D3B1 using method 1 ...
2019-07-21T16:09:05:740 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:767 [23860] | INFO  | Registering hooks for "user32.dll" ...
2019-07-21T16:09:05:767 [23860] | INFO  | > Libraries loaded.
2019-07-21T16:09:05:769 [23860] | DEBUG | > Dumping matches in export table:
2019-07-21T16:09:05:769 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:769 [23860] | DEBUG |   | Address            | Ordinal | Name                                               |
2019-07-21T16:09:05:769 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:773 [23860] | DEBUG |   | 0x00007FFEF3FD7AA0 | 1828    | GetCursorPos                                       |
2019-07-21T16:09:05:774 [23860] | DEBUG |   | 0x00007FFEF3FD84B0 | 1896    | GetMessageA                                        |
2019-07-21T16:09:05:774 [23860] | DEBUG |   | 0x00007FFEF3FD4750 | 1900    | GetMessageW                                        |
2019-07-21T16:09:05:778 [23860] | DEBUG |   | 0x00007FFEF3FCA680 | 2187    | PeekMessageA                                       |
2019-07-21T16:09:05:778 [23860] | DEBUG |   | 0x00007FFEF3FC9F10 | 2188    | PeekMessageW                                       |
2019-07-21T16:09:05:778 [23860] | DEBUG |   | 0x00007FFEF3FCABE0 | 2191    | PostMessageA                                       |
2019-07-21T16:09:05:778 [23860] | DEBUG |   | 0x00007FFEF3FD3650 | 2192    | PostMessageW                                       |
2019-07-21T16:09:05:779 [23860] | DEBUG |   | 0x00007FFEF3FD55C0 | 2236    | RegisterClassA                                     |
2019-07-21T16:09:05:779 [23860] | DEBUG |   | 0x00007FFEF4031370 | 2237    | RegisterClassExA                                   |
2019-07-21T16:09:05:779 [23860] | DEBUG |   | 0x00007FFEF3FB73E0 | 2238    | RegisterClassExW                                   |
2019-07-21T16:09:05:779 [23860] | DEBUG |   | 0x00007FFEF3FB7410 | 2239    | RegisterClassW                                     |
2019-07-21T16:09:05:780 [23860] | DEBUG |   | 0x00007FFEF3FE38B0 | 2255    | RegisterRawInputDevices                            |
2019-07-21T16:09:05:781 [23860] | DEBUG |   | 0x00007FFEF3FE3AA0 | 2312    | SetCursorPos                                       |
2019-07-21T16:09:05:783 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:783 [23860] | INFO  | > Found 13 match(es). Installing ...
2019-07-21T16:09:05:783 [23860] | DEBUG | Installing hook for GetCursorPos at 0x00007FFEF3FD7AA0 with 0x00007FFE87237F74 using method 1 ...
2019-07-21T16:09:05:783 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:783 [23860] | DEBUG | Installing hook for GetMessageA at 0x00007FFEF3FD84B0 with 0x00007FFE8723DF6E using method 1 ...
2019-07-21T16:09:05:784 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:784 [23860] | DEBUG | Installing hook for GetMessageW at 0x00007FFEF3FD4750 with 0x00007FFE8724BABF using method 1 ...
2019-07-21T16:09:05:784 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:784 [23860] | DEBUG | Installing hook for PeekMessageA at 0x00007FFEF3FCA680 with 0x00007FFE87243E41 using method 1 ...
2019-07-21T16:09:05:784 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:784 [23860] | DEBUG | Installing hook for PeekMessageW at 0x00007FFEF3FC9F10 with 0x00007FFE87246D5D using method 1 ...
2019-07-21T16:09:05:784 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:784 [23860] | DEBUG | Installing hook for PostMessageA at 0x00007FFEF3FCABE0 with 0x00007FFE87251F23 using method 1 ...
2019-07-21T16:09:05:784 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:785 [23860] | DEBUG | Installing hook for PostMessageW at 0x00007FFEF3FD3650 with 0x00007FFE8723A076 using method 1 ...
2019-07-21T16:09:05:785 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:785 [23860] | DEBUG | Installing hook for RegisterClassA at 0x00007FFEF3FD55C0 with 0x00007FFE8724D676 using method 1 ...
2019-07-21T16:09:05:785 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:785 [23860] | DEBUG | Installing hook for RegisterClassExA at 0x00007FFEF4031370 with 0x00007FFE87252194 using method 1 ...
2019-07-21T16:09:05:785 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:785 [23860] | DEBUG | Installing hook for RegisterClassExW at 0x00007FFEF3FB73E0 with 0x00007FFE8724A8D1 using method 1 ...
2019-07-21T16:09:05:785 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:785 [23860] | DEBUG | Installing hook for RegisterClassW at 0x00007FFEF3FB7410 with 0x00007FFE87241533 using method 1 ...
2019-07-21T16:09:05:786 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:786 [23860] | DEBUG | Installing hook for RegisterRawInputDevices at 0x00007FFEF3FE38B0 with 0x00007FFE8723CFE7 using method 1 ...
2019-07-21T16:09:05:786 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:786 [23860] | DEBUG | Installing hook for SetCursorPos at 0x00007FFEF3FE3AA0 with 0x00007FFE8723B5ED using method 1 ...
2019-07-21T16:09:05:786 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:813 [23860] | INFO  | Registering hooks for "ws2_32.dll" ...
2019-07-21T16:09:05:813 [23860] | INFO  | > Libraries loaded.
2019-07-21T16:09:05:814 [23860] | DEBUG | > Dumping matches in export table:
2019-07-21T16:09:05:814 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:814 [23860] | DEBUG |   | Address            | Ordinal | Name                                               |
2019-07-21T16:09:05:814 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:815 [23860] | DEBUG |   | 0x00007FFEF3F51890 | 91      | WSARecv                                            |
2019-07-21T16:09:05:815 [23860] | DEBUG |   | 0x00007FFEF3F55160 | 93      | WSARecvFrom                                        |
2019-07-21T16:09:05:815 [23860] | DEBUG |   | 0x00007FFEF3F51480 | 96      | WSASend                                            |
2019-07-21T16:09:05:815 [23860] | DEBUG |   | 0x00007FFEF3F722B0 | 99      | WSASendTo                                          |
2019-07-21T16:09:05:817 [23860] | DEBUG |   | 0x00007FFEF3F51680 | 16      | recv                                               |
2019-07-21T16:09:05:817 [23860] | DEBUG |   | 0x00007FFEF3F52EE0 | 17      | recvfrom                                           |
2019-07-21T16:09:05:817 [23860] | DEBUG |   | 0x00007FFEF3F510E0 | 19      | send                                               |
2019-07-21T16:09:05:817 [23860] | DEBUG |   | 0x00007FFEF3F455D0 | 20      | sendto                                             |
2019-07-21T16:09:05:817 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:817 [23860] | INFO  | > Found 8 match(es). Installing ...
2019-07-21T16:09:05:817 [23860] | DEBUG | Installing hook for WSARecv at 0x00007FFEF3F51890 with 0x00007FFE8723BF43 using method 1 ...
2019-07-21T16:09:05:818 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:818 [23860] | DEBUG | Installing hook for WSARecvFrom at 0x00007FFEF3F55160 with 0x00007FFE8725168B using method 1 ...
2019-07-21T16:09:05:818 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:818 [23860] | DEBUG | Installing hook for WSASend at 0x00007FFEF3F51480 with 0x00007FFE8724FE53 using method 1 ...
2019-07-21T16:09:05:818 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:818 [23860] | DEBUG | Installing hook for WSASendTo at 0x00007FFEF3F722B0 with 0x00007FFE872361C9 using method 1 ...
2019-07-21T16:09:05:818 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:818 [23860] | DEBUG | Installing hook for recv at 0x00007FFEF3F51680 with 0x00007FFE8723EABD using method 1 ...
2019-07-21T16:09:05:818 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:818 [23860] | DEBUG | Installing hook for recvfrom at 0x00007FFEF3F52EE0 with 0x00007FFE872484C3 using method 1 ...
2019-07-21T16:09:05:819 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:819 [23860] | DEBUG | Installing hook for send at 0x00007FFEF3F510E0 with 0x00007FFE87235521 using method 1 ...
2019-07-21T16:09:05:819 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:819 [23860] | DEBUG | Installing hook for sendto at 0x00007FFEF3F455D0 with 0x00007FFE8724F2F5 using method 1 ...
2019-07-21T16:09:05:819 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:845 [23860] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d9.dll" ...
2019-07-21T16:09:05:846 [23860] | INFO  | > Delayed.
2019-07-21T16:09:05:846 [23860] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d10.dll" ...
2019-07-21T16:09:05:846 [23860] | INFO  | > Delayed.
2019-07-21T16:09:05:846 [23860] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d10_1.dll" ...
2019-07-21T16:09:05:847 [23860] | INFO  | > Delayed.
2019-07-21T16:09:05:847 [23860] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d11.dll" ...
2019-07-21T16:09:05:847 [23860] | INFO  | > Delayed.
2019-07-21T16:09:05:848 [23860] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d12.dll" ...
2019-07-21T16:09:05:848 [23860] | INFO  | > Delayed.
2019-07-21T16:09:05:848 [23860] | INFO  | Registering hooks for "C:\WINDOWS\system32\dxgi.dll" ...
2019-07-21T16:09:05:848 [23860] | INFO  | > Libraries loaded.
2019-07-21T16:09:05:849 [23860] | DEBUG | > Dumping matches in export table:
2019-07-21T16:09:05:849 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:849 [23860] | DEBUG |   | Address            | Ordinal | Name                                               |
2019-07-21T16:09:05:849 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:849 [23860] | DEBUG |   | 0x00007FFEF0C79510 | 10      | CreateDXGIFactory                                  |
2019-07-21T16:09:05:849 [23860] | DEBUG |   | 0x00007FFEF0C796A0 | 11      | CreateDXGIFactory1                                 |
2019-07-21T16:09:05:849 [23860] | DEBUG |   | 0x00007FFEF0C795B0 | 12      | CreateDXGIFactory2                                 |
2019-07-21T16:09:05:849 [23860] | DEBUG |   | 0x00007FFEF0C8FAB0 | 13      | DXGID3D10CreateDevice                              |
2019-07-21T16:09:05:849 [23860] | DEBUG |   | 0x00007FFEF0C8FAB0 | 14      | DXGID3D10CreateLayeredDevice                       |
2019-07-21T16:09:05:849 [23860] | DEBUG |   | 0x00007FFEF0C8FC50 | 15      | DXGID3D10GetLayeredDeviceSize                      |
2019-07-21T16:09:05:850 [23860] | DEBUG |   | 0x00007FFEF0C8FAB0 | 16      | DXGID3D10RegisterLayers                            |
2019-07-21T16:09:05:850 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:850 [23860] | INFO  | > Found 7 match(es). Installing ...
2019-07-21T16:09:05:850 [23860] | DEBUG | Installing hook for CreateDXGIFactory at 0x00007FFEF0C79510 with 0x00007FFE8723B5CA using method 1 ...
2019-07-21T16:09:05:850 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:850 [23860] | DEBUG | Installing hook for CreateDXGIFactory1 at 0x00007FFEF0C796A0 with 0x00007FFE8723FD64 using method 1 ...
2019-07-21T16:09:05:850 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:850 [23860] | DEBUG | Installing hook for CreateDXGIFactory2 at 0x00007FFEF0C795B0 with 0x00007FFE8724F9DF using method 1 ...
2019-07-21T16:09:05:850 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:850 [23860] | DEBUG | Installing hook for DXGID3D10CreateDevice at 0x00007FFEF0C8FAB0 with 0x00007FFE8723B3BD using method 1 ...
2019-07-21T16:09:05:851 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:851 [23860] | DEBUG | Installing hook for DXGID3D10CreateLayeredDevice at 0x00007FFEF0C8FAB0 with 0x00007FFE8724AC2D using method 1 ...
2019-07-21T16:09:05:851 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:851 [23860] | DEBUG | Installing hook for DXGID3D10GetLayeredDeviceSize at 0x00007FFEF0C8FC50 with 0x00007FFE872428DE using method 1 ...
2019-07-21T16:09:05:851 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:851 [23860] | DEBUG | Installing hook for DXGID3D10RegisterLayers at 0x00007FFEF0C8FAB0 with 0x00007FFE87246CCC using method 1 ...
2019-07-21T16:09:05:851 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:879 [23860] | INFO  | Registering hooks for "C:\WINDOWS\system32\opengl32.dll" ...
2019-07-21T16:09:05:879 [23860] | INFO  | > Delayed.
2019-07-21T16:09:05:879 [23860] | INFO  | Registering hooks for "C:\WINDOWS\system32\vulkan-1.dll" ...
2019-07-21T16:09:05:879 [23860] | INFO  | > Delayed until first call to an exported function.
2019-07-21T16:09:05:880 [23860] | INFO  | Initialized.
2019-07-21T16:09:05:882 [23860] | INFO  | Installing export hooks for "C:\WINDOWS\system32\vulkan-1.dll" ...
2019-07-21T16:09:05:883 [23860] | DEBUG | > Dumping matches in export table:
2019-07-21T16:09:05:883 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:883 [23860] | DEBUG |   | Address            | Ordinal | Name                                               |
2019-07-21T16:09:05:883 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:884 [23860] | DEBUG |   | 0x00007FFECE4290A0 | 64      | vkCreateDevice                                     |
2019-07-21T16:09:05:884 [23860] | DEBUG |   | 0x00007FFECE4297D0 | 83      | vkCreateSwapchainKHR                               |
2019-07-21T16:09:05:884 [23860] | DEBUG |   | 0x00007FFECE425CE0 | 84      | vkCreateWin32SurfaceKHR                            |
2019-07-21T16:09:05:884 [23860] | DEBUG |   | 0x00007FFECE424DB0 | 91      | vkDestroyDevice                                    |
2019-07-21T16:09:05:884 [23860] | DEBUG |   | 0x00007FFECE4236E0 | 107     | vkDestroySurfaceKHR                                |
2019-07-21T16:09:05:885 [23860] | DEBUG |   | 0x00007FFECE421DE0 | 108     | vkDestroySwapchainKHR                              |
2019-07-21T16:09:05:885 [23860] | DEBUG |   | 0x00007FFECE424A80 | 117     | vkEnumeratePhysicalDevices                         |
2019-07-21T16:09:05:885 [23860] | DEBUG |   | 0x00007FFECE426F70 | 129     | vkGetDeviceProcAddr                                |
2019-07-21T16:09:05:886 [23860] | DEBUG |   | 0x00007FFECE422150 | 144     | vkGetInstanceProcAddr                              |
2019-07-21T16:09:05:886 [23860] | DEBUG |   | 0x00007FFECE42A7A0 | 180     | vkQueuePresentKHR                                  |
2019-07-21T16:09:05:887 [23860] | DEBUG |   +--------------------+---------+----------------------------------------------------+
2019-07-21T16:09:05:887 [23860] | INFO  | > Found 10 match(es). Installing ...
2019-07-21T16:09:05:887 [23860] | DEBUG | Installing hook for vkCreateDevice at 0x00007FFECE4290A0 with 0x00007FFE8724F8C2 using method 0 ...
2019-07-21T16:09:05:887 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:887 [23860] | DEBUG | Installing hook for vkCreateSwapchainKHR at 0x00007FFECE4297D0 with 0x00007FFE872382D0 using method 0 ...
2019-07-21T16:09:05:887 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:887 [23860] | DEBUG | Installing hook for vkCreateWin32SurfaceKHR at 0x00007FFECE425CE0 with 0x00007FFE8724687B using method 0 ...
2019-07-21T16:09:05:887 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:887 [23860] | DEBUG | Installing hook for vkDestroyDevice at 0x00007FFECE424DB0 with 0x00007FFE8723C05B using method 0 ...
2019-07-21T16:09:05:887 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:887 [23860] | DEBUG | Installing hook for vkDestroySurfaceKHR at 0x00007FFECE4236E0 with 0x00007FFE87248428 using method 0 ...
2019-07-21T16:09:05:887 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:887 [23860] | DEBUG | Installing hook for vkDestroySwapchainKHR at 0x00007FFECE421DE0 with 0x00007FFE872513BB using method 0 ...
2019-07-21T16:09:05:887 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:888 [23860] | DEBUG | Installing hook for vkEnumeratePhysicalDevices at 0x00007FFECE424A80 with 0x00007FFE87238839 using method 0 ...
2019-07-21T16:09:05:888 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:888 [23860] | DEBUG | Installing hook for vkGetDeviceProcAddr at 0x00007FFECE426F70 with 0x00007FFE8725045C using method 0 ...
2019-07-21T16:09:05:888 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:888 [23860] | DEBUG | Installing hook for vkGetInstanceProcAddr at 0x00007FFECE422150 with 0x00007FFE8723E6F3 using method 0 ...
2019-07-21T16:09:05:888 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:888 [23860] | DEBUG | Installing hook for vkQueuePresentKHR at 0x00007FFECE42A7A0 with 0x00007FFE8723EC3E using method 0 ...
2019-07-21T16:09:05:888 [23860] | DEBUG | > Succeeded.
2019-07-21T16:09:05:929 [23860] | INFO  | Redirecting vkCreateWin32SurfaceKHR(000001357B6A7110, 00000026FA5FEB88, 0000000000000000, 00000026FA5FEB80) ...
2019-07-21T16:09:05:929 [23860] | INFO  | Redirecting vkEnumeratePhysicalDevices(000001357B6A7110, 00000026FA5FE590, 0000000000000000) ...
2019-07-21T16:09:05:929 [23860] | INFO  | Redirecting vkEnumeratePhysicalDevices(000001357B6A7110, 00000026FA5FE590, 00000135046BDFF8) ...
2019-07-21T16:09:05:930 [23860] | INFO  | Redirecting vkCreateDevice(000001357993A650, 00000026FA5FE880, 0000000000000000, 000001350BF19600) ...
2019-07-21T16:09:05:931 [23860] | WARN  | > vkCreateDevice failed with error code -7!

DOOM (2016) (OpenGL/Vulkan, but separate exe for Vulkan means it doesn't revert to openGL upon failing to load vulkan):
Get error message "The procedure entry point vkCreateDescriptorPool could not be located in the dynamic link library DOOMx64vk.exe" (Again, before I was getting two error messages here)
No log file created.

The two other games I have tried, Serious Sam Fusion 2017 and World War Z, simply end up launching with their DX11 renderers. I'll try and get logs for those two in a bit.

Please Log in or Create an account to join the conversation.

  • JBeckman
More
4 years 8 months ago - 4 years 8 months ago #2 by JBeckman Replied by JBeckman on topic Vulkan Crash on startup
Wonder how sensitive the drivers are and what it requires for the VLK runtime but I suppose if Rage 2 works being based on the 1.1.x SDK instead of 1.0.x that shouldn't be a big thing though the drivers could be a issue.

Suppose it also depends on how release ready the current VLK support is I guess and comparing with D3D12 from the prior ReShade version that still sees crashes in a few games so there might be some cases where it's not going to be performing as expected.

Rage 2 as a pure Vulkan game would also only called Vulkan-1.dll and the runtime (1.1.108.0 release, bit higher from the SDK itself I think but not available yet.) and then AMD and NVIDIA have varying support and ways they handle this though for NVIDIA the beta VLK drivers while a older main branch should be fully up to date for the current SDK version.

For AMD the 19.6.x drivers changed the VLK inclusion to be a AMD built runtime so signatures, size and such all differ from the official it might not mean anything but as it's 1.1.106.0 based and these are backwars compatible my own way is to re-install the latest official runtime afterwards to ensure it's unmodified.
(It's something like a loader, core parts are the driver files and how the game uses the SDK it's compiled against. vulkan.lunarg.com/sdk/home#windows )

Previously it just included VulkanRT.exe installing whatever version that was though it could take a while for it to be updated and now it's this thing but at least the runtime is backwards compatible for 1.0 and 1.1 both. :)


Extensions, hacks and other stuff in the code could also make a difference even if 1.1 and Rage 2 here as the first(?) full game to use this has many things as a standard instead of special implementations or little "hacks" such as what DOOM 2016 or Wolfenstein New Colossus used. (Async compute support instead of going with some AMD GCN functionality and more.)

Going by the DXVK project the AMD Windows VLK drivers are also not that great compared to either their own Linux drivers or the open source ones but what this changes or breaks or lacks support for beyond some extensions I couldn't quite say, NVIDIA I know even less about for their Windows VLK support for the main driver and what it looks like for the beta driver even if it has the newest extensions supported.
(Driver bugs exist in both though and for Intel, low level API's being all finicky I'm guessing and also tricky with supporting and maintaining.)

Emulators with VLK support could be another way to test ReShade, injection through Vulkan-1.dll seems to be in place in the current code base but other features could still be lacking and thus it crashes instead, suppose a more detailed log or debugger would be needed to get the exact nature of the error.


EDIT: There's the injection, creating the swap chain, hooking various pieces of this process and device creation and then after that comes stuff like depth buffer support (Think 4.3.1 makes a improvement here for D3D12) so hooking might be supported for VLK but it might still not be enough to fully initialize and create the display window and process without crashing, setting up the swap chain and steps up until it can boot or well I know the basics but not very well. :D

Perhaps it's that going by the documentation and not enough support currently?

VK_ERROR_DEVICE_LOST

Will be interesting to read more on this and see how VLK support is coming along. :)


EDIT: That and going backwards through the ReShade Github commits might also tell what pieces are in place and what's missing.

EDIT: Oh and if it's self-compiled then the runtimes and dependencies will also be a important pat, I think a earlier commit removed the Vulkan SDK as a required criteria but it could still be needed for VLK support if you're building the DLL with intent for using this API for example. :)

github.com/crosire/reshade/commit/4ea04c...7ac41523c9936c1ad87f

DLLMain.cpp I guess would be the file then?

#pragma region Vulkan Implementation
#define VK_CHECK(exp) assert((exp) == VK_SUCCESS)
#define VK_CALL_CMD(name, device, ...) reinterpret_cast<PFN_##name>(vkGetDeviceProcAddr(device, #name))(__VA_ARGS__)
#define VK_CALL_DEV(name, device, ...) reinterpret_cast<PFN_##name>(vkGetDeviceProcAddr(device, #name))(device, __VA_ARGS__)
#define VK_CALL_INS(name, instance, ...) reinterpret_cast<PFN_##name>(vkGetInstanceProcAddr(instance, #name))(__VA_ARGS__)


Checking what it reports and if it succeeds or fails since it has that pragma here. :)


Or I could be reading it wrong and ReShade has support in the source itself although I don't think you can just decouple the entire VLK SDK and still have it work so it's a optional part for getting the VLK injection functional same as say D3D12 and the newer Win10 SDK's I'd imagine and being able to opt out of that for still compiling on OS's without this being available.
(Going in circles here but having it as a optional but not a required criteria for certain functionality to be exposed and available as the user compiles the ReShade source code from scratch.)



EDIT: Oh interesting so a third party proxy could actually work. Neat!
Last edit: 4 years 8 months ago by JBeckman.

Please Log in or Create an account to join the conversation.

  • crosire
More
4 years 8 months ago #3 by crosire Replied by crosire on topic Vulkan Crash on startup
Explanation is pretty simple: It's not supposed to work as a wrapper DLL for Vulkan yet. Still missing many required exports for that to work (not sure if I will implement them yet, or just use Vulkan's layer system for injection instead). The only way to get it working is to inject with a third-party injector tool right now.
The following user(s) said Thank You: JBeckman

Please Log in or Create an account to join the conversation.

  • Niko of Death
  • Topic Author
More
4 years 8 months ago #4 by Niko of Death Replied by Niko of Death on topic Vulkan Crash on startup

crosire wrote: Explanation is pretty simple: It's not supposed to work as a wrapper DLL for Vulkan yet. Still missing many required exports for that to work (not sure if I will implement them yet, or just use Vulkan's layer system for injection instead). The only way to get it working is to inject with a third-party injector tool right now.

Ah, I see, thanks! Do you have any tool in particular you recommend?

Please Log in or Create an account to join the conversation.

  • Zireael
More
4 years 8 months ago #5 by Zireael Replied by Zireael on topic Vulkan Crash on startup

crosire wrote: Explanation is pretty simple: It's not supposed to work as a wrapper DLL for Vulkan yet. Still missing many required exports for that to work (not sure if I will implement them yet, or just use Vulkan's layer system for injection instead). The only way to get it working is to inject with a third-party injector tool right now.


How do you get it to work? I tried a bunch of .dll injectors with RAGE 2, and the Reshade GUI never appeared in the game.

Please Log in or Create an account to join the conversation.

  • JBeckman
More
4 years 8 months ago #6 by JBeckman Replied by JBeckman on topic Vulkan Crash on startup
I wonder if it needs to be injected early on unless ReShade has the means to be hotloaded during runtime without any features failing if the game has already started showing a few frames and initialized.

Isn't that one of the things with DXGI versus D3D .dll naming for the normal injection routine?

Please Log in or Create an account to join the conversation.

  • Wicked Sick
More
4 years 8 months ago #7 by Wicked Sick Replied by Wicked Sick on topic Vulkan Crash on startup
What tool can we use?

Please Log in or Create an account to join the conversation.

We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.