I have hit a scenario where combining indexing into an array of samplers in a dynamic and non-uniform fashion (allowed via the EXT_descriptor_indexing extension) in combination with a fragment shader making use of the discard
statement will systematically cause an application crash due to a lost device on AMD GCN graphics hardware on Windows.
I believe this is due to a driver bug and have taken steps to isolate the problem, I do not have the technical expertise to claim this is absolutely a driver bug and not some wrong-doing on my part, but I have great confidence my program is following the Vulkan specification to the letter and my usage is valid.
I have managed to isolate the problem and can cause it to happen 100% of the time. Here is a github repo containing the binaries and exact shader configuration to trigger this issue.
I've included more precisions inside the readme of that repo
GitHub - Hugobros3/potential-amd-vk-driver-crash
I am available for any precision or follow-up questions about the problem
Hi gobrosse,
Thank you for reporting the problem. I'm moving this thread to our Vulkan forum here: OpenGL & Vulkan.
Also you have been whitelisted now.
Thanks.
Hello, would you please provide more info for us to investigate the problem:
1. Driver version? Are you using the latest release version? If not, could you try the latest version ? We had a fix for issues related to 'discard' statement in recent driver releases.
2. Graphics Card Model
3. OS version,etc.
Hi, my setup information was provided inside the readme of the linked github repo, along a lot more details than my post contains ( re posting it all here seemed a bit much ). Sorry to not have made it more obvious, but I am indeed using the latest drivers, here's the relevant quote (it's at the end of the readme, in the "further informations" section:
I am using Vulkan 1.1.70 on the latest Adrenalin drivers (18.12.1.1) with a Saphire RX 580 4GB on Windows 8.1, running on a a Ryzen 1700 at stock clocks.
I'll add I'm using the Windows 7 variant of the drivers, but I have reproduced the problem on a 2400G Windows 10 machine, along with a few people on various graphics-programming related communities
Thank you for your input, we will look into this problem. One more question, is this a regression problem, ie some previous driver release works well with the same application? If you do have the regression information, please let us know. Thanks.
The 2400G system I also tested this on is still on 18.8.1, and the problem there seem identical. I'll ask the people who run my reproduction code what driver versions they're on.
So I'm pretty sure my bug report had nothing to do with this looking at the timing, but it looks like today's driver update ( 18.12.2 ) did the trick and solved the problem for the time being. Thanks about that !
Great!
Thank you for your input to help us improve our software and products.