Welcome, Guest.
Username: Password: Remember me

TOPIC: Depth Buffer Detection Modification

3.1 1 month 2 days ago #1061

thalixte wrote:
Nowadays, i cannot spend too much times on Reshade, but i advance in the vulkan depth buffer detection.
Can you please test this one ? I know the depth buffer detection does not work on Doom or Rage 2, but it works on No Man's Sky vulkan experimental branch, and i would like to know if it works on other vulkan games.

Reshade setup.zip.zipmega.nz/#!jpAkSA5B!uA-Ood8LzwsWzEjt-L7sluHMAotwFtEcgs8D2LChxCY

To test it, you have to use the Reshade installer, which will create a .bat file in the game folder. In order for Reshade to work with the vulkan API, you have to launch the game with this created batch file.

Using this build or build from your latest commits, I get a reshade64.log but no UI, I've tried disabling driver enhancements and RTSS hooks, still nothing, any ideas?
The administrator has disabled public write access.

3.1 1 month 2 days ago #1062

Niko of Death wrote:
thalixte wrote:
Nowadays, i cannot spend too much times on Reshade, but i advance in the vulkan depth buffer detection.
Can you please test this one ? I know the depth buffer detection does not work on Doom or Rage 2, but it works on No Man's Sky vulkan experimental branch, and i would like to know if it works on other vulkan games.

Reshade setup.zip.zipmega.nz/#!jpAkSA5B!uA-Ood8LzwsWzEjt-L7sluHMAotwFtEcgs8D2LChxCY

To test it, you have to use the Reshade installer, which will create a .bat file in the game folder. In order for Reshade to work with the vulkan API, you have to launch the game with this created batch file.

Using this build or build from your latest commits, I get a reshade64.log but no UI, I've tried disabling driver enhancements and RTSS hooks, still nothing, any ideas?

Have you launched the game with the batch file ?
The administrator has disabled public write access.

3.1 1 month 1 day ago #1063

Hi there. Brand new account here to inquire about Vulkan ReShade.

I tried using your ReShade setup to try and get it working on Rage 2. I installed it onto the game and launched game from the .bat file but there was no sign at all of ReShade working- although the game ran.

I then tried renaming ReShade64 to Vulcan- 1.dll - game didn't start- and this showed up in the log

16:01:59:215 [05796] | INFO | Registering hooks for "user32.dll" ...
16:01:59:215 [05796] | INFO | > Libraries loaded.
16:01:59:215 [05796] | INFO | > Found 13 match(es). Installing ...
16:01:59:227 [05796] | INFO | Registering hooks for "ws2_32.dll" ...
16:01:59:227 [05796] | INFO | > Libraries loaded.
16:01:59:227 [05796] | INFO | > Found 8 match(es). Installing ...
16:01:59:239 [05796] | INFO | Registering hooks for "C:\WINDOWS\system32\d3d9.dll" ...
16:01:59:239 [05796] | INFO | > Delayed.
16:01:59:239 [05796] | INFO | Registering hooks for "C:\WINDOWS\system32\d3d10.dll" ...
16:01:59:240 [05796] | INFO | > Delayed.
16:01:59:240 [05796] | INFO | Registering hooks for "C:\WINDOWS\system32\d3d10_1.dll" ...
16:01:59:240 [05796] | INFO | > Delayed.
16:01:59:240 [05796] | INFO | Registering hooks for "C:\WINDOWS\system32\d3d11.dll" ...
16:01:59:240 [05796] | INFO | > Delayed.
16:01:59:240 [05796] | INFO | Registering hooks for "C:\WINDOWS\system32\d3d12.dll" ...
16:01:59:240 [05796] | INFO | > Delayed.
16:01:59:240 [05796] | INFO | Registering hooks for "C:\WINDOWS\system32\dxgi.dll" ...
16:01:59:240 [05796] | INFO | > Libraries loaded.
16:01:59:240 [05796] | INFO | > Found 7 match(es). Installing ...
16:01:59:252 [05796] | INFO | Registering hooks for "C:\WINDOWS\system32\opengl32.dll" ...
16:01:59:252 [05796] | INFO | > Delayed.
16:01:59:252 [05796] | INFO | Initialized.
16:01:59:255 [05796] | INFO | Exiting ...
16:01:59:255 [05796] | INFO | Uninstalling 32 hook(s) ...
16:01:59:267 [05796] | INFO | Exited.

I'd really appreciate if you could help me to get this working and I could check depth buffer access for you.
Last Edit: 1 month 1 day ago by Mdma.
The administrator has disabled public write access.

3.1 1 month 1 day ago #1064

Looks like that's the current blocker for this and VLK depth buffer functionality for ReShade going by the Github commits for ReShade and the status of the latest submission around this VLK depth buffer access pull request so I had some ideas at first but it looks like it's going to need some additional development and little else will affect it other than compiling the source and building it from that.

Development has been quite active for whatever the next version will end up being (4.4.0 consider the Vulkan addition as one major feature?) so I'm just waiting and seeing what changes and what's going on, tested this .DLL in Rage 2 and Wolfenstein Youngblood plus a quick test in Dolphin via the VLK API but so far no luck though it works just as fine as ever with D3D11 and well for D3D12 for the moment only Division 2 utilizes that API for the stuff I have installed and EAC would prevent a modified non-whitelisted .dll of ReShade to be loaded but the code mostly surrounds general ReShade changes since 4.3.0 and Vulkan so I don't expect any problems.
(Actually some of the changes could help improve compatibility further instead.)

Think OpenGL has also seen some adjustments going by the Github code updates, wonder what's different with No Man's Sky if that is working but perhaps it's doing something different or using a function or such that avoids whatever happens here.

github.com/crosire/reshade/
github.com/crosire/reshade/pull/138

This I assume.
in Rage 2, switching on some specific depthstencil images makes Reshade crash when it calls vk.UpdateDescriptorSets(_device, 2, writes, 0, nullptr) in the render_technique reshade::vulkan::runtime_vk::compile_effect

Not that I know very well far as the actual tech goes, interested in seeing how it goes and maybe learning a bit but I don't hold much for picking up too much of how these lower-level graphics API's are doing things due to the complexity involved. :D



EDIT: That is assuming the pathing and shortcuts are all correct too since Vulkan-1.dll injection isn't going to be cutting it.

So it needs ReShade .dll and the JSON file and then a batch file setting the VLK runtine environment as well.
Runtime itself can be acquired from here but the display drivers for both AMD and NVIDIA installs a fairly recent version anyway.
vulkan.lunarg.com/sdk/home#windows

Assuming ReShade32 or ReShade64 .dll are left unaltered for the file naming the .JSON files can be left as is too otherwise these (script/text) files contain the .dll name inside them for the layer system in Vulkan.

So ReShade64.dll and ReShade64.JSON in the folder with the game exe and then a .Bat batch file.
set VK_LAYER_PATH=C:\Games\Steam\steamapps\common\Wolfenstein Youngblood;%VK_LAYER_PATH%
set VK_INSTANCE_LAYERS=VK_LAYER_reshade_overlay
@start "" "C:\Games\Steam\steamapps\common\Wolfenstein Youngblood\Youngblood_x64vk.exe"

For Youngblood in my case, layer path to the ReShade64 .JSON location and then the exe to start plus the unique name for the layer to use.

Without that you don't get anything for ReShade64.dll even if the log might pick up some hooks and loading shaders and if it doesn't work it generally crashes shortly after start.


EDIT: Oh and the setup exe sets this for you when picking the Vulkan API unless you manually extracted or dumped the contents of that. :)

EDIT: Otho compared to .DLL naming and hoping it'll work the layering system seems quite powerful and versatile.



EDIT: Render pass and depth and stencil extensions hmm wonder if that might help with the issue here, sigh well I am just thinking out loud really so not sure.


Going by recent DXVK commits.
github.com/doitsujin/dxvk/compare/v1.3.2...master

So that supports depth and stencil resolves and going via some extensions from VLK although it then relies on AMD and NVIDIA and Intel supporting these in newer drivers and without flaws or other bugs for these are supported. :)


Though I could be wrong, will be interesting to see how this all goes and how it's resolved and eventually merged into the main branch. :)
Last Edit: 1 month 18 hours ago by JBeckman.
The administrator has disabled public write access.
The following user(s) said Thank You: Mdma

3.1 1 month 1 day ago #1065

thalixte wrote:
Niko of Death wrote:
thalixte wrote:
Nowadays, i cannot spend too much times on Reshade, but i advance in the vulkan depth buffer detection.
Can you please test this one ? I know the depth buffer detection does not work on Doom or Rage 2, but it works on No Man's Sky vulkan experimental branch, and i would like to know if it works on other vulkan games.

Reshade setup.zip.zipmega.nz/#!jpAkSA5B!uA-Ood8LzwsWzEjt-L7sluHMAotwFtEcgs8D2LChxCY

To test it, you have to use the Reshade installer, which will create a .bat file in the game folder. In order for Reshade to work with the vulkan API, you have to launch the game with this created batch file.

Using this build or build from your latest commits, I get a reshade64.log but no UI, I've tried disabling driver enhancements and RTSS hooks, still nothing, any ideas?

Have you launched the game with the batch file ?

Yes, I wouldn't be getting the log files if I wasn't, so it is hooking to some degree.
Last Edit: 1 month 1 day ago by Niko of Death. Reason: add quote
The administrator has disabled public write access.

3.1 1 month 19 hours ago #1066

Niko of Death wrote:
thalixte wrote:
Niko of Death wrote:
thalixte wrote:
Nowadays, i cannot spend too much times on Reshade, but i advance in the vulkan depth buffer detection.
Can you please test this one ? I know the depth buffer detection does not work on Doom or Rage 2, but it works on No Man's Sky vulkan experimental branch, and i would like to know if it works on other vulkan games.

Reshade setup.zip.zipmega.nz/#!jpAkSA5B!uA-Ood8LzwsWzEjt-L7sluHMAotwFtEcgs8D2LChxCY

To test it, you have to use the Reshade installer, which will create a .bat file in the game folder. In order for Reshade to work with the vulkan API, you have to launch the game with this created batch file.

Using this build or build from your latest commits, I get a reshade64.log but no UI, I've tried disabling driver enhancements and RTSS hooks, still nothing, any ideas?

Have you launched the game with the batch file ?

Yes, I wouldn't be getting the log files if I wasn't, so it is hooking to some degree.

What is the game you aret testing ?
The administrator has disabled public write access.

3.1 1 month 10 hours ago #1067

thalixte wrote:
Niko of Death wrote:
thalixte wrote:
Niko of Death wrote:
thalixte wrote:
Nowadays, i cannot spend too much times on Reshade, but i advance in the vulkan depth buffer detection.
Can you please test this one ? I know the depth buffer detection does not work on Doom or Rage 2, but it works on No Man's Sky vulkan experimental branch, and i would like to know if it works on other vulkan games.

Reshade setup.zip.zipmega.nz/#!jpAkSA5B!uA-Ood8LzwsWzEjt-L7sluHMAotwFtEcgs8D2LChxCY

To test it, you have to use the Reshade installer, which will create a .bat file in the game folder. In order for Reshade to work with the vulkan API, you have to launch the game with this created batch file.

Using this build or build from your latest commits, I get a reshade64.log but no UI, I've tried disabling driver enhancements and RTSS hooks, still nothing, any ideas?

Have you launched the game with the batch file ?

Yes, I wouldn't be getting the log files if I wasn't, so it is hooking to some degree.

What is the game you aret testing ?
Tried it with Doom, RAGE 2, and No Mans Sky.
The administrator has disabled public write access.

3.1 4 weeks 2 days ago #1068

I checked with all the shaders downloaded, and i found that Reshade vulkan hangs with the SMAA shader, and crashes with the Polynomial barrel distorsion shader, or the UI detect shader. The other shaders seem to work fine, so if you use those first shaders, you have to remove it from the ini file (the first line with techniques).
Last Edit: 4 weeks 2 days ago by thalixte.
The administrator has disabled public write access.
The following user(s) said Thank You: JBeckman

3.1 4 weeks 2 days ago #1069

thalixte wrote:
I checked with all the shaders downloaded, and i found that Reshade vulkan hangs with the SMAA shader, and crashes with the Polynomial barrel distorsion shader, or the UI detect shader. The other shaders seem to work fine, so if you use those first shaders, you have to remove it from the ini file (the first line with techniques).
I'm not even getting to the point where it loads the techniques. Here's my log file for DOOM:
pastebin.com/q6i2KJsK
(Presumably
[18848] | ERROR | Failed to initialize Vulkan runtime environment on runtime 00000202DF0CCA10.
is the issue)
and here's my log file for NMS:
pastebin.com/auH5ghYC
(again, assuming
[20920] | ERROR | Failed to initialize Vulkan runtime environment on runtime 0000021D0E38F6E0.
is the issue
I'm using an rx 580 with the latest drivers (19.8.1) if it matters. It also doesnt seem to hook at all for World War Z (which uses D3D11 and Vulkan in the same exe) but does hook (with the same issues as DOOM and NMS) for Serious Sam 2017
Last Edit: 4 weeks 2 days ago by Niko of Death.
The administrator has disabled public write access.

3.1 4 weeks 2 days ago #1070

Interesting about SMAA there, so much to learn.

More testing to do then, wonder why that happens but eh I probably wouldn't understand it.
Wonder if there's a difference between AMD and NVIDIA too on how some of this works but yeah that's a bit beyond my knowledge.

I do know AMD distributes a modified version of the VLK runtime though, one reason I use the latest (Also newer.) version from the Khronos website instead, it could just be packed and signed and that explains the size and signature differences but why take chances.

Oh and AMD also has a existing layer in the Khronos registry same as say the Steam overlay but it doesn't have a [enable] category in it's JSON so I think it's always running without environmental defines for when and how it should run but perhaps it's nothing.
(Driver file and JSON and also a implicit layer for something about GPU switching, onboard/mobile support related perhaps.)

And then there's the pipeline and shader cache too, AMD has their own driver cache which now also supports Vulkan (Think NVIDIA does too.) and many VLK games have their own cache files as well for shader storage and speed, wouldn't expect ReShade to interfere here with injecting post-process shaders though at least not to where it crashes but if the shader files might have some problems then yeah that might be something else to try but I don't know, at least some things can start being excluded as the cause of the problem.

EDIT: And then game specific well DOOM 2016 and Wolfenstein New Colossus under AMD has some bits for Async and looking into it deeper some very specific AMD GCN bits although Vulkan 1.1 standardized many of these and I would expect No Man's Sky on VLK to be using this API.

Which for the above was a ??? about the shader compiler and maybe a crash here but that's probably unlikely and this second ??? would be the oh so lovely API and vendor specific hacks and varying support between AMD and NVIDIA in what and which parts of the VLK 1.1.x extensions and specs they support and how and what driver bugs remain and older GPU's and support and all that stuff which is really complex.

Might not be it either, wonder if it's going to need testing on both AMD and NVIDIA hardware and more in-depth debugging or tracing but eh it's not really something I know much about and certainly not enough to say for sure where and why it breaks.

Support for D3D12 and VLK are still relatively early into development after all so I wouldn't be surprised if there are run-ins with vendor specific issues down the line at some point and what needs to be done or workaround around until/if these get fixed in a later driver release and then varying support for older hardware and a whole host of other potential problems, nice to see these API's supported but it's probably going to be a few edge cases and games that will give a bit more trouble too.
(Which I suppose is also a thing for D3D9 to 11 and OGL so probably nothing new as such.)


EDIT: Yeah this post is a mess. :)

Well learned a bit more and there's so much that could go wrong or need to be taken into account and who knows what else, at least it's looking like a few things can be narrowed down but nice to see VLK support getting readied and also depth buffer support for this API and now back to seeing how it goes sans certain shaders. :D
Last Edit: 4 weeks 2 days ago by JBeckman.
The administrator has disabled public write access.

3.1 4 weeks 2 days ago #1071

Tested vk in Rage 2 and NMS. In NMS depth buffer works fine, no tweaking needed, just proper pre-processor settings. Rage 2 however crashes after couple of minutes into the game and depth buffer detection doesn't seem to work properly. In Vulkan tab fields with numbers (addresses) are blinking frantically. If you start tinkering with them usually second from the top causes a freeze and a crash and after that game stops launching with reshade on, giving graphic error code 35 thing. After you properly uninstall reshade and install it again it starts working again.

14:05:07:969 [11612] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 0000019670960640, 0000000000000000) ...
14:05:07:983 [09812] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 00000196A5C7FD40, 0000000000000000) ...
14:05:07:998 [02820] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 0000019670960910, 0000000000000000) ...
14:05:08:012 [13136] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 00000195D2D6EF10, 0000000000000000) ...
14:05:08:027 [02820] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 000001959D86E110, 0000000000000000) ...
14:05:08:042 [11612] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 00000196A5C802E0, 0000000000000000) ...
14:05:08:056 [09812] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 00000196A5C7E630, 0000000000000000) ...
14:05:08:070 [02820] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 0000019670960D90, 0000000000000000) ...
14:05:08:085 [09812] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 000001959D86D660, 0000000000000000) ...
14:05:08:099 [13136] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 00000196709612A0, 0000000000000000) ...
14:05:08:114 [09812] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 00000196A5C80640, 0000000000000000) ...
14:05:08:133 [02820] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 00000195D2D6F0C0, 0000000000000000) ...
14:05:08:147 [02820] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 00000196A5C80880, 0000000000000000) ...
14:05:08:162 [09812] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 000001959D86E1A0, 0000000000000000) ...
14:05:08:176 [13136] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 0000019670960EB0, 0000000000000000) ...
14:05:08:191 [02820] | INFO | Redirecting vkDestroyFramebuffer(00000195F616DD60, 00000196A5C7ECF0, 0000000000000000) ...

This is the kind of stuff log full of in Rage 2.

I didn't test in Doom and WF2, but i can if needed.
The administrator has disabled public write access.

3.1 4 weeks 1 day ago #1072

  • Wicked Sick
  • Wicked Sick's Avatar
  • Offline
  • Die young or suffer (Forgive my poor English)
Commenting here because I want to follow this because of NMS.
Finding relief somewhere between a tree's branch and its shade.
The administrator has disabled public write access.

3.1 4 weeks 1 day ago #1073

You can already try it with the ReShade Setup from post #1062 quoted near the top of this page and see how it goes. :)
Start it, select No Man's Sky exe file and then select the VLK API.

It'll copy the files over and make a little batch file which you then start via and it sets up ReShade64.dll (Or the 32-bit .dll) to load in similar method to just having it named as a file and injected and No Mans' Sky seems to be fairly compatible so nothing wrong with testing and seeing how it goes.

For the compile date it should have just about all of the ReShade Vulkan commits since 4.3.0 was released in addition to the pull request pending for depth buffer support which is still being developed. It could crash on start up but it might also work just fine although the developers of NMS are actively patching up and adjusting the game after this newest large update so it could mean some stuff might be affected if they tweak the VLK implementation from this. :)
Last Edit: 4 weeks 1 day ago by JBeckman.
The administrator has disabled public write access.

3.1 4 weeks 16 hours ago #1074

  • Wicked Sick
  • Wicked Sick's Avatar
  • Offline
  • Die young or suffer (Forgive my poor English)
Thanks, I did try that before posting but I got nothing, do I decided to follow this post.
Finding relief somewhere between a tree's branch and its shade.
The administrator has disabled public write access.

3.1 4 weeks 2 hours ago #1075

Yeah I've not had much luck either so I have been looking into if it's possible to get layer logging working but I'm probably doing something wrong or it's going to need work via the VLK full SDK and it's example layers first.

vulkan.lunarg.com/doc/view/1.0.39.0/windows/layers.html
Layer Settings File

I don't expect it would solve the issue but if it could have helped tracking down what breaks and where and if it remained consistent throughout testing between different software it might have been of some use, in my case the test titles are Wolfenstein Youngblood, Rage 2 and a quick test via Dolphin as well (Wii emulation) and that would narrow it down somewhat, perhaps.

Also saw DXVK has a resolver and using extensions for depth and stencil buffers via Vulkan's system for this but that shouldn't be why it crashes or hangs so it's probably irrelevant. github.com/doitsujin/dxvk/compare/v1.3.2...master

ReShade has some logging too but it mostly just shows it hooking, compiling (If it gets that far in the first place.) and then terminating so nothing too in-depth.
Think I've exhausted what little I do know but it was fun trying, working flawlessly for D3D and no issues with depth buffer detection and the other additions since 4.3.0 but no luck with Vulkan so far though I'll keep testing and tinkering but I don't hold any hopes for getting anywhere with what little I know although it's fun to keep testing and maybe even learn a bit although it's a pretty complicated subject.
Last Edit: 4 weeks 2 hours ago by JBeckman.
The administrator has disabled public write access.

3.1 3 weeks 6 days ago #1076

JBeckman wrote:
Yeah I've not had much luck either so I have been looking into if it's possible to get layer logging working but I'm probably doing something wrong or it's going to need work via the VLK full SDK and it's example layers first.

vulkan.lunarg.com/doc/view/1.0.39.0/windows/layers.html
Layer Settings File

I don't expect it would solve the issue but if it could have helped tracking down what breaks and where and if it remained consistent throughout testing between different software it might have been of some use, in my case the test titles are Wolfenstein Youngblood, Rage 2 and a quick test via Dolphin as well (Wii emulation) and that would narrow it down somewhat, perhaps.

Also saw DXVK has a resolver and using extensions for depth and stencil buffers via Vulkan's system for this but that shouldn't be why it crashes or hangs so it's probably irrelevant. github.com/doitsujin/dxvk/compare/v1.3.2...master

ReShade has some logging too but it mostly just shows it hooking, compiling (If it gets that far in the first place.) and then terminating so nothing too in-depth.
Think I've exhausted what little I do know but it was fun trying, working flawlessly for D3D and no issues with depth buffer detection and the other additions since 4.3.0 but no luck with Vulkan so far though I'll keep testing and tinkering but I don't hold any hopes for getting anywhere with what little I know although it's fun to keep testing and maybe even learn a bit although it's a pretty complicated subject.

Thks Jonas :cheer: I already looked at that page, and tried to activate the validation layer and did not manage to fully enable the logs, but i have not spent too many times on Reshade those days, cause i was on hoolidays, and i will be really busy those days.

If you could find the way to enable it, it would be very helpfull: for the moment, i am stuck at the copying stage of the depth buffer, which returns me a DEVICE LOST ERROR. It can be a validation pb in the coying process, but without the extension of the log infos, it will be hard to investigate. Maybe Crosire has an answer about it, as it has to investigate for the compiler issues...
Last Edit: 3 weeks 6 days ago by thalixte.
The administrator has disabled public write access.

3.1 3 weeks 6 days ago #1077

Thks both of you taking the time to test ;)
pyewacket wrote:
Tested vk in Rage 2 and NMS...
I have the exact same results as yours. A little question, what is your graphic card manufacturer ? Mine is Nvidia on both my rigs... Do you own an AMD card ?
Last Edit: 3 weeks 6 days ago by thalixte.
The administrator has disabled public write access.

3.1 3 weeks 6 days ago #1078

Nope, it's Nvidia here as well. :) I have an AMD card too, albeit an old one 7870 (might be somewhat relevant still, since it's gcn?), might be able to test with it soon.
Last Edit: 3 weeks 6 days ago by pyewacket.
The administrator has disabled public write access.

3.1 3 weeks 6 days ago #1079

I have a feeling weaving in the SDK layers would perhaps be one way to get the validation from that but it's layer specific so it should come from the ReShade layer.

Which I guess means it's tied to having this VLK extension.

VK_EXT_debug_report

The prefered method for an app to control layer logging is via VK_EXT_debug_report extension. Using VK_EXT_debug_report extension allows an application to register multiple callbacks with the validation layers. Some callbacks may log the information to a file, others may cause a debug break point or other application defined behavior. An application can register callbacks even when no validation layers are enabled, but they will only be called for loader and, if implemented, driver events. This extension provides a flags parameter indicating the severity level of the message: error, warning, etc. Using these flags, an application can filter the messages recieved by their callback to a desired severity level.

Refer to the Debug Report Extension ** for details on using this extension.**

vulkan.lunarg.com/doc/view/1.0.37.0/linu....chunked/apcs04.html
VK_EXT_debug_report allows an application to register multiple callbacks with the validation layers. Some callbacks may log the information to a file, others may cause a debug break point or other application defined behavior. An application can register callbacks even when no validation layers are enabled, but they will only be called for loader and, if implemented, driver events.

To capture issues found while creating or destroying an instance an application can link a VkDebugReportCallbackCreateInfoEXT structure to the pNext element of the VkInstanceCreateInfo structure given to vkCreateInstance. This callback is only valid for the duration of the vkCreateInstance and the vkDestroyInstance call. Use vkCreateDebugReportCallbackEXT to create persistent callback objects.

And then with this txt file for defining what to log.
Layer Settings File

In addition to activating the layers, specific reporting levels must be set for each layer programmatically or via the vk_layer_settings.txt settings file. If no environment variable variable VK_LAYER_SETTINGS_PATH is set, then this must be a file called vk_layer_settings.txt in the working directory of the application. If VK_LAYER_SETTINGS_PATH is set and is a directory, then the settings file must be a file called vk_layer_settings.txt in the directory given by VK_LAYER_SETTINGS_PATH. If VK_LAYER_SETTINGS_PATH is set and is not a directory, then it must point to a file (with any name) which is the layer settings file.

So setting the report flags and well essentially the way I'm thinking at least is that information is helpful and for now the existing logs don't include enough data and the game specific crash reporter and logs might not cut it either.

So if that could work then having a more in-depth report can be used even from users to at least report or upload and post logs for troubleshooting purposes and resolving whatever differences might be leading to a break either if it's between AMD or NVIDIA or game specific or from driver changes or specific "optimizations" or "hacks" that are applied though I don't know the API's very well and these low-level ones with D3D12 and Vulkan I expect to be a whole new set of potential issues and fixes for a while both for older games (Maybe the implementation isn't entirely valid.) and newer drawing on more recent functionality or features and for Vulkan also these extensions both core and vendor specific from NVIDIA, AMD and also Intel.

So if the layer name for ReShade is VK_LAYER_reshade_overlay

vk_layer_settings.txt
reshade_overlay.report_flags = info,warn,error
reshade_overlay.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG
reshade_overlay.log_filename = ReShade_Vulkan.log

Something like that, information and more importantly warnings and probably most importantly also if it can log actual errors where things break assuming it gets that far before it breaks which I'm not sure but it'd help.

Method would to then log it and then well it doesn't have to be defined (stdout.log seems like it's the default.) but log to the specific file name.

It does look like it needs the debug extension however and also setting up for the implicit layer and debug functionality, I'm guessing the SDK and C++ and other tools can also be used but while it takes a bit of work on the client side it'd be easier if it could be handled through the Vulkan layer and report functionality itself and then just setting it for the default ReShade layer name and get info from that.


Other than that I can't really get much info, even without shaders and textures, no preset and a minimal config file it won't co-operate at all and with shaders sometimes it crashes early other times the ReShade log shows compiling and then unloading (destroying) of Vulkan and the game exits or hangs.

Lacking knowledge but trying to see what could be helpful and the only answer I'm getting short of having hardware to test locally with then it's going to require info and so far it's pretty much blind in that regard which isn't helping at all. :)


Still a work in progress so the issue could be from a lot of different possible causes and who knows what step in the whole process the game is at when it acts up but yeah to not make this post much longer that's how I'm thinking although it's over the course of a couple of days of reading and getting a basic insight into VLK troubleshooting but I like what I'm seeing if it can be made to work which might help with ReShade development and getting VLK working whatever is happening currently.

Maybe, it's theory after all but information couldn't hurt it's just if it can be set up or not which may be reliant on a extension and that would require Crosire to weigh in on how to proceed and if it's something to pursue or if it's something solvable in a different way, maybe it could even work without it and that's just for getting some actual data dumps and more in-depth analysis of the situation like a mini dump of sorts or detailed crash report. :)



Well that was lengthy, not the easiest to try and explain without making a complete text wall and various ideas and theories and how I'm hoping it will work but I'll do some further testing as well but I think I'm fairly out of my element here and there's so many possibilities and steps where any one thing could be what is causing a break after all. (Swap chain, depth and other buffers, the ReShade shader creation, initializing the render window or various VLK methods of creating this and then drivers and specific extensions relied on and yeah it quickly gets very complicated without going in with a debugger or trying to capture a trace or snap of the software as it acts up.)


EDIT: Oof that's a wall of text alright, will be fun once Vulkan is ready but it's going to be a bit longer though since there are some success reports as well it's getting there, just fixing the rest that is going to be a process and yeah time and back and forth and whatever this issue or issues will eventually be tracked down to what's the core fault here.



EDIT:
Come to think of it AMD is also drawing upon the usage of 16 bit and half precision for performance gains though it might mean nothing even if ReShade doesn't support FP16 but it's a thing for Vega and newer compatible cards as part of Vulkan via extension support or custom for D3D11 like in Far Cry 5 but it might be nothing and wouldn't affect anything for ReShade though I can see these two extensions when digging into Wolfenstein Youngblood.

www.khronos.org/registry/vulkan/specs/1....pu_shader_half_float
www.khronos.org/registry/vulkan/specs/1....AMD_gpu_shader_int16

NVIDIA has a few too but the main one here is for variable rate shading on the Turing cards for the 2000 series.
www.khronos.org/registry/vulkan/specs/1....V_shading_rate_image


Probably nothing, would be overly complicated if the layer software needed to draw support from whatever the title using Vulkan used this or that so yeah.
Last Edit: 3 weeks 6 days ago by JBeckman.
The administrator has disabled public write access.

3.1 3 weeks 6 days ago #1080

Emmm I did't see the reshade ui on NMS at all, but there is a reshade64.log, I can sure I started the game with that bat
16:05:34:930 [12244] | INFO  | Initializing crosire's ReShade version '4.3.1.228' (64-bit) built on '2019-08-11 19:30:33' loaded from "J:\SteamLibrary\steamapps\common\No Man's Sky\Binaries\ReShade64.dll" to "J:\SteamLibrary\steamapps\common\No Man's Sky\Binaries\NMS.exe" ...
16:05:35:051 [12244] | INFO  | Registering hooks for "user32.dll" ...
16:05:35:051 [12244] | INFO  | > Libraries loaded.
16:05:35:051 [12244] | INFO  | > Found 13 match(es). Installing ...
16:05:35:082 [12244] | INFO  | Registering hooks for "ws2_32.dll" ...
16:05:35:082 [12244] | INFO  | > Libraries loaded.
16:05:35:082 [12244] | INFO  | > Found 8 match(es). Installing ...
16:05:35:112 [12244] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d9.dll" ...
16:05:35:113 [12244] | INFO  | > Delayed.
16:05:35:113 [12244] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d10.dll" ...
16:05:35:113 [12244] | INFO  | > Delayed.
16:05:35:113 [12244] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d10_1.dll" ...
16:05:35:113 [12244] | INFO  | > Delayed.
16:05:35:113 [12244] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d11.dll" ...
16:05:35:113 [12244] | INFO  | > Delayed.
16:05:35:113 [12244] | INFO  | Registering hooks for "C:\WINDOWS\system32\d3d12.dll" ...
16:05:35:114 [12244] | INFO  | > Delayed.
16:05:35:114 [12244] | INFO  | Registering hooks for "C:\WINDOWS\system32\dxgi.dll" ...
16:05:35:114 [12244] | INFO  | > Libraries loaded.
16:05:35:114 [12244] | INFO  | > Found 7 match(es). Installing ...
16:05:35:144 [12244] | INFO  | Registering hooks for "C:\WINDOWS\system32\opengl32.dll" ...
16:05:35:144 [12244] | INFO  | > Delayed.
16:05:35:144 [12244] | INFO  | Initialized.
16:05:35:160 [12244] | INFO  | Redirecting vkCreateInstance(000000916B4FF850, 0000000000000000, 000000916B4FF9B0) ...
16:05:37:010 [12244] | INFO  | Redirecting vkCreateWin32SurfaceKHR(000001EE78DCFF00, 000000916B4FED80, 0000000000000000, 00007FF6C96C95D0) ...
16:05:37:011 [12244] | INFO  | Redirecting vkEnumeratePhysicalDevices(000001EE78DCFF00, 000000916B4FCE40, 0000000000000000) ...
16:05:37:011 [12244] | INFO  | Redirecting vkEnumeratePhysicalDevices(000001EE78DCFF00, 000000916B4FCE30, 000001EE7C190458) ...
16:05:37:011 [12244] | INFO  | Redirecting vkEnumeratePhysicalDevices(000001EE78DCFF00, 000000916B4FCE40, 0000000000000000) ...
16:05:37:011 [12244] | INFO  | Redirecting vkEnumeratePhysicalDevices(000001EE78DCFF00, 000000916B4FCE30, 000001EE7C190498) ...
16:05:37:020 [12244] | INFO  | Redirecting vkCreateDevice(000001EE77ADE2C0, 000000916B4FCD80, 0000000000000000, 000000916B4FCD20) ...
16:05:37:568 [21880] | INFO  | Installing delayed hooks for "C:\WINDOWS\system32\opengl32.dll" (Just loaded via LoadLibrary("gdi32")) ...
16:05:37:568 [21880] | INFO  | > Found 360 match(es). Installing ...
16:05:37:618 [21880] | INFO  | Redirecting wglSetPixelFormat(0000000017013047, 8, 00007FF9EAD119F0) ...
The administrator has disabled public write access.