[Bug 105770] GPU hangs if a shader uses a barrier and a single-plane rep of a multiplane image

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Mar 29 03:20:49 UTC 2018


--- Comment #4 from atomnuker at gmail.com ---
I did some more testing and tried the latest mesa git (025105453a807a76754c6)
I think I know what causes it. Seems like even the simplest of cases can crash
the GPU:

#version 460

layout (local_size_x = 16, local_size_y = 16, local_size_z = 1) in;
layout (set = 0, binding = 0, rgba8) uniform readonly image2D input_img;

void main()
    ivec2 pos = ivec2(gl_GlobalInvocationID.xy);
    if (pos.y < imageSize(input_img).y)

Image resolution is 1280x720. input_img contains plane 1, which is 640x360
(input image has 420 subsampling). I dispatch 40x23x1 workgroups, each with a
size of 16x16x1.
If I use (pos.x < imageSize(input_img).x), the shader runs fine. If I remove
the condition and always run the barrier, the shader runs fine.
However, if I dispatch 40x22x1 workgroups (1 less vertically), the shader also
runs fine.
So the issue seems to be that not running the barrier() on a workgroup which
has local position outside of the plane's dimensions (when the plane is a
single-plane rep of a multiplane image) but running the barrier() in all other
cases, is somehow what makes the GPU crash.

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

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