Closed Vihior3 closed 1 year ago
Hi Vihior3,
Thanks for reporting this - it seems like a possible driver/compiler issue.
Regarding the driver crash - Is there an executable that you can point us to which can be used to reproduce this behavior?
In addition, can you please share the RGA pipeline state file that you are using with your shader? You should be able to find it under the Clone0 subfolder of your project folder (generated under %DOCUMENTS%/RadeonGPUAnalyzer/Projects).
Yes, the pipeline state file can be found in this link: https://drive.google.com/file/d/1HtWWxV9p3OpiIEDbax37aKuOmYYGF_33/view?usp=sharing
And a small visual studio project that tries to create a pipeline (and crashes) can be found in this link: https://drive.google.com/file/d/15WyaznAkIJcsjopBQN6eOS_ob928ZmXt/view?usp=sharing
Note that the project will crash in amdvlk64.dll on RDNA (with the drivers I mentioned) otherwise it will print "Pipeline successfully created!!".
Thank you for the details - the issue will be investigated.
Hi Vihior3,
A driver fix has been pushed - it will be delivered in an upcoming Adrenalin Software release.
Thanks again for reporting this issue.
Glad to hear that and glad to help :) Looking forward to removing some workarounds for this issue.
Hi Vihior3,
The latest Adrenalin Software release should include a fix for this issue.
Can you please confirm that this is resolved for you?
This compute shader compiles successfully with the latest Adrenalin Software installed.
Hi, I am part of a company that is developing a vulkan application and noticed that some specific shader code causes amdvlk64.dll to crash on RDNA but not other architectures. In RGA this just fails online mode and has to revert to offline. I already posted about this in the AMD community developer forum but it was suggested that this could be a better place for this issue.
The troublesome code involves sampling the same shader twice but in different places and using nonuniformEXT without changing the index it uses. This shader will trigger that behavior for example.
RGA will create this output for this shader with gfx1030 and gfx906 selected, I just want to demonstrate that it works on older architectures:
I didn't use my systems driver here but I get the same behavior on the latest recommended driver (20.11.2) and the latest optional (20.12.1). However this used to work on drivers that are older than that and it also runs on nvidia cards.
Something else that is interesting is that having the VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT flag in VkComputePipelineCreateInfo resolves the issue.