hardware AMD Vega 8
1. This is not hardware bug, why - because this shader work without problems in same AMD hardware in OpenGL.
2. This bug does ruin all if/else/for loops/etc inside of loops and this can not be fixed by code.
3. Bug ruin any shader whole logic, Vulkan return "Device lost" or "Wait for fence failed" errors.
4. Example application(exe) download link with this shader.
Bug(GLSL shader code):
void AMD_loop_bug() {
for (int k = 0 ; k < 1; k++) {
for (int i = 0 ; i < 1; i++) {
if(i<1000)break; //FIRST part of bug
for (int j = 0 ; j < 1; j++) {
if (true)return; //SECOND part of bug
}
}
if (true)break; //THIRD part of bug, comment any of parts and bug gone
}
}
call AMD_loop_bug() from any shader, and it will ruin application.
This bug ruin my big shader logic shadertoy link, this shader work only in OpenGL mode in AMD...
Vulkan version link can not be launched in AMD because of this bug. (it launched and work for first 5 sec, till shader loop logic start)
Solved! Go to Solution.
Fixed in latest Adrenalin 21.5.1
My shaders that were original source of this bugreport and freeze AMD GPU now work fine, with very good performance for some reason.
Update test results, people test this code on:
Bug exist:
Im myself test it on two PC wth AMD Vega 8 (Ryzen 3 3200)
people test on rx480, rx560, r9 290
Bug not work:
for some reason this bug does not work on Ryzen 5 2500u Vega 8
Yes, I confirm AMD RX 560
Fixed in latest Adrenalin 21.5.1
My shaders that were original source of this bugreport and freeze AMD GPU now work fine, with very good performance for some reason.