[Bug 110228] [cfl] GPU hang when running UE4Editor

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Apr 25 14:44:49 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=110228

--- Comment #23 from Danylo <danylo.piliaiev at gmail.com> ---
Created attachment 144093
  --> https://bugs.freedesktop.org/attachment.cgi?id=144093&action=edit
standalone hang reproducer

I found a compute shader which hangs GPU, reduced it and made a standalone
reproducer.

Warning: It will hang the system with hard reset being the only solution (I
think it could be classified as a bug because I don't think it should hang so
badly).

Shader itself is small and simple:

#version 430
layout(local_size_x = 4, local_size_y = 4, local_size_z = 4) in;
layout(binding = 0) uniform usamplerBuffer StartOffsetGrid; // length 12160
layout(binding = 1, r32ui) uniform uimageBuffer RWNextCulledLightData; 
void main()
{
    if (all(lessThan(gl_GlobalInvocationID, uvec3(19, 10, 32)))) {
        uint u0 = (((gl_GlobalInvocationID.z * uint(10)) +
gl_GlobalInvocationID.y) * uint(19)) + 32;
        uint u7 = 6000 + u0; // change to 5000 and there hang will go away
        uint u11 = texelFetch(StartOffsetGrid, int(u7)).x;
        uint _225 = imageAtomicAdd(RWNextCulledLightData, 0, u11);
    }
} 

StartOffsetGrid and RWNextCulledLightData point to the same buffer with
RWNextCulledLightData starting right after StartOffsetGrid.

However I'm not able to identify the cause. Change "6000 + u0" to "5000 + u8"
and there will be no hang, in both cases the index will be inside the buffer.

So I need additional help here.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20190425/fab237a4/attachment.html>


More information about the intel-3d-bugs mailing list