cancel
Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

danilw
Adept II

AMD Vulkan driver SPIR-V shader Very critical bug

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)

0 Likes
1 Solution
danilw
Adept II

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.

View solution in original post

0 Likes
3 Replies
danilw
Adept II

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

0 Likes

Yes, I confirm AMD RX 560

0 Likes
danilw
Adept II

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.

0 Likes